diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml index fb8a2c1bb..f49e6f848 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/deploy.yml @@ -15,10 +15,17 @@ jobs: env: NODE_OPTIONS: '--max_old_space_size=4096' steps: + - name: Generate Github Token for CI Bot + uses: actions/create-github-app-token@v1 + id: generate-token + with: + app-id: ${{ secrets.CI_APP_ID }} + private-key: ${{ secrets.CI_APP_PRIVATE_KEY }} + - name: Checkout code uses: actions/checkout@v4 with: - token: ${{ secrets.GH_ACTIONS_REPO_PAT }} + token: ${{ steps.generate-token.outputs.token }} - name: Use Node.js uses: actions/setup-node@v4 @@ -33,6 +40,6 @@ jobs: - name: Deploy run: | git remote set-url origin https://git:${GITHUB_TOKEN}@github.com/${{github.repository}}.git - npm run deploy -- -u "github-actions-bot " + npm run deploy -- -u "livecodes-ci[bot] <186997172+livecodes-ci[bot]@users.noreply.github.com>" env: - GITHUB_TOKEN: ${{ secrets.GH_ACTIONS_REPO_PAT }} + GITHUB_TOKEN: ${{ steps.generate-token.outputs.token }} diff --git a/.github/workflows/i18n-update-scheduled.yml b/.github/workflows/i18n-update-scheduled.yml index 8f5a923b8..5c411b2aa 100644 --- a/.github/workflows/i18n-update-scheduled.yml +++ b/.github/workflows/i18n-update-scheduled.yml @@ -62,24 +62,24 @@ jobs: - name: Install dependencies run: npm ci - - name: Linting and fixing - run: npm run fix + # - name: Linting and fixing + # run: npm run fix - - name: Commit changes - run: | - git add . + # - name: Commit changes + # run: | + # git add . - # Only commit if there are changes - git diff-index --quiet HEAD || git commit -m "i18n: update source texts" + # # Only commit if there are changes + # git diff-index --quiet HEAD || git commit -m "i18n: update source texts" - # Save SHA of the latest commit to English locale - echo "LAST_COMMIT_SHA_PUSH=$(git log -n 1 --format="%H" -- src/livecodes/i18n/locales/en)" >> $GITHUB_ENV + # # Save SHA of the latest commit to English locale + # echo "LAST_COMMIT_SHA_PUSH=$(git log -n 1 --format="%H" -- src/livecodes/i18n/locales/en)" >> $GITHUB_ENV - - name: Push changes - run: git push origin $BRANCH + # - name: Push changes + # run: git push origin $BRANCH - - name: Push source texts to Lokalise - run: npm run i18n-update-push -- $LOKALISE_BRANCH + # - name: Push source texts to Lokalise + # run: npm run i18n-update-push -- $LOKALISE_BRANCH - name: Import from Lokalise run: | @@ -112,6 +112,8 @@ jobs: echo "SKIP=true" >> $GITHUB_ENV fi + echo "LAST_COMMIT_SHA_PUSH=$(git log -n 1 --format="%H" -- src/livecodes/i18n/locales/en)" >> $GITHUB_ENV + - name: Create a new i18n PR if not exists uses: actions/github-script@v7 if: steps.check-diff.outputs.SKIP != 'true' diff --git a/.github/workflows/release-pr.yml b/.github/workflows/release-pr.yml index 81f856f23..5cc831d1c 100644 --- a/.github/workflows/release-pr.yml +++ b/.github/workflows/release-pr.yml @@ -7,10 +7,17 @@ jobs: runs-on: ubuntu-latest if: contains(github.ref, 'refs/heads/releases/') steps: + - name: Generate Github Token for CI Bot + uses: actions/create-github-app-token@v1 + id: generate-token + with: + app-id: ${{ secrets.CI_APP_ID }} + private-key: ${{ secrets.CI_APP_PRIVATE_KEY }} + - name: Checkout code uses: actions/checkout@v4 with: - token: ${{ secrets.GH_ACTIONS_REPO_PAT }} + token: ${{ steps.generate-token.outputs.token }} - name: Get version id: vars @@ -19,4 +26,4 @@ jobs: - name: Create pull request to develop run: gh pr create --title "Prepare release ${{steps.vars.outputs.version}}" --body "Prepare release ${{steps.vars.outputs.version}}" --base develop --head "${{github.ref_name}}" env: - GITHUB_TOKEN: ${{ secrets.GH_ACTIONS_REPO_PAT }} + GITHUB_TOKEN: ${{ steps.generate-token.outputs.token }} diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index cf38f9a65..ac8892ef9 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -16,10 +16,17 @@ jobs: env: NODE_OPTIONS: '--max_old_space_size=4096' steps: + - name: Generate Github Token for CI Bot + uses: actions/create-github-app-token@v1 + id: generate-token + with: + app-id: ${{ secrets.CI_APP_ID }} + private-key: ${{ secrets.CI_APP_PRIVATE_KEY }} + - name: Checkout code uses: actions/checkout@v4 with: - token: ${{ secrets.GH_ACTIONS_REPO_PAT }} + token: ${{ steps.generate-token.outputs.token }} - name: Get version id: vars @@ -64,7 +71,7 @@ jobs: files: | livecodes-${{steps.vars.outputs.version}}.tar.gz livecodes-${{steps.vars.outputs.version}}.zip - token: ${{ secrets.GH_ACTIONS_REPO_PAT }} + token: ${{ steps.generate-token.outputs.token }} - name: Create permanent URL if: startsWith(github.head_ref, 'releases/v') @@ -88,10 +95,10 @@ jobs: if: startsWith(github.head_ref, 'releases/v') run: gh pr create --title "release ${{steps.vars.outputs.version}}" --body "https://${{steps.vars.outputs.version}}.livecodes.io" --base main --head develop env: - GITHUB_TOKEN: ${{ secrets.GH_ACTIONS_REPO_PAT }} + GITHUB_token: ${{ steps.generate-token.outputs.token }} - name: Create pull request to main (SDK) if: startsWith(github.head_ref, 'releases/sdk-v') run: gh pr create --title "release ${{steps.vars.outputs.version}}" --body "https://www.npmjs.com/package/livecodes" --base main --head develop env: - GITHUB_TOKEN: ${{ secrets.GH_ACTIONS_REPO_PAT }} + GITHUB_token: ${{ steps.generate-token.outputs.token }} diff --git a/README.md b/README.md index 04f67bf23..b7c70a517 100644 --- a/README.md +++ b/README.md @@ -17,7 +17,8 @@ A [feature-rich](https://livecodes.io/docs/features/), open-source, **client-sid [![LiveCodes: jsdelivr downloads](https://data.jsdelivr.com/v1/package/npm/livecodes/badge?style=rounded)](https://www.jsdelivr.com/package/npm/livecodes) [![LiveCodes: languages](https://img.shields.io/badge/languages-91-blue)](https://livecodes.io/docs/languages/) [![Codacy Badge](https://app.codacy.com/project/badge/Grade/3d39f15618e048db9d13c2a0e8002b33)](https://www.codacy.com/gh/live-codes/livecodes/dashboard?utm_source=github.com&utm_medium=referral&utm_content=live-codes/livecodes&utm_campaign=Badge_Grade) -[![LiveCodes: i18n on Lokalise](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/live-codes/lokalise-badge/main/badge.json)](https://app.lokalise.com/public/34958094667a72e9454592.95108106/) +[![Lokalise: translated](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/live-codes/lokalise-badge/main/badges/translated.json)](https://app.lokalise.com/public/34958094667a72e9454592.95108106/) +[![Lokalise: UI languages](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/live-codes/lokalise-badge/main/badges/languages.json)](https://app.lokalise.com/public/34958094667a72e9454592.95108106/) [![license - MIT](https://img.shields.io/github/license/live-codes/livecodes)](https://github.com/live-codes/livecodes/blob/develop/LICENSE) [![LiveCodes: GitHub repo](https://img.shields.io/github/stars/live-codes/livecodes?style=social)](https://github.com/live-codes/livecodes) @@ -266,6 +267,11 @@ LiveCodes uses services that are generously provided by:

+ + Netlify +

+

+

SonarCloud

diff --git a/docs/docs/contribution/i18n.md b/docs/docs/contribution/i18n.md index 3c3c541d7..f13e2ddcc 100644 --- a/docs/docs/contribution/i18n.md +++ b/docs/docs/contribution/i18n.md @@ -168,6 +168,8 @@ Several npm scripts are available to facilitate the i18n workflow: - [`i18n-exclude`](../../../scripts/i18n-exclude.js): **(Only used in other scripts and should not be run locally)** Excludes all other i18n locales except for English from type checking, as they might stay outdated and cause errors. - The `` argument is required to specify whether the script is to exclude files or revert the exclusion. Valid values are `pre` and `post`. - This script only works when environment variable `BUILD_INCLUDE_LOCALES` is **NOT** set to `true`. +- [`i18n-lokalise-json`](../../../scripts/i18n-lokalise-json.mjs): Generates `.lokalise.json` files from codebase for manually authoring translations on Lokalise. + - The `` argument is required to specify the language that the `.lokalise.json` files are generated from. Please run `i18n-export` before pushing changes to the codebase to ensure that the source texts are up-to-date. @@ -183,7 +185,11 @@ We consider the i18n process to consist of two parts: This means there are no changes to the source code/texts, only translations are updated. Adding new languages or updating existing translations are examples of this part. -In such cases, there is a scheduled workflow [`i18n-update-scheduled`](../../../.github\workflows\i18n-update-scheduled.yml) to handle this. The workflow will sync between the `master` branch on Lokalise and the `i18n/develop` branch on the codebase, then automatically create a PR if there are any changes. Basically, maintainers do not need to pay too much attention to this part except for reviewing the PRs. +In such cases, there is a scheduled workflow [`i18n-update-scheduled`](../../../.github/workflows/i18n-update-scheduled.yml) to handle this. The workflow will sync from the `master` branch on Lokalise to the `i18n/develop` branch on the codebase, then automatically create a PR if there are any changes. + +Basically, maintainers only need to focus on the following for this part: +- Reviewing PRs created by the `i18n-update-scheduled` workflow +- Do merging on Lokalise after they consider the translation for a specific feature is ready, before commenting `.i18n-update-pull` to trigger the `i18n-update-pull` workflow #### Source Update @@ -193,18 +199,18 @@ This means new changes are made to the source code/texts. In this case, maintain 2. Once a new feature or version is ready, developers run `npm run i18n-export` to extract and update all marked strings, then export them to `.lokalise.json` and `.ts` files. 3. Developers commit and push the changes to the repository. A feature PR is created and reviewed, and related tests, checks, and manual review could be carried out. 4. After the PR is merged, an auto-generated comment will notify maintainers to comment `.i18n-update-push` to trigger the `i18n-update-push` workflow when they think it is ready. -5. Maintainers comment `.i18n-update-push` to trigger the `i18n-update-push` workflow. The workflow will create a new branch named `i18n/`, run `npm run i18n-export` again to ensure the source texts are up-to-date, and push the changes. Then, it will push the changes to the `i18n/` branch on Lokalise. +5. Maintainers comment `.i18n-update-push` to trigger the `i18n-update-push` workflow. The workflow will create a new branch named `i18n//`, run `npm run i18n-export` again to ensure the source texts are up-to-date, and push the changes. Then, it will push the changes to the `i18n//` branch on Lokalise. 6. Translators can start translating the texts on Lokalise. -7. Once the translation is complete, maintainers can comment `.i18n-update-pull` to trigger the `i18n-update-pull` workflow. The workflow will pull the translated texts from Lokalise, update the `.ts` files under `src/livecodes/i18n/locales`, and commit the changes to the `i18n/` branch. Then, it will create a PR to merge the changes back to the default branch `develop`. -8. Maintainers should perform a final review on the i18n PR and merge it if everything is fine. +7. Once the translation is complete, maintainers can comment `.i18n-update-pull` to trigger the `i18n-update-pull` workflow. The workflow will pull the translated texts from Lokalise, update the `.ts` files under `src/livecodes/i18n/locales`, and commit the changes to the `i18n//` branch. Then, it will create a PR to merge the changes back to the default branch `develop`. +8. Maintainers should perform a final review on the i18n PR and merge it if everything is fine. Meanwhile, a merging from the `i18n//` to `master` should also be done to keep the `master` branch on Lokalise up-to-date. ### Github Actions (CI) Four i18n-related workflows are set up in the repository: - [`i18n-update-notify`](../../../.github\workflows\i18n-update-notify.yml): Creates a comment on merged PRs to notify maintainers to trigger the `i18n-update-push` workflow. -- [`i18n-update-push`](../../../.github\workflows\i18n-update-push.yml): Creates a new branch named `i18n/`, runs `npm run i18n-export` again to ensure the source texts are up-to-date, pushes the changes on git, then pushes the changes to the `i18n/` branch on Lokalise. -- [`i18n-update-pull`](../../../.github\workflows\i18n-update-pull.yml): Pulls the translated texts from Lokalise, updates the `.ts` files under `src/livecodes/i18n/locales`, commits the changes to the `i18n/` branch, then creates a PR to merge the changes back to the default branch `develop`. +- [`i18n-update-push`](../../../.github\workflows\i18n-update-push.yml): Creates a new branch named `i18n//`, runs `npm run i18n-export` again to ensure the source texts are up-to-date, pushes the changes on git, then pushes the changes to the `i18n//` branch on Lokalise. +- [`i18n-update-pull`](../../../.github\workflows\i18n-update-pull.yml): Pulls the translated texts from Lokalise, updates the `.ts` files under `src/livecodes/i18n/locales`, commits the changes to the `i18n//` branch, then creates a PR to merge the changes back to the default branch `develop`. - [`i18n-update-scheduled`](../../../.github\workflows\i18n-update-scheduled.yml): Syncs between the `master` branch on Lokalise and the `i18n/develop` branch on the codebase, then automatically creates a PR if there are any changes. ### Hashing and Cache @@ -225,8 +231,15 @@ File hashing is also applied to translation files during build, by auto-generati ## For Those Who Forked the Repo -To ensure the i18n workflow functions properly, `Workflow permissions` in `Settings > Actions > General` should be set to `Read and write permissions`, and make sure that `Allow GitHub Actions to create and approve pull requests` is enabled. +This repository is utilizing [LiveCodes CI](https://github.com/apps/livecodes-ci) Github App to ensure the i18n workflow functions properly. + +For forked repositories, maintainers should set up their own Lokalise project and Github App (see [here](https://github.com/peter-evans/create-pull-request/blob/main/docs/concepts-guidelines.md#authenticating-with-github-app-generated-tokens)) to handle the i18n workflow. Changes to related workflow files are necessary. -`LOKALISE_API_TOKEN` should be set as a repository secret, while `LOKALISE_PROJECT_ID` should be set as a repository variable. +### Secrets and Variables Checklist +#### Repository Secrets +- `LOKALISE_API_TOKEN` +- `CI_APP_ID` +- `CI_APP_PRIVATE_KEY` -For private forks, `GITHUB_TOKEN` in workflow files should be set to a personal access token (PAT) with proper permissions. +#### Repository Variables +- `LOKALISE_PROJECT_ID` diff --git a/docs/docs/credits.md b/docs/docs/credits.md index 3942d3d25..d4613cb40 100644 --- a/docs/docs/credits.md +++ b/docs/docs/credits.md @@ -45,6 +45,11 @@ LiveCodes uses services that are generously provided by:

+ + Netlify + +

+

SonarCloud diff --git a/docs/static/img/credits/netlify.svg b/docs/static/img/credits/netlify.svg new file mode 100644 index 000000000..59d23e02b --- /dev/null +++ b/docs/static/img/credits/netlify.svg @@ -0,0 +1,134 @@ + + diff --git a/src/livecodes/i18n/locales/ar/language-info.ts b/src/livecodes/i18n/locales/ar/language-info.ts index a7107e76c..2ed29971c 100644 --- a/src/livecodes/i18n/locales/ar/language-info.ts +++ b/src/livecodes/i18n/locales/ar/language-info.ts @@ -5,397 +5,396 @@ import type { I18nLangInfoTranslation } from '../models'; const languageInfo: I18nLangInfoTranslation = { artTemplate: { desc: 'محرك قوالب جافا سكريبت عالي الأداء.', - link: '<1> الموقع الرسمي لـ art-template وثائق art-template ', + link: '<1> <2>الموقع الرسمي لـ art-template <3> <4>وثائق art-template ', name: 'art-template', }, asciidoc: { desc: 'AsciiDoc مترجم إلى HTML باستخدام Asciidoctor.', - link: '<1> الموقع الرسمي لـ AsciiDoc الموقع الرسمي لـ Asciidoctor وثائق Asciidoctor تعلم X في Y دقائق، حيث X=asciidoc ', + link: '<1> <2>الموقع الرسمي لـ AsciiDoc <3> <4>الموقع الرسمي لـ Asciidoctor <5> <6>وثائق Asciidoctor <7> <8>تعلم X في Y دقائق، حيث X=asciidoc ', name: 'AsciiDoc', }, assemblyscript: { desc: 'لغة شبيهة بـ TypeScript لـ WebAssembly.', - link: '<1> الموقع الرسمي لـ AssemblyScript وثائق AssemblyScript تحميل القالب الأولي ', + link: '<1> <2>الموقع الرسمي لـ AssemblyScript <3> <4>وثائق AssemblyScript <5> <6>تحميل القالب الأولي ', name: 'AssemblyScript', }, astro: { desc: 'بناء مواقع ويب أسرع مع جافاسكريبت أقل على جانب العميل. (لا يزال في مرحلة بيتا)', - link: '<1> الموقع الرسمي لـ Astro وثائق Astro تحميل القالب الأولي ', + link: '<1> <2>الموقع الرسمي لـ Astro <3> <4>وثائق Astro <5> <6>تحميل القالب الأولي ', name: 'Astro', }, babel: { desc: 'مترجم جافاسكريبت', - link: '<1>الموقع الرسمي وثائق Babel ', + link: '<1><2>الموقع الرسمي <3> <4>وثائق Babel ', name: 'Babel', }, bbcode: { desc: 'BBCode ("رمز لوحة الإعلانات") هي لغة ترميز خفيفة تستخدم لتنسيق الرسائل في العديد من برامج منتديات الإنترنت.', - link: '<1>bbcode.org دليل BBCode BBCode على ويكيبيديا ', + link: '<1><2>bbcode.org <3> <4>دليل BBCode <5> <6>BBCode على ويكيبيديا ', name: 'BBCode', }, blockly: { desc: 'مكتبة جافاسكريبت لبناء محررات البرمجة المرئية.', - link: '<1> الموقع الرسمي الأدلة المرجع النماذج تحميل القالب الأولي ', + link: '<1> <2>الموقع الرسمي <3> <4>الأدلة <5> <6>المرجع <7> <8>النماذج <9> <10>تحميل القالب الأولي ', name: 'Blockly', }, civet: { desc: 'Civet هي لغة برمجة تترجم إلى TypeScript أو JavaScript، لذا يمكنك استخدام الأدوات الموجودة ولكن مع تمكين بناء جملة قوي وموجز.', - link: '<1> الموقع الرسمي لـ Civet ورقة الغش لـ Civet تحميل القالب الأولي ', + link: '<1> <2>الموقع الرسمي لـ Civet <3> <4>ورقة الغش لـ Civet <5> <6>تحميل القالب الأولي ', name: 'Civet', }, clio: { desc: 'Clio هي لغة برمجة وظيفية سريعة وموزعة تترجم إلى JavaScript.', - link: '<1> الموقع الرسمي لـ Clio وثائق Clio تحميل القالب الأولي ', + link: '<1> <2>الموقع الرسمي لـ Clio <3> <4>وثائق Clio <5> <6>تحميل القالب الأولي ', name: 'Clio', }, clojurescript: { - desc: 'ClojureScript هو مترجم لـ <1>Clojure يستهدف JavaScript. في LiveCodes، يعمل في المتصفح باستخدام Cherry.', - link: '<1> الموقع الرسمي لـ ClojureScript الموقع الرسمي لـ Clojure مستودع Cherry تعلم X في Y دقائق، حيث X=clojure وثائق LiveCodes تحميل القالب الأولي ', + desc: 'ClojureScript هو مترجم لـ <1>Clojure يستهدف JavaScript. <2>في LiveCodes، يعمل في المتصفح باستخدام <3>Cherry.', + link: '<1> <2>الموقع الرسمي لـ ClojureScript <3> <4>الموقع الرسمي لـ Clojure <5> <6>مستودع Cherry <7> <8>تعلم X في Y دقائق، حيث X=clojure <9> <10>وثائق LiveCodes <11> <12>تحميل القالب الأولي ', name: 'ClojureScript (CLJS)', }, coffeescript: { desc: 'جافاسكريبت بسيطة.', - link: '<1> الموقع الرسمي لـ CoffeeScript تعلم X في Y دقائق، حيث X=coffeescript تحميل القالب الأولي ', + link: '<1> <2>الموقع الرسمي لـ CoffeeScript <3> <4>تعلم X في Y دقائق، حيث X=coffeescript <5> <6>تحميل القالب الأولي ', name: 'CoffeeScript', }, commonlisp: { desc: 'تطبيق Common Lisp على جافاسكريبت باستخدام JSCL (مترجم Lisp إلى جافاسكريبت مبني ذاتيًا من Common Lisp).', - link: '<1> Common-Lisp.net مشروع JSCL موارد Common Lisp تعلم X في Y دقائق، حيث X=Common Lisp تحميل القالب الأولي ', + link: '<1> <2>Common-Lisp.net <3> <4>مشروع JSCL <5> <6>موارد Common Lisp <7> <8>تعلم X في Y دقائق، حيث X=Common Lisp <9> <10>تحميل القالب الأولي ', name: 'Common Lisp', }, cpp: { desc1: 'دعم C++ باستخدام JSCPP (مترجم C++ بسيط مكتوب بلغة JavaScript).', - desc2: - 'إنه ليس تطبيقًا كاملاً لـ C++. يرجى الرجوع إلى <1>وثائق JSCPP للحصول على التفاصيل.', - link: '<1> مؤسسة C++ القياسية JSCPP تعلم X في Y دقائق، حيث X=C++ تحميل القالب الأولي ', + desc2: 'إنه ليس تطبيقًا كاملاً لـ C++. يرجى الرجوع إلى <1>وثائق JSCPP للحصول على التفاصيل.', + link: '<1> <2>مؤسسة C++ القياسية <3> <4>JSCPP <5> <6>تعلم X في Y دقائق، حيث X=C++ <7> <8>تحميل القالب الأولي ', name: 'C++', }, cppWasm: { - desc: 'مترجم Clang C/C++ يعمل على WebAssembly، باستخدام <1>wasm-clang المعدل بواسطة polylang.io.', - link: '<1> مؤسسة C++ القياسية الموقع الرسمي لـ Clang تعلم X في Y دقائق، حيث X=C++ تحميل القالب الأولي ', + desc: 'مترجم Clang C/C++ يعمل على WebAssembly، باستخدام <1>wasm-clang المعدل بواسطة <2>polylang.io.', + link: '<1> <2>مؤسسة C++ القياسية <3> <4>الموقع الرسمي لـ Clang <5> <6>تعلم X في Y دقائق، حيث X=C++ <7> <8>تحميل القالب الأولي ', name: 'C/C++ (Wasm)', }, diagrams: { desc1: '(تجريبي)', desc2: 'رسومات بيانية كبرمجة. يدعم:', desc3: - '<1> Cytoscape ELK (باستخدام elkjs) Gnuplot (باستخدام gnuplot-JS) Graphviz (باستخدام @hpcc-js/wasm) Mermaid Nomnoml Pintora Plotly Svgbob Vega VegaLite WaveDrom ', - link: '<1> تحميل القالب الأولي وثائق LiveCodes ', + '<1> <2>Cytoscape <3> <4>ELK (باستخدام <5>elkjs) <6> <7>Gnuplot (باستخدام <8>gnuplot-JS) <9> <10>Graphviz (باستخدام <11>@hpcc-js/wasm) <12> <13>Mermaid <14> <15>Nomnoml <16> <17>Pintora <18> <19>Plotly <20> <21>Svgbob <22> <23>Vega <24> <25>VegaLite <26> <27>WaveDrom ', + link: '<1> <2>تحميل القالب الأولي <3> <4>وثائق LiveCodes ', name: 'الرسومات البيانية', }, dot: { desc: 'أسرع وأكثر إيجازًا محرك قوالب جافاسكريبت لـ Node.js والمتصفحات.', - link: '<1> الموقع الرسمي وثائق LiveCodes ', + link: '<1> <2>الموقع الرسمي <3> <4>وثائق LiveCodes ', name: 'doT.js', }, ejs: { desc: 'قوالب JavaScript المضمنة.', - link: '<1>الموقع الرسمي وثائق LiveCodes ', + link: '<1><2>الموقع الرسمي <3> <4>وثائق LiveCodes ', name: 'EJS', }, eta: { desc: 'محرك قوالب JS مضمن لـ Node وDeno والمتصفح. خفيف وسريع وقابل للتوسيع. مكتوب بلغة TypeScript.', - link: '<1>الموقع الرسمي الوثائق وثائق LiveCodes ', + link: '<1><2>الموقع الرسمي <3> <4>الوثائق <5> <6>وثائق LiveCodes ', name: 'Eta', }, fennel: { desc: 'فينل هي لغة برمجة تجمع بين سرعة وبساطة ونطاق لوا مع مرونة بناء جملة ليسب ونظام الماكرو.', - link: '<1> الموقع الرسمي لفينل البدء مع فينل وثائق LiveCodes تحميل قالب البداية ', + link: '<1> <2>الموقع الرسمي لفينل <3> <4>البدء مع فينل <5> <6>وثائق LiveCodes <7> <8>تحميل قالب البداية ', name: 'Fennel', }, flow: { desc: 'فلو هو مدقق أنواع ثابت لجافا سكريبت.', - link: '<1> الموقع الرسمي لفلو وثائق فلو ', + link: '<1> <2>الموقع الرسمي لفلو <3> <4>وثائق فلو ', name: 'Flow', }, gleam: { desc1: 'جليم هي لغة ودودة لبناء أنظمة آمنة الأنواع قابلة للتوسع!', desc2: 'جليم هي لغة برمجة وظيفية ذات أنواع ثابتة، تترجم إلى إرلانج أو جافا سكريبت.', - link: '<1>موقع جليم وثائق جليم جولة في لغة جليم تحميل قالب البداية ', + link: '<1><2>موقع جليم <3> <4>وثائق جليم <5> <6>جولة في لغة جليم <7> <8>تحميل قالب البداية ', name: 'Gleam', }, go: { desc1: 'جو (جولانج) هي لغة برمجة مفتوحة المصدر تجعل من السهل بناء برمجيات بسيطة وموثوقة وفعالة.', desc2: 'هنا، يتم ترجمتها إلى جافا سكريبت باستخدام GopherJS.', - link: '<1>موقع جو وثائق جو مستودع GopherJS تعلم X في Y دقيقة، حيث X=Go تحميل قالب البداية', + link: '<1><2>موقع جو <3><4>وثائق جو <5> <6>مستودع GopherJS <7> <8>تعلم X في Y دقيقة، حيث X=Go <9><10>تحميل قالب البداية', name: 'Go', }, haml: { desc: 'مترجم Haml لقوالب العرض في جافا سكريبت على جانب العميل باستخدام clientside-haml-js.', - link: '<1>الموقع الرسمي لـ Haml وثائق Haml مستودع GitHub لـ clientside-haml-js تعلم X في Y دقيقة، حيث X=haml وثائق LiveCodes ', + link: '<1><2>الموقع الرسمي لـ Haml <3> <4>وثائق Haml <5> <6>مستودع GitHub لـ clientside-haml-js <7> <8>تعلم X في Y دقيقة، حيث X=haml <9> <10>وثائق LiveCodes ', name: 'Haml', }, handlebars: { desc: 'قوالب بسيطة على المنشطات.', - link: '<1>الموقع الرسمي وثائق LiveCodes ', + link: '<1><2>الموقع الرسمي <3> <4>وثائق LiveCodes ', name: 'Handlebars', }, imba: { desc: 'اللغة الودودة للتطوير الشامل.', - link: '<1>الموقع الرسمي', + link: '<1><2>الموقع الرسمي', name: 'Imba', }, jsx: { desc: 'يتم ترجمة JSX إلى جافا سكريبت في LiveCodes باستخدام مترجم TypeScript. افتراضيًا، يستخدم React كبيئة تشغيل JSX.', - link: '<1> الموقع الرسمي لـ React وثائق JSX في React وثائق LiveCodes تحميل قالب البداية ', + link: '<1> <2>الموقع الرسمي لـ React <3> <4>وثائق JSX في React <5> <6>وثائق LiveCodes <7> <8>تحميل قالب البداية ', name: 'JSX', }, julia: { desc1: '(دعم لغة Julia في LiveCodes لا يزال تجريبيًا)', desc2: - 'مترجم Julia وJulia Base يعملان على WASM، باستخدام <1>julia-wasm المعدل بواسطة polylang.io.', - link: '<1> الموقع الرسمي لـ Julia وثائق Julia تعلم X في Y دقيقة، حيث X=Julia تحميل قالب البداية ', + 'مترجم Julia وJulia Base يعملان على WASM، باستخدام <1>julia-wasm المعدل بواسطة <2>polylang.io.', + link: '<1> <2>الموقع الرسمي لـ Julia <3> <4>وثائق Julia <5> <6>تعلم X في Y دقيقة، حيث X=Julia <7> <8>تحميل قالب البداية ', name: 'Julia', }, less: { desc: 'إنه CSS، مع القليل من الإضافات.', - link: '<1>الموقع الرسمي لـ Less تعلم X في Y دقيقة، حيث X=less ', + link: '<1><2>الموقع الرسمي لـ Less <3> <4>تعلم X في Y دقيقة، حيث X=less ', name: 'Less', }, liquid: { desc: 'محرك قوالب بسيط ومعبر وآمن.', - link: '<1> الموقع الرسمي لـ LiquidJS وثائق LiquidJS وثائق LiveCodes ', + link: '<1> <2>الموقع الرسمي لـ LiquidJS <3> <4>وثائق LiquidJS <5> <6>وثائق LiveCodes ', name: 'LiquidJS', }, livescript: { desc: 'لغة تترجم إلى جافا سكريبت.', - link: '<1> الموقع الرسمي لـ LiveScript تعلم X في Y دقيقة، حيث X=LiveScript تحميل قالب البداية ', + link: '<1> <2>الموقع الرسمي لـ LiveScript <3> <4>تعلم X في Y دقيقة، حيث X=LiveScript <5> <6>تحميل قالب البداية ', name: 'LiveScript', }, lua: { desc: 'لوا تعمل في المتصفح باستخدام fengari-web.', - link: '<1>الموقع الرسمي للوا وثائق لوا الموقع الرسمي لـ Fengari مستودع GitHub لـ fengari-web تعلم X في Y دقيقة، حيث X=Lua وثائق LiveCodes تحميل قالب البداية', + link: '<1><2>الموقع الرسمي للوا <3> <4>وثائق لوا <5> <6>الموقع الرسمي لـ Fengari <7> <8>مستودع GitHub لـ fengari-web <9> <10>تعلم X في Y دقيقة، حيث X=Lua <11> <12>وثائق LiveCodes <13><14>تحميل قالب البداية', name: 'Lua', }, luaWasm: { desc: 'لوا تعمل في المتصفح باستخدام Wasmoon، وهي آلة افتراضية حقيقية للوا 5.4 مع ارتباطات JS مصنوعة باستخدام WebAssembly.', - link: '<1>الموقع الرسمي للوا وثائق لوا مستودع GitHub لـ Wasmoon تعلم X في Y دقيقة، حيث X=Lua وثائق LiveCodes تحميل قالب البداية ', + link: '<1><2>الموقع الرسمي للوا <3> <4>وثائق لوا <5> <6>مستودع GitHub لـ Wasmoon <7> <8>تعلم X في Y دقيقة، حيث X=Lua <9> <10>وثائق LiveCodes <11> <12>تحميل قالب البداية ', name: 'Lua (Wasm)', }, malina: { desc: 'مترجم واجهة أمامية، مستوحى من Svelte.', - link: '<1> مستودع Malina.js وثائق Malina.js تحميل القالب الأولي ', + link: '<1> <2>مستودع Malina.js <3> <4>وثائق Malina.js <5> <6>تحميل القالب الأولي ', name: 'Malina.js', }, markdown: { desc: 'Markdown مترجم إلى HTML باستخدام Marked.', - link: '<1> الموقع الرسمي لـ Markdown وثائق Marked تعلم X في Y دقائق، حيث X=markdown تحميل القالب الأولي ', + link: '<1> <2>الموقع الرسمي لـ Markdown <3> <4>وثائق Marked <5> <6>تعلم X في Y دقائق، حيث X=markdown <7> <8>تحميل القالب الأولي ', name: 'Markdown', }, mdx: { - desc: 'Markdown لعصر المكونات. <1>يتيح لك MDX كتابة JSX بسلاسة في مستندات Markdown الخاصة بك.', - link: '<1>وثائق MDX تحميل القالب الأولي', + desc: 'Markdown لعصر المكونات. <1>يتيح لك MDX كتابة JSX بسلاسة في مستندات Markdown الخاصة بك.', + link: '<1><2>وثائق MDX <3><4>تحميل القالب الأولي', name: 'MDX', }, mjml: { desc: 'MJML هي لغة ترميز مصممة لتقليل صعوبة ترميز البريد الإلكتروني المتجاوب.', - link: '<1>الموقع الرسمي لـ MJML وثائق MJML القوالب الرسمية لـ MJML وثائق LiveCodes ', + link: '<1><2>الموقع الرسمي لـ MJML <3> <4>وثائق MJML <5> <6>القوالب الرسمية لـ MJML <7> <8>وثائق LiveCodes ', name: 'MJML', }, mustache: { desc: 'قوالب بدون منطق.', - link: '<1> الموقع الرسمي دليل mustache(5) تطبيق JavaScript وثائق LiveCodes ', + link: '<1> <2>الموقع الرسمي <3> <4>دليل mustache(5) <5> <6>تطبيق JavaScript <7> <8>وثائق LiveCodes ', name: 'Mustache', }, nunjucks: { - desc: 'لغة قوالب غنية وقوية لـ JavaScript. Nunjucks هو في الأساس نسخة من <1>jinja2.', - link: '<1> الموقع الرسمي وثائق LiveCodes ', + desc: 'لغة قوالب غنية وقوية لـ JavaScript. Nunjucks هو في الأساس نسخة من <1>jinja2.', + link: '<1> <2>الموقع الرسمي <3> <4>وثائق LiveCodes ', name: 'Nunjucks', }, ocaml: { desc1: 'OCaml هي لغة برمجة صناعية تدعم الأنماط الوظيفية والإجرائية والكائنية.', desc2: 'يتم استخدام مترجم ReScript هنا لترجمة OCaml إلى JavaScript.', - link: '<1>موقع OCaml وثائق OCaml موقع ReScript تعلم X في Y دقائق، حيث X=OCaml تحميل القالب الأولي ', + link: '<1><2>موقع OCaml <3> <4>وثائق OCaml <5> <6>موقع ReScript <7> <8>تعلم X في Y دقائق، حيث X=OCaml <9> <10>تحميل القالب الأولي ', name: 'OCaml', }, perl: { desc: 'بيرل تعمل في المتصفح باستخدام Perlito.', - link: '<1> الموقع الرسمي لـ Perl وثائق Perl ملف README لـ Perlito5 تعلم X في Y دقائق، حيث X=perl تحميل القالب الأولي ', + link: '<1> <2>الموقع الرسمي لـ Perl <3> <4>وثائق Perl <5> <6>ملف README لـ Perlito5 <7> <8>تعلم X في Y دقائق، حيث X=perl <9> <10>تحميل القالب الأولي ', name: 'Perl', }, php: { desc: 'PHP تعمل في المتصفح باستخدام Uniter.', - link: '<1>الموقع الرسمي لـ PHP وثائق PHP مستودع GitHub لـ Uniter تعلم X في Y دقائق، حيث X=PHP وثائق LiveCodes تحميل القالب الأولي', + link: '<1><2>الموقع الرسمي لـ PHP <3> <4>وثائق PHP <5> <6>مستودع GitHub لـ Uniter <7> <8>تعلم X في Y دقائق، حيث X=PHP <9> <10>وثائق LiveCodes <11><12>تحميل القالب الأولي', name: 'PHP', }, phpWasm: { desc: 'PHP في المتصفح، مدعومة بـ WebAssembly، باستخدام php-wasm.', - link: '<1>الموقع الرسمي لـ PHP وثائق PHP مستودع GitHub لـ php-wasm تعلم X في Y دقائق، حيث X=PHP وثائق LiveCodes تحميل القالب الأولي ', + link: '<1><2>الموقع الرسمي لـ PHP <3> <4>وثائق PHP <5> <6>مستودع GitHub لـ php-wasm <7> <8>تعلم X في Y دقائق، حيث X=PHP <9> <10>وثائق LiveCodes <11> <12>تحميل القالب الأولي ', name: 'PHP (Wasm)', }, postgresql: { desc: 'PostgreSQL معبأة كـ WASM باستخدام PGlite', - link: '<1> الموقع الرسمي لـ PostgreSQL وثائق PostgreSQL مستودع GitHub لـ PGlite تعلم X في Y دقائق، حيث X=SQL تحميل القالب الأولي ', + link: '<1> <2>الموقع الرسمي لـ PostgreSQL <3> <4>وثائق PostgreSQL <5> <6>مستودع GitHub لـ PGlite <7> <8>تعلم X في Y دقائق، حيث X=SQL <9> <10>تحميل القالب الأولي ', name: 'PostgreSQL', }, prolog: { desc: 'مترجم Prolog مفتوح المصدر في JavaScript.', - link: '<1> الموقع الرسمي لـ Tau Prolog وثائق Tau Prolog SWI-Prolog تعلم X في Y دقائق، حيث X=Prolog تحميل القالب الأولي ', + link: '<1> <2>الموقع الرسمي لـ Tau Prolog <3> <4>وثائق Tau Prolog <5> <6>SWI-Prolog <7> <8>تعلم X في Y دقائق، حيث X=Prolog <9> <10>تحميل القالب الأولي ', name: 'Tau Prolog', }, pug: { desc: 'محرك قوالب قوي وأنيق وغني بالميزات.', - link: '<1> وثائق Pug تعلم X في Y دقائق، حيث X=Pug وثائق LiveCodes ', + link: '<1> <2>وثائق Pug <3> <4>تعلم X في Y دقائق، حيث X=Pug <5> <6>وثائق LiveCodes ', name: 'Pug', }, python: { desc: 'بايثون تعمل في المتصفح باستخدام Brython.', - link: '<1> الموقع الرسمي لـ Python وثائق Python وثائق Brython تعلم X في Y دقائق، حيث X=Python وثائق LiveCodes تحميل القالب الأولي ', + link: '<1> <2>الموقع الرسمي لـ Python <3> <4>وثائق Python <5> <6>وثائق Brython <7> <8>تعلم X في Y دقائق، حيث X=Python <9> <10>وثائق LiveCodes <11> <12>تحميل القالب الأولي ', name: 'Python', }, pythonWasm: { desc1: 'بايثون مع المجموعة العلمية، مترجمة إلى WebAssembly باستخدام Pyodide.', desc2: 'يتيح Pyodide استخدام المجموعة العلمية لبايثون بما في ذلك NumPy و Pandas و Matplotlib و SciPy و scikit-learn والكثير غيرها. بالإضافة إلى ذلك، من الممكن تثبيت حزم بايثون النقية من PyPi.', - link: '<1> الموقع الرسمي لـ Python وثائق Python وثائق Pyodide تعلم X في Y دقائق، حيث X=Python وثائق LiveCodes تحميل القالب الأولي ', + link: '<1> <2>الموقع الرسمي لـ Python <3> <4>وثائق Python <5><6>وثائق Pyodide <7> <8>تعلم X في Y دقائق، حيث X=Python <9> <10>وثائق LiveCodes <11> <12>تحميل القالب الأولي ', name: 'Python (Wasm)', }, r: { desc: 'R تعمل في المتصفح باستخدام WebR.', - link: '<1> الموقع الرسمي لمشروع R أدلة R R لعلوم البيانات (الإصدار الثاني) وثائق WebR تعلم X في Y دقيقة، حيث X=R وثائق LiveCodes تحميل قالب البداية ', + link: '<1> <2>الموقع الرسمي لمشروع R <3> <4>أدلة R <5> <6>R لعلوم البيانات (الإصدار الثاني) <7> <8>وثائق WebR <9> <10>تعلم X في Y دقيقة، حيث X=R <11> <12>وثائق LiveCodes <13> <14>تحميل قالب البداية ', name: 'R', }, reactNative: { desc: 'React Native للويب هو تنفيذ سهل الوصول لمكونات وواجهات برمجة تطبيقات React Native التي تتوافق مع React DOM.', - link: '<1> الموقع الرسمي لـ React موقع React Native موقع React Native للويب وثائق React Native وثائق LiveCodes تحميل قالب البداية ', + link: '<1> <2>الموقع الرسمي لـ React <3> <4>موقع React Native <5> <6>موقع React Native للويب <7> <8>وثائق React Native <9> <10>وثائق LiveCodes <11> <12>تحميل قالب البداية ', name: 'React Native للويب', }, reactNativeTsx: { desc: 'React Native للويب هو تنفيذ سهل الوصول لمكونات وواجهات برمجة تطبيقات React Native التي تتوافق مع React DOM.', - link: '<1> الموقع الرسمي لـ React موقع React Native موقع React Native للويب وثائق React Native موقع TypeScript وثائق TypeScript وثائق LiveCodes تحميل قالب البداية (JSX) ', + link: '<1> <2>الموقع الرسمي لـ React <3> <4>موقع React Native <5> <6>موقع React Native للويب <7> <8>وثائق React Native <9> <10>موقع TypeScript <11> <12>وثائق TypeScript <13> <14>وثائق LiveCodes <15> <16>تحميل قالب البداية (JSX) ', name: 'React Native للويب (مع TypeScript)', }, reason: { desc1: 'تتيح لك Reason كتابة كود بسيط وسريع وعالي الجودة وآمن الأنواع مع الاستفادة من النظم البيئية لكل من JavaScript و OCaml.', desc2: 'يتم استخدام مترجم ReScript هنا لترجمة Reason إلى JavaScript.', - link: '<1>موقع Reason وثائق Reason ReasonReact موقع ReScript تعلم X في Y دقيقة، حيث X=reason تحميل قالب البداية ', + link: '<1><2>موقع Reason <3> <4>وثائق Reason <5> <6>ReasonReact <7> <8>موقع ReScript <9> <10>تعلم X في Y دقيقة، حيث X=reason <11> <12>تحميل قالب البداية ', name: 'Reason', }, rescript: { desc: 'ReScript هي لغة ذات أنواع قوية تترجم إلى JavaScript فعال وقابل للقراءة من قبل البشر.', - link: '<1> موقع ReScript ReScript / React تحميل قالب البداية ', + link: '<1> <2>موقع ReScript <3> <4>ReScript / React <5> <6>تحميل قالب البداية ', name: 'ReScript', }, richtext: { desc1: 'باستخدام Quill:', desc2: 'محرر النصوص الغنية القوي الخاص بك.', - link: '<1> الموقع الرسمي لـ Quill ', + link: '<1> <2>الموقع الرسمي لـ Quill ', name: 'محرر النصوص الغنية', }, riot: { desc: 'مكتبة واجهة مستخدم بسيطة وأنيقة قائمة على المكونات.', - link: '<1> الموقع الرسمي لـ Riot.js وثائق Riot.js تحميل قالب البداية ', + link: '<1> <2>الموقع الرسمي لـ Riot.js <3> <4>وثائق Riot.js <5> <6>تحميل قالب البداية ', name: 'Riot.js', }, ruby: { desc: 'روبي تعمل في المتصفح باستخدام Opal.', - link: '<1> الموقع الرسمي لروبي وثائق روبي الموقع الرسمي لـ Opal CDN مكتبة Opal القياسية تعلم X في Y دقيقة، حيث X=ruby وثائق LiveCodes تحميل قالب البداية ', + link: '<1> <2>الموقع الرسمي لروبي <3> <4>وثائق روبي <5><6>الموقع الرسمي لـ Opal <7> <8>CDN مكتبة Opal القياسية <9> <10>تعلم X في Y دقيقة، حيث X=ruby <11> <12>وثائق LiveCodes <13> <14>تحميل قالب البداية ', name: 'Ruby', }, rubyWasm: { desc: 'روبي تعمل في المتصفح باستخدام ruby-wasm (مجموعة من إصدارات WebAssembly لـ CRuby).', - link: '<1> الموقع الرسمي لروبي وثائق روبي موقع ruby.wasm CRuby تعلم X في Y دقيقة، حيث X=ruby وثائق LiveCodes تحميل قالب البداية ', + link: '<1> <2>الموقع الرسمي لروبي <3> <4>وثائق روبي <5> <6>موقع ruby.wasm <7><8>CRuby <9> <10>تعلم X في Y دقيقة، حيث X=ruby <11> <12>وثائق LiveCodes <13> <14>تحميل قالب البداية ', name: 'Ruby (WASM)', }, sass: { desc: 'أوراق الأنماط الرائعة نحويًا.', - link: '<1> الموقع الرسمي لـ Sass وثائق Sass بناء جملة Sass (المسافة البادئة) تعلم X في Y دقيقة، حيث X=sass ', + link: '<1> <2>الموقع الرسمي لـ Sass <3> <4>وثائق Sass <5> <6>بناء جملة Sass (المسافة البادئة) <7> <8>تعلم X في Y دقيقة، حيث X=sass ', name: 'Sass', }, scheme: { desc: 'Scheme تعمل في المتصفح باستخدام biwascheme.', - link: '<1> لغة البرمجة Scheme الموقع الرسمي لـ BiwaScheme مرجع BiwaScheme تحميل قالب البداية ', + link: '<1> <2>لغة البرمجة Scheme <3> <4>الموقع الرسمي لـ BiwaScheme <5> <6>مرجع BiwaScheme <7> <8>تحميل قالب البداية ', name: 'Scheme', }, scss: { desc: 'أوراق الأنماط الرائعة نحويًا.', - link: '<1> الموقع الرسمي لـ Sass وثائق Sass بناء جملة SCSS تعلم X في Y دقيقة، حيث X=sass ', + link: '<1> <2>الموقع الرسمي لـ Sass <3> <4>وثائق Sass <5> <6>بناء جملة SCSS <7> <8>تعلم X في Y دقيقة، حيث X=sass ', name: 'SCSS', }, solid: { desc: 'مكتبة JavaScript تصريحية وفعالة ومرنة لبناء واجهات المستخدم.', - link: '<1>الموقع الرسمي الوثائق وثائق LiveCodes تحميل قالب البداية (TSX) ', + link: '<1><2>الموقع الرسمي <3><4>الوثائق <5> <6>وثائق LiveCodes <7> <8>تحميل قالب البداية (TSX) ', name: 'Solid', tsx: { desc: 'مكتبة JavaScript تصريحية وفعالة ومرنة لبناء واجهات المستخدم.', - link: '<1>الموقع الرسمي وثائق Solid موقع TypeScript وثائق TypeScript وثائق LiveCodes تحميل قالب البداية ', + link: '<1><2>الموقع الرسمي <3> <4>وثائق Solid <5> <6>موقع TypeScript <7> <8>وثائق TypeScript <9> <10>وثائق LiveCodes <11> <12>تحميل قالب البداية ', name: 'Solid (مع TypeScript)', }, }, sql: { desc: 'SQLite مترجم إلى JavaScript باستخدام SQL.js', - link: '<1> الموقع الرسمي لـ SQLite وثائق بناء جملة SQLite الموقع الرسمي لـ SQL.js تعلم X في Y دقائق، حيث X=SQL تحميل القالب الأولي', + link: '<1> <2>الموقع الرسمي لـ SQLite <3> <4>وثائق بناء جملة SQLite <5> <6>الموقع الرسمي لـ SQL.js <7> <8>تعلم X في Y دقائق، حيث X=SQL <9><10>تحميل القالب الأولي', name: 'SQLite', }, stencil: { desc: 'مترجم لمكونات الويب وتطبيقات الويب عالية الأداء.', - link: '<1> الموقع الرسمي لـ Stencil وثائق Stencil تحميل القالب الأولي ', + link: '<1> <2>الموقع الرسمي لـ Stencil <3> <4>وثائق Stencil <5> <6>تحميل القالب الأولي ', name: 'Stencil', }, styleProcessors: { - link: '<1> Tailwind CSS Windi CSS UnoCSS Lightning CSS PostCSS الإضافات: Autoprefixer postcss-preset-env postcss-import-url postcss-modules ', + link: '<1> <2>Tailwind CSS <3> <4>Windi CSS <5> <6>UnoCSS <7> <8>Lightning CSS <9> <10>PostCSS الإضافات: <11> <12> <13>Autoprefixer <14> <15>postcss-preset-env <16> <17>postcss-import-url <18> <19>postcss-modules ', name: 'أطر عمل ومعالجات CSS', }, stylis: { desc: 'معالج CSS خفيف الوزن.', - link: '<1> الموقع الرسمي لـ Stylis ', + link: '<1> <2>الموقع الرسمي لـ Stylis ', name: 'Stylis', }, stylus: { desc: 'CSS تعبيري، ديناميكي، وقوي.', - link: '<1> الموقع الرسمي لـ Stylus تعلم X في Y دقائق، حيث X=stylus ', + link: '<1> <2>الموقع الرسمي لـ Stylus <3> <4>تعلم X في Y دقائق، حيث X=stylus ', name: 'Stylus', }, sucrase: { desc: 'بديل فائق السرعة لـ Babel عندما تستهدف بيئات تشغيل JavaScript الحديثة.', - link: '<1> الموقع الرسمي لـ Sucrase مستودع GitHub لـ Sucrase وثائق LiveCodes ', + link: '<1> <2>الموقع الرسمي لـ Sucrase <3> <4>مستودع GitHub لـ Sucrase <5> <6>وثائق LiveCodes ', name: 'Sucrase', }, svelte: { desc: 'تطبيقات ويب معززة سيبرانياً.', - link: '<1> الموقع الرسمي لـ Svelte وثائق Svelte تحميل القالب الأولي ', + link: '<1> <2>الموقع الرسمي لـ Svelte <3> <4>وثائق Svelte <5> <6>تحميل القالب الأولي ', name: 'Svelte', }, tcl: { - desc: 'Tcl يعمل في المتصفح، باستخدام <1>wacl.', - link: '<1> الموقع الرسمي لـ Tcl مستودع wacl تعلم X في Y دقائق، حيث X=Tcl تحميل القالب الأولي ', + desc: 'Tcl يعمل في المتصفح، باستخدام <1>wacl.', + link: '<1> <2>الموقع الرسمي لـ Tcl <3> <4>مستودع wacl <5> <6>تعلم X في Y دقائق، حيث X=Tcl <7> <8>تحميل القالب الأولي ', name: 'Tcl (لغة أوامر الأدوات)', }, teal: { desc: 'لهجة مكتوبة من Lua.', - link: '<1> مستودع GitHub لـ Teal وثائق Teal دليل Teal التعليمي وثائق LiveCodes تحميل القالب الأولي ', + link: '<1> <2>مستودع GitHub لـ Teal <3> <4>وثائق Teal <5> <6>دليل Teal التعليمي <7> <8>وثائق LiveCodes <9> <10>تحميل القالب الأولي ', name: 'Teal', }, tsx: { desc: 'TypeScript في JSX. يتم ترجمة TSX إلى JavaScript في LiveCodes باستخدام مترجم TypeScript. افتراضيًا، يستخدم React كبيئة تشغيل JSX.', - link: '<1> الموقع الرسمي لـ React وثائق JSX في React وثائق Typescript وثائق LiveCodes ', + link: '<1> <2>الموقع الرسمي لـ React <3> <4>وثائق JSX في React <5> <6>وثائق Typescript <7> <8>وثائق LiveCodes ', name: 'TSX', }, twig: { - desc: 'تطبيق JavaScript لـ <1>Twig لغة قوالب PHP بواسطة Twig.js .', - link: '<1> الموقع الرسمي لـ Twig وثائق Twig مستودع Twig.js وثائق Twig.js وثائق LiveCodes ', + desc: 'تطبيق JavaScript لـ <1>Twig لغة قوالب PHP بواسطة <2>Twig.js .', + link: '<1> <2>الموقع الرسمي لـ Twig <3> <4>وثائق Twig <5> <6>مستودع Twig.js <7> <8>وثائق Twig.js <9> <10>وثائق LiveCodes ', name: 'Twig', }, typescript: { desc: 'مجموعة فرعية مكتوبة من JavaScript.', - link: '<1> الموقع الرسمي وثائق TypeScript تعلم X في Y دقائق، حيث X=TypeScript تحميل القالب الأولي ', + link: '<1> <2>الموقع الرسمي <3> <4>وثائق TypeScript <5> <6>تعلم X في Y دقائق، حيث X=TypeScript <7> <8>تحميل القالب الأولي ', name: 'TypeScript', }, vue: { - link: '<1> الموقع الرسمي لـ Vue.js v3 وثائق Vue3 مكونات الملف الواحد في Vue3 وثائق LiveCodes تحميل القالب الأولي', + link: '<1> <2>الموقع الرسمي لـ Vue.js v3 <3> <4>وثائق Vue3 <5> <6>مكونات الملف الواحد في Vue3 <7> <8>وثائق LiveCodes <9><10>تحميل القالب الأولي', name: 'مكونات الملف الواحد في Vue3', }, vue2: { desc: 'تم تحميله باستخدام vue3-sfc-loader.', - link: '<1>الموقع الرسمي لـ Vue.js وثائق Vue2 مكونات الملف الواحد في Vue2 مستودع GitHub لـ vue3-sfc-loader وثائق LiveCodes ', + link: '<1><2>الموقع الرسمي لـ Vue.js <3> <4>وثائق Vue2 <5> <6>مكونات الملف الواحد في Vue2 <7> <8>مستودع GitHub لـ vue3-sfc-loader <9> <10>وثائق LiveCodes ', name: 'مكونات الملف الواحد في Vue2', }, wat: { desc1: 'تمثيل نصي منخفض المستوى لتنسيق WebAssembly (wasm) الثنائي.', desc2: 'يتم تحويله إلى wasm باستخدام wabt.js.', - link: '<1>WebAssembly.org مواصفات نص WebAssembly WebAssembly على MDN فهم تنسيق نص WebAssembly وثائق wabt.js تعلم X في Y دقائق، حيث X=WebAssembly تحميل القالب الأولي', + link: '<1><2>WebAssembly.org <3> <4>مواصفات نص WebAssembly <5> <6>WebAssembly على MDN <7> <8>فهم تنسيق نص WebAssembly <9> <10>وثائق wabt.js <11> <12>تعلم X في Y دقائق، حيث X=WebAssembly <13><14>تحميل القالب الأولي', name: 'تنسيق نص WebAssembly', }, }; diff --git a/src/livecodes/i18n/locales/ar/translation.ts b/src/livecodes/i18n/locales/ar/translation.ts index ca71ce736..c07b10600 100644 --- a/src/livecodes/i18n/locales/ar/translation.ts +++ b/src/livecodes/i18n/locales/ar/translation.ts @@ -14,9 +14,9 @@ const translation: I18nTranslation = { heading: 'حول LiveCodes', livecodes: { para1: - '<1>LiveCodes هو ملعب برمجي مفتوح المصدر، غني بالميزات، يعمل على جانب العميل. حاليًا، يتم دعم أكثر من 80 لغة/إطار عمل. يمكن استخدامه كتطبيق مستقل أو يمكن تضمينه في أي صفحة ويب. هناك العديد من الطرق لملء الملاعب مسبقًا بالكود.', + '<1><2>LiveCodes هو ملعب برمجي <3>مفتوح المصدر، <4>غني بالميزات، <5>يعمل على جانب العميل. حاليًا، يتم دعم <6>أكثر من 80 لغة/<7>إطار عمل. يمكن استخدامه كتطبيق مستقل أو يمكن <8>تضمينه في أي صفحة ويب. هناك العديد من الطرق <9>لملء الملاعب مسبقًا بالكود.', para2: - 'مجموعة واسعة من <1>خيارات التكوين تجعله مرنًا للغاية. SDK قوي (لـ JS/TS، وReact، وVue وSvelte) يسهل التضمين والتواصل مع الملاعب. تتوفر وثائق شاملة مع نماذج الكود والعروض التوضيحية الحية ولقطات الشاشة.', + 'مجموعة واسعة من <1>خيارات التكوين تجعله مرنًا للغاية. <2>SDK قوي (لـ <3>JS/TS، و<4>React، و<5>Vue و<6>Svelte) يسهل <7>التضمين و<8>التواصل مع الملاعب. تتوفر <9>وثائق شاملة مع نماذج الكود والعروض التوضيحية الحية ولقطات الشاشة.', }, version: { app: 'إصدار التطبيق: {{APP_VERSION}}', @@ -28,6 +28,9 @@ const translation: I18nTranslation = { }, }, app: { + consoleMessage: { + learnMore: 'تعرف على المزيد! {{docsUrl}} 🚀', + }, copy: { hint: 'نسخ (Ctrl/Cmd + A، Ctrl/Cmd + C)', }, @@ -81,12 +84,12 @@ const translation: I18nTranslation = { assets: { add: { dataURL: { - desc: 'إضافة الأصل ك<1>رابط بيانات مشفر بـ base64.', + desc: 'إضافة الأصل ك<1>رابط بيانات مشفر بـ base64.', heading: 'رابط البيانات', label: 'إضافة ملف', }, githubPages: { - desc: 'نشر الأصل على صفحات GitHub. يتم دفع الملف إلى فرع <1>gh-pages في المستودع livecodes-assets على حساب GitHub الخاص بك. إذا لم يكن المستودع موجودًا بالفعل، سيتم إنشاء مستودع عام.', + desc: 'نشر الأصل على صفحات GitHub. يتم دفع الملف إلى فرع <1>gh-pages في المستودع <2>livecodes-assets على حساب GitHub الخاص بك. إذا لم يكن المستودع موجودًا بالفعل، سيتم إنشاء مستودع عام.', heading: 'صفحات GitHub', label: 'رفع ملف', }, @@ -157,7 +160,7 @@ const translation: I18nTranslation = { backup: { assets: 'الأصول', button: 'نسخ احتياطي', - desc: 'قم بعمل نسخة احتياطية من بيانات LiveCodes، حتى يمكن استعادتها لاحقًا على هذا الجهاز أو أجهزة أخرى. <1> يرجى زيارة الوثائق للحصول على التفاصيل.', + desc: 'قم بعمل نسخة احتياطية من بيانات LiveCodes، حتى يمكن استعادتها لاحقًا على هذا الجهاز أو أجهزة أخرى. <1> يرجى زيارة <2>الوثائق للحصول على التفاصيل.', heading: 'نسخ احتياطي', projects: 'المشاريع', settings: 'إعدادات المستخدم', @@ -173,7 +176,7 @@ const translation: I18nTranslation = { heading: 'نسخ احتياطي / استعادة', inProgress: 'جارٍ التنفيذ...', restore: { - desc: 'استعادة بيانات LiveCodes التي تم نسخها احتياطيًا مسبقًا. <1> إذا اخترت استبدال المحتوى الحالي، قد ترغب في عمل نسخة احتياطية منه أولاً. يرجى زيارة الوثائق للحصول على التفاصيل.', + desc: 'استعادة بيانات LiveCodes التي تم نسخها احتياطيًا مسبقًا. <1> إذا اخترت استبدال المحتوى الحالي، قد ترغب في عمل نسخة احتياطية منه أولاً. <2> يرجى زيارة <3>الوثائق للحصول على التفاصيل.', fromFile: 'استعادة من ملف', heading: 'استعادة', mode: { @@ -191,7 +194,7 @@ const translation: I18nTranslation = { broadcasting: 'جارٍ البث...', channelURL: 'رابط القناة', connecting: 'جارٍ الاتصال...', - desc: 'بث صفحة النتيجة إلى متصفحات/أجهزة أخرى في الوقت الفعلي. يرجى زيارة <1>الوثائق للحصول على التفاصيل.', + desc: 'بث صفحة النتيجة إلى متصفحات/أجهزة أخرى في الوقت الفعلي. يرجى زيارة <1>الوثائق للحصول على التفاصيل.', error: { generic: 'فشل البث!', serverURLRequired: 'رابط الخادم مطلوب!', @@ -291,9 +294,9 @@ const translation: I18nTranslation = { }, deploy: { create: { - desc: 'سيتم إنشاء مستودع <1>عام جديد. سيتم دفع صفحة النتيجة إلى فرع gh-pages.', + desc: 'سيتم إنشاء مستودع <1>عام جديد. سيتم دفع صفحة النتيجة إلى فرع <2>gh-pages.', heading: 'إنشاء مستودع جديد', - repoName: 'اسم المستودع <1>', + repoName: 'اسم المستودع <1>', }, error: { generic: 'فشل النشر!', @@ -301,7 +304,7 @@ const translation: I18nTranslation = { repoNameRequired: 'اسم المستودع مطلوب', }, existing: { - desc: 'سيتم إضافة التزام جديد إلى فرع <1>gh-pages.', + desc: 'سيتم إضافة التزام جديد إلى فرع <1>gh-pages.', heading: 'مستودع موجود', repoName: 'اسم المستودع', }, @@ -322,7 +325,7 @@ const translation: I18nTranslation = { closeBrackets: 'إغلاق تلقائي للأقواس والعلامات', codeJarDesc: '* الميزات المحددة غير متوفرة في CodeJar.', default: 'افتراضي', - desc: 'يرجى مراجعة <1>الوثائق للتفاصيل.', + desc: 'يرجى مراجعة <1>الوثائق للتفاصيل.', editor: { codejar: 'CodeJar', codemirror: 'CodeMirror', @@ -338,7 +341,7 @@ const translation: I18nTranslation = { emmet: 'تفعيل Emmet *', enableAI: { heading: 'تفعيل مساعد الكود الذكي', - note: 'مدعوم بواسطة <1>', + note: 'مدعوم بواسطة <1><2>', }, fontFamily: 'عائلة الخط', fontSize: 'حجم الخط', @@ -376,7 +379,7 @@ const translation: I18nTranslation = { copy: 'نسخ الكود', heading: 'الكود', }, - desc: 'يرجى مراجعة <1>الوثائق للإعدادات المتقدمة.', + desc: 'يرجى مراجعة <1>الوثائق للإعدادات المتقدمة.', embedType: { cdn: 'سكريبت (CDN)', heading: 'نوع التضمين', @@ -447,17 +450,18 @@ const translation: I18nTranslation = { more: 'المزيد...', optional: 'اختياري', required: 'مطلوب', + tagline: 'محرر برمجي يعمل ببساطة!', }, import: { bulk: { - desc: 'استيراد جماعي لعدة مشاريع إلى مشاريعك المحفوظة. يمكن تصدير المشاريع من شاشة <1>المشاريع المحفوظة.', + desc: 'استيراد جماعي لعدة مشاريع إلى مشاريعك المحفوظة. يمكن تصدير المشاريع من شاشة <1>المشاريع المحفوظة.', fromFile: 'استيراد جماعي من ملف محلي', fromURL: 'استيراد جماعي من رابط', heading: 'استيراد جماعي', started: 'بدأ الاستيراد بالجملة...', }, code: { - desc: 'المصادر المدعومة: <1> GitHub gist ملف GitHub دليل في مستودع GitHub مقتطف Gitlab ملف Gitlab دليل في مستودع Gitlab JS Bin كود خام كود في DOM صفحة الويب كود في ملف مضغوط الملاعب الرسمية(TypeScript، Vue و Svelte) يرجى زيارة الوثائق للتفاصيل.', + desc: 'المصادر المدعومة: <1> <2>GitHub gist <3>ملف GitHub <4>دليل في مستودع GitHub <5>مقتطف Gitlab <6>ملف Gitlab <7>دليل في مستودع Gitlab <8>JS Bin <9>كود خام <10>كود في DOM صفحة الويب <11>كود في ملف مضغوط <12>الملاعب الرسمية<13>(TypeScript، Vue و Svelte) يرجى زيارة <14>الوثائق للتفاصيل.', fromFile: 'استيراد ملفات محلية', fromURL: 'استيراد من رابط', heading: 'استيراد الكود', @@ -482,7 +486,7 @@ const translation: I18nTranslation = { }, login: { accessAllowed: 'السماح بالوصول إلى:', - desc: '<1>بتسجيل الدخول، فإنك توافق على أنه قد يتم تخزين ملفات تعريف الارتباط على جهازك. لماذا هذه الأذونات مطلوبة؟ كيفية تغيير/إلغاء الأذونات؟ ', + desc: '<1>بتسجيل الدخول، فإنك توافق على أنه قد يتم تخزين <2>ملفات تعريف الارتباط على جهازك. <3> <4>لماذا هذه الأذونات مطلوبة؟ <5> <6>كيفية تغيير/إلغاء الأذونات؟ ', gist: 'Gists', heading: 'تسجيل الدخول باستخدام GitHub', loginAs: 'تم تسجيل الدخول كـ {{name}}', @@ -500,7 +504,7 @@ const translation: I18nTranslation = { broadcast: 'بث …', customSettings: 'إعدادات مخصصة …', delay: { - heading: 'تأخير: <1>1.5 ثانية', + heading: 'تأخير: <1>1.5 ثانية', hint: 'تأخير قبل التحديث التلقائي', }, deploy: 'نشر …', @@ -537,7 +541,7 @@ const translation: I18nTranslation = { hint: 'اضغط على Alt/Option وحرك المؤشر فوق صفحة النتيجة', }, snippets: 'مقتطفات الكود …', - sync: 'مزامنة (تجريبي) … <1> ⏳', + sync: 'مزامنة (تجريبي) … <1> ⏳', theme: 'السمة الداكنة', welcome: { heading: 'الترحيب …', @@ -590,11 +594,11 @@ const translation: I18nTranslation = { recoverPrompt: { desc: 'آخر مشروع لديك يحتوي على تغييرات غير محفوظة!', heading: 'استعادة المشروع غير المحفوظ؟', - meta: 'العنوان: <1> آخر تعديل: ', + meta: 'العنوان: <1> <2> آخر تعديل: <3>', notShowAgain: 'عدم إظهار هذا مرة أخرى.', prompt: { discard: 'تجاهل المشروع غير المحفوظ', - heading: '<1>هل تريد استعادته الآن؟', + heading: '<1>هل تريد استعادته الآن؟', recover: 'استعادة المشروع إلى المحرر', save: 'حفظ على الجهاز والمتابعة', }, @@ -613,13 +617,13 @@ const translation: I18nTranslation = { }, fonts: { add: 'إضافة', - heading: 'الخطوط <1>(مدعوم بواسطة Google Fonts)', + heading: 'الخطوط <1>(مدعوم بواسطة Google Fonts)', select: 'اختر الخط ...', }, heading: 'الموارد الخارجية', scripts: 'النصوص البرمجية الخارجية', search: { - heading: 'البحث عن الحزم <1>(مدعوم بواسطة jsDelivr)', + heading: 'البحث عن الحزم <1>(مدعوم بواسطة jsDelivr)', placeholder: 'مثال: jquery, lodash@4, bootstrap@5.2.3, ...', }, stylesheets: 'أوراق الأنماط الخارجية', @@ -630,7 +634,7 @@ const translation: I18nTranslation = { prompt: { cancel: 'إلغاء', discard: 'عدم الحفظ', - heading: 'التغييرات التي أجريتها قد لا يتم حفظها. <1> هل تريد الحفظ الآن؟', + heading: 'التغييرات التي أجريتها قد لا يتم حفظها. <1> هل تريد الحفظ الآن؟', save: 'حفظ', }, }, @@ -728,7 +732,7 @@ const translation: I18nTranslation = { sync: { autoSync: 'مزامنة تلقائية', create: { - desc: 'سيتم إنشاء مستودع <1>خاص جديد. ستتم مزامنة بيانات LiveCodes المحلية مع فرع main.', + desc: 'سيتم إنشاء مستودع <1>خاص جديد. ستتم مزامنة بيانات LiveCodes المحلية مع فرع <2>main.', heading: 'إنشاء مستودع جديد', repoName: 'اسم المستودع', }, @@ -737,7 +741,7 @@ const translation: I18nTranslation = { repoNameRequired: 'اسم المستودع مطلوب', }, existing: { - desc: 'ستتم مزامنة بيانات LiveCodes المحلية مع فرع <1>main.', + desc: 'ستتم مزامنة بيانات LiveCodes المحلية مع فرع <1>main.', heading: 'مستودع موجود', repoName: 'اسم المستودع', }, @@ -751,7 +755,7 @@ const translation: I18nTranslation = { templates: { heading: 'مشروع جديد', noUserTemplates: { - desc: 'يمكنك حفظ مشروع كقالب من <1>(قائمة التطبيق > حفظ باسم > قالب).', + desc: 'يمكنك حفظ مشروع كقالب من <1>(قائمة التطبيق > حفظ باسم > قالب).', heading: 'ليس لديك قوالب محفوظة.', }, starter: { @@ -838,16 +842,16 @@ const translation: I18nTranslation = { }, test: { edit: 'تحرير', - error: '<1>خطأ في الاختبار!', - loading: '<1>جارٍ تحميل الاختبارات...', - noTest: '<1>هذا المشروع لا يحتوي على اختبارات!', + error: '<1><2>خطأ في الاختبار!', + loading: '<1>جارٍ تحميل الاختبارات...', + noTest: '<1>هذا المشروع لا يحتوي على اختبارات!', reset: 'إعادة تعيين', run: { desc: 'Ctrl/Cmd + Alt + T', heading: 'تشغيل', }, summary: { - desc: 'الاختبارات: {{failed}}\n {{passed}}\n {{skipped}}\n {{total}}<1>\nالوقت: {{duration}} ثانية', + desc: 'الاختبارات: {{failed}}\n {{passed}}\n {{skipped}}\n {{total}}<1>\nالوقت: {{duration}} ثانية', failed: '{{failedNum}} فشل', passed: '{{passedNum}} نجح', skipped: '{{skippedNum}} تم تخطيه', @@ -872,7 +876,7 @@ const translation: I18nTranslation = { recover: { cancel: 'إلغاء', heading: 'استعادة', - lastModified: 'آخر تعديل: <1>', + lastModified: 'آخر تعديل: <1>', recover: 'استعادة', save: 'حفظ', unsavedChanges: 'آخر مشروع لديك يحتوي على تغييرات غير محفوظة:', diff --git a/src/livecodes/i18n/locales/de/language-info.ts b/src/livecodes/i18n/locales/de/language-info.ts index b772fc435..251b2e8b3 100644 --- a/src/livecodes/i18n/locales/de/language-info.ts +++ b/src/livecodes/i18n/locales/de/language-info.ts @@ -5,400 +5,400 @@ import type { I18nLangInfoTranslation } from '../models'; const languageInfo: I18nLangInfoTranslation = { artTemplate: { desc: 'Hochleistungsfähige JavaScript-Templating-Engine.', - link: '<1> art-template offizielle Website art-template Dokumentation ', + link: '<1> <2>art-template offizielle Website <3> <4>art-template Dokumentation ', name: 'art-template', }, asciidoc: { desc: 'AsciiDoc zu HTML kompiliert mit Asciidoctor.', - link: '<1> AsciiDoc offizielle Website Asciidoctor offizielle Website Asciidoctor Dokumentation Lerne X in Y Minuten, wobei X=asciidoc ', + link: '<1> <2>AsciiDoc offizielle Website <3> <4>Asciidoctor offizielle Website <5> <6>Asciidoctor Dokumentation <7> <8>Lerne X in Y Minuten, wobei X=asciidoc ', name: 'AsciiDoc', }, assemblyscript: { desc: 'Eine TypeScript-ähnliche Sprache für WebAssembly.', - link: '<1> AssemblyScript offizielle Website AssemblyScript Dokumentation Starter-Vorlage laden ', + link: '<1> <2>AssemblyScript offizielle Website <3> <4>AssemblyScript Dokumentation <5> <6>Starter-Vorlage laden ', name: 'AssemblyScript', }, astro: { desc: 'Erstelle schnellere Websites mit weniger clientseitigem Javascript. (Noch in Beta)', - link: '<1> Astro offizielle Website Astro Dokumentation Starter-Vorlage laden ', + link: '<1> <2>Astro offizielle Website <3> <4>Astro Dokumentation <5> <6>Starter-Vorlage laden ', name: 'Astro', }, babel: { desc: 'Der JavaScript-Compiler', - link: '<1>Offizielle Website Babel Dokumentation ', + link: '<1><2>Offizielle Website <3> <4>Babel Dokumentation ', name: 'Babel', }, bbcode: { desc: 'BBCode ("Bulletin Board Code") ist eine leichtgewichtige Auszeichnungssprache, die zur Formatierung von Nachrichten in vielen Internet-Forum-Softwares verwendet wird.', - link: '<1>bbcode.org BBCode-Anleitung BBCode auf Wikipedia ', + link: '<1><2>bbcode.org <3> <4>BBCode-Anleitung <5> <6>BBCode auf Wikipedia ', name: 'BBCode', }, blockly: { desc: 'Eine JavaScript-Bibliothek zum Erstellen visueller Programmiereditoren.', - link: '<1> Offizielle Website Anleitungen Referenz Beispiele Starter-Vorlage laden ', + link: '<1> <2>Offizielle Website <3> <4>Anleitungen <5> <6>Referenz <7> <8>Beispiele <9> <10>Starter-Vorlage laden ', name: 'Blockly', }, civet: { desc: 'Civet ist eine Programmiersprache, die zu TypeScript oder JavaScript kompiliert wird, sodass Sie vorhandene Tools verwenden, aber eine prägnante und leistungsstarke Syntax ermöglichen können.', - link: '<1> Civet offizielle Website Civet Spickzettel Starter-Vorlage laden ', + link: '<1> <2>Civet offizielle Website <3> <4>Civet Spickzettel <5> <6>Starter-Vorlage laden ', name: 'Civet', }, clio: { desc: 'Clio ist eine schnelle, verteilte, funktionale Programmiersprache, die zu JavaScript kompiliert wird.', - link: '<1> Clio offizielle Website Clio Dokumentation Starter-Vorlage laden ', + link: '<1> <2>Clio offizielle Website <3> <4>Clio Dokumentation <5> <6>Starter-Vorlage laden ', name: 'Clio', }, clojurescript: { - desc: 'ClojureScript ist ein Compiler für <1>Clojure, der auf JavaScript abzielt. In LiveCodes läuft es im Browser mit Cherry.', - link: '<1> ClojureScript offizielle Website Clojure offizielle Website Cherry Repository Lerne X in Y Minuten, wobei X=clojure LiveCodes Dokumentation Starter-Vorlage laden ', + desc: 'ClojureScript ist ein Compiler für <1>Clojure, der auf JavaScript abzielt. <2>In LiveCodes läuft es im Browser mit <3>Cherry.', + link: '<1> <2>ClojureScript offizielle Website <3> <4>Clojure offizielle Website <5> <6>Cherry Repository <7> <8>Lerne X in Y Minuten, wobei X=clojure <9> <10>LiveCodes Dokumentation <11> <12>Starter-Vorlage laden ', name: 'ClojureScript (CLJS)', }, coffeescript: { desc: 'Schnörkelloses JavaScript.', - link: '<1> CoffeeScript offizielle Website Lerne X in Y Minuten, wobei X=coffeescript Starter-Vorlage laden ', + link: '<1> <2>CoffeeScript offizielle Website <3> <4>Lerne X in Y Minuten, wobei X=coffeescript <5> <6>Starter-Vorlage laden ', name: 'CoffeeScript', }, commonlisp: { desc: 'Eine Common Lisp-Implementierung in Javascript mit JSCL (ein Lisp-zu-Javascript-Compiler, der von Common Lisp gebootstrapt wurde).', - link: '<1> Common-Lisp.net JSCL Projekt Common Lisp Ressourcen Lerne X in Y Minuten, wobei X=Common Lisp Starter-Vorlage laden ', + link: '<1> <2>Common-Lisp.net <3> <4>JSCL Projekt <5> <6>Common Lisp Ressourcen <7> <8>Lerne X in Y Minuten, wobei X=Common Lisp <9> <10>Starter-Vorlage laden ', name: 'Common Lisp', }, cpp: { desc1: 'C++-Unterstützung mit JSCPP (ein einfacher C++-Interpreter, geschrieben in JavaScript).', desc2: - 'Es ist keine vollständige Implementierung von C++. Bitte beachten Sie die <1>JSCPP-Dokumentation für Details.', - link: '<1> Standard C++ Foundation JSCPP Lerne X in Y Minuten, wobei X=C++ Starter-Vorlage laden ', + 'Es ist keine vollständige Implementierung von C++. Bitte beachten Sie die <1>JSCPP-Dokumentation für Details.', + link: '<1> <2>Standard C++ Foundation <3> <4>JSCPP <5> <6>Lerne X in Y Minuten, wobei X=C++ <7> <8>Starter-Vorlage laden ', name: 'C++', }, cppWasm: { - desc: 'Clang C/C++-Compiler läuft auf WebAssembly und verwendet <1>wasm-clang, angepasst von polylang.io.', - link: '<1> Standard C++ Foundation Clang offizielle Website Lerne X in Y Minuten, wobei X=C++ Starter-Vorlage laden ', + desc: 'Clang C/C++-Compiler läuft auf WebAssembly und verwendet <1>wasm-clang, angepasst von <2>polylang.io.', + link: '<1> <2>Standard C++ Foundation <3> <4>Clang offizielle Website <5> <6>Lerne X in Y Minuten, wobei X=C++ <7> <8>Starter-Vorlage laden ', name: 'C/C++ (Wasm)', }, diagrams: { desc1: '(Experimentell)', desc2: 'Diagramme als Code. Unterstützt:', desc3: - '<1> Cytoscape ELK (verwendet elkjs) Gnuplot (verwendet gnuplot-JS) Graphviz (verwendet @hpcc-js/wasm) Mermaid Nomnoml Pintora Plotly Svgbob Vega VegaLite WaveDrom ', - link: '<1> Starter-Vorlage laden LiveCodes Dokumentation ', + '<1> <2>Cytoscape <3> <4>ELK (verwendet <5>elkjs) <6> <7>Gnuplot (verwendet <8>gnuplot-JS) <9> <10>Graphviz (verwendet <11>@hpcc-js/wasm) <12> <13>Mermaid <14> <15>Nomnoml <16> <17>Pintora <18> <19>Plotly <20> <21>Svgbob <22> <23>Vega <24> <25>VegaLite <26> <27>WaveDrom ', + link: '<1> <2>Starter-Vorlage laden <3> <4>LiveCodes Dokumentation ', name: 'Diagramme', }, dot: { desc: 'Die schnellste + prägnante JavaScript-Template-Engine für Node.js und Browser.', - link: '<1> Offizielle Website LiveCodes Dokumentation ', + link: '<1> <2>Offizielle Website <3> <4>LiveCodes Dokumentation ', name: 'doT.js', }, ejs: { desc: 'Eingebettetes JavaScript-Templating.', - link: '<1>Offizielle Website LiveCodes Dokumentation ', + link: '<1><2>Offizielle Website <3> <4>LiveCodes Dokumentation ', name: 'EJS', }, eta: { desc: 'Eingebettete JS-Template-Engine für Node, Deno und den Browser. Leichtgewichtig, schnell und erweiterbar. Geschrieben in TypeScript.', - link: '<1>Offizielle Website Dokumentation LiveCodes Dokumentation ', + link: '<1><2>Offizielle Website <3> <4>Dokumentation <5> <6>LiveCodes Dokumentation ', name: 'Eta', }, fennel: { desc: 'Fennel ist eine Programmiersprache, die die Geschwindigkeit, Einfachheit und Reichweite von Lua mit der Flexibilität einer Lisp-Syntax und eines Makrosystems verbindet.', - link: '<1> Fennel offizielle Website Erste Schritte mit Fennel LiveCodes Dokumentation Starter-Vorlage laden ', + link: '<1> <2>Fennel offizielle Website <3> <4>Erste Schritte mit Fennel <5> <6>LiveCodes Dokumentation <7> <8>Starter-Vorlage laden ', name: 'Fennel', }, flow: { desc: 'Flow ist ein statischer Typ-Checker für JavaScript.', - link: '<1> Flow offizielle Website Flow Dokumentation ', + link: '<1> <2>Flow offizielle Website <3> <4>Flow Dokumentation ', name: 'Flow', }, gleam: { desc1: 'Gleam ist eine freundliche Sprache zum Erstellen typsicherer Systeme, die skalieren!', desc2: 'Gleam ist eine statisch typisierte funktionale Programmiersprache, die nach Erlang oder JavaScript kompiliert wird.', - link: '<1>Gleam Website Gleam Dokumentation Gleam Sprachführung Starter-Vorlage laden ', + link: '<1><2>Gleam Website <3> <4>Gleam Dokumentation <5> <6>Gleam Sprachführung <7> <8>Starter-Vorlage laden ', name: 'Gleam', }, go: { desc1: 'Go (Golang) ist eine Open-Source-Programmiersprache, mit der einfache, zuverlässige und effiziente Software erstellt werden kann.', desc2: 'Hier wird es mit GopherJS nach JavaScript kompiliert.', - link: '<1>Go Website Go Dokumentation GopherJS Repository Lerne X in Y Minuten, wobei X=Go Starter-Vorlage laden', + link: '<1><2>Go Website <3><4>Go Dokumentation <5> <6>GopherJS Repository <7> <8>Lerne X in Y Minuten, wobei X=Go <9><10>Starter-Vorlage laden', name: 'Go', }, haml: { desc: 'Haml-Compiler für clientseitige JavaScript-View-Templates unter Verwendung von clientside-haml-js.', - link: '<1>Haml offizielle Website Haml Dokumentation clientside-haml-js GitHub Repository Lerne X in Y Minuten, wobei X=haml LiveCodes Dokumentation ', + link: '<1><2>Haml offizielle Website <3> <4>Haml Dokumentation <5> <6>clientside-haml-js GitHub Repository <7> <8>Lerne X in Y Minuten, wobei X=haml <9> <10>LiveCodes Dokumentation ', name: 'Haml', }, handlebars: { desc: 'Minimales Templating auf Steroiden.', - link: '<1>Offizielle Website LiveCodes Dokumentation ', + link: '<1><2>Offizielle Website <3> <4>LiveCodes Dokumentation ', name: 'Handlebars', }, imba: { desc: 'Die freundliche Full-Stack-Sprache.', - link: '<1>Offizielle Website', + link: '<1><2>Offizielle Website', name: 'Imba', }, jsx: { desc: 'JSX wird in LiveCodes mit dem TypeScript-Compiler zu JavaScript kompiliert. Standardmäßig verwendet es React als JSX-Laufzeitumgebung.', - link: '<1> React offizielle Website JSX in React Dokumentation LiveCodes Dokumentation Starter-Vorlage laden ', + link: '<1> <2>React offizielle Website <3> <4>JSX in React Dokumentation <5> <6>LiveCodes Dokumentation <7> <8>Starter-Vorlage laden ', name: 'JSX', }, julia: { desc1: '(Die Julia-Sprachunterstützung in LiveCodes ist noch experimentell)', desc2: - 'Julia-Compiler und Julia Base laufen auf WASM, unter Verwendung von <1>julia-wasm, angepasst von polylang.io.', - link: '<1> Julia offizielle Website Julia Dokumentation Lerne X in Y Minuten, wobei X=Julia Starter-Vorlage laden ', + 'Julia-Compiler und Julia Base laufen auf WASM, unter Verwendung von <1>julia-wasm, angepasst von <2>polylang.io.', + link: '<1> <2>Julia offizielle Website <3> <4>Julia Dokumentation <5> <6>Lerne X in Y Minuten, wobei X=Julia <7> <8>Starter-Vorlage laden ', name: 'Julia', }, less: { desc: 'Es ist CSS, mit ein bisschen mehr.', - link: '<1>Less offizielle Website Lerne X in Y Minuten, wobei X=less ', + link: '<1><2>Less offizielle Website <3> <4>Lerne X in Y Minuten, wobei X=less ', name: 'Less', }, liquid: { desc: 'Eine einfache, ausdrucksstarke und sichere Template-Engine.', - link: '<1> LiquidJS offizielle Website LiquidJS Dokumentation LiveCodes Dokumentation ', + link: '<1> <2>LiquidJS offizielle Website <3> <4>LiquidJS Dokumentation <5> <6>LiveCodes Dokumentation ', name: 'LiquidJS', }, livescript: { desc: 'Eine Sprache, die zu JavaScript kompiliert wird.', - link: '<1> LiveScript offizielle Website Lerne X in Y Minuten, wobei X=LiveScript Starter-Vorlage laden ', + link: '<1> <2>LiveScript offizielle Website <3> <4>Lerne X in Y Minuten, wobei X=LiveScript <5> <6>Starter-Vorlage laden ', name: 'LiveScript', }, lua: { desc: 'Lua läuft im Browser mit fengari-web.', - link: '<1>Lua offizielle Website Lua Dokumentation Fengari offizielle Website fengari-web GitHub Repository Lerne X in Y Minuten, wobei X=Lua LiveCodes Dokumentation Starter-Vorlage laden', + link: '<1><2>Lua offizielle Website <3> <4>Lua Dokumentation <5> <6>Fengari offizielle Website <7> <8>fengari-web GitHub Repository <9> <10>Lerne X in Y Minuten, wobei X=Lua <11> <12>LiveCodes Dokumentation <13><14>Starter-Vorlage laden', name: 'Lua', }, luaWasm: { desc: 'Lua läuft im Browser mit Wasmoon, einer echten Lua 5.4 VM mit JS-Bindungen, die mit WebAssembly erstellt wurde.', - link: '<1>Lua offizielle Website Lua Dokumentation Wasmoon GitHub Repository Lerne X in Y Minuten, wobei X=Lua LiveCodes Dokumentation Starter-Vorlage laden ', + link: '<1><2>Lua offizielle Website <3> <4>Lua Dokumentation <5> <6>Wasmoon GitHub Repository <7> <8>Lerne X in Y Minuten, wobei X=Lua <9> <10>LiveCodes Dokumentation <11> <12>Starter-Vorlage laden ', name: 'Lua (Wasm)', }, malina: { desc: 'Frontend-Compiler, inspiriert von Svelte.', - link: '<1> Malina.js Repository Malina.js Dokumentation Starter-Vorlage laden ', + link: '<1> <2>Malina.js Repository <3> <4>Malina.js Dokumentation <5> <6>Starter-Vorlage laden ', name: 'Malina.js', }, markdown: { desc: 'Markdown zu HTML kompiliert mit Marked.', - link: '<1> Markdown offizielle Website Marked Dokumentation Lerne X in Y Minuten, wobei X=Markdown Starter-Vorlage laden ', + link: '<1> <2>Markdown offizielle Website <3> <4>Marked Dokumentation <5> <6>Lerne X in Y Minuten, wobei X=Markdown <7> <8>Starter-Vorlage laden ', name: 'Markdown', }, mdx: { - desc: 'Markdown für die Komponenten-Ära. <1>MDX ermöglicht es Ihnen, nahtlos JSX in Ihren Markdown-Dokumenten zu schreiben.', - link: '<1>MDX Dokumentation Starter-Vorlage laden', + desc: 'Markdown für die Komponenten-Ära. <1>MDX ermöglicht es Ihnen, nahtlos JSX in Ihren Markdown-Dokumenten zu schreiben.', + link: '<1><2>MDX Dokumentation <3><4>Starter-Vorlage laden', name: 'MDX', }, mjml: { desc: 'MJML ist eine Auszeichnungssprache, die entwickelt wurde, um den Aufwand beim Codieren einer responsiven E-Mail zu reduzieren.', - link: '<1>MJML offizielle Website MJML Dokumentation MJML offizielle Vorlagen LiveCodes Dokumentation ', + link: '<1><2>MJML offizielle Website <3> <4>MJML Dokumentation <5> <6>MJML offizielle Vorlagen <7> <8>LiveCodes Dokumentation ', name: 'MJML', }, mustache: { desc: 'Logikfreie Templates.', - link: '<1> Offizielle Website mustache(5) Handbuch JavaScript-Implementierung LiveCodes Dokumentation ', + link: '<1> <2>Offizielle Website <3> <4>mustache(5) Handbuch <5> <6>JavaScript-Implementierung <7> <8>LiveCodes Dokumentation ', name: 'Mustache', }, nunjucks: { - desc: 'Eine leistungsstarke und vielseitige Templating-Sprache für JavaScript. Nunjucks ist im Wesentlichen eine Portierung von <1>jinja2.', - link: '<1> Offizielle Website LiveCodes Dokumentation ', + desc: 'Eine leistungsstarke und vielseitige Templating-Sprache für JavaScript. Nunjucks ist im Wesentlichen eine Portierung von <1>jinja2.', + link: '<1> <2>Offizielle Website <3> <4>LiveCodes Dokumentation ', name: 'Nunjucks', }, ocaml: { desc1: 'OCaml ist eine industrietaugliche Programmiersprache, die funktionale, imperative und objektorientierte Stile unterstützt.', desc2: 'Hier wird der ReScript-Compiler verwendet, um OCaml zu JavaScript zu kompilieren.', - link: '<1>OCaml Website OCaml Dokumentation ReScript Website Lerne X in Y Minuten, wobei X=OCaml Starter-Vorlage laden ', + link: '<1><2>OCaml Website <3> <4>OCaml Dokumentation <5> <6>ReScript Website <7> <8>Lerne X in Y Minuten, wobei X=OCaml <9> <10>Starter-Vorlage laden ', name: 'OCaml', }, perl: { desc: 'Perl läuft im Browser mit Perlito.', - link: '<1> Perl offizielle Website Perl Dokumentation Perlito5 Readme Lerne X in Y Minuten, wobei X=Perl Starter-Vorlage laden ', + link: '<1> <2>Perl offizielle Website <3> <4>Perl Dokumentation <5> <6>Perlito5 Readme <7> <8>Lerne X in Y Minuten, wobei X=Perl <9> <10>Starter-Vorlage laden ', name: 'Perl', }, php: { desc: 'PHP läuft im Browser mit Uniter.', - link: '<1>PHP offizielle Website PHP Dokumentation Uniter GitHub Repository Lerne X in Y Minuten, wobei X=PHP LiveCodes Dokumentation Starter-Vorlage laden', + link: '<1><2>PHP offizielle Website <3> <4>PHP Dokumentation <5> <6>Uniter GitHub Repository <7> <8>Lerne X in Y Minuten, wobei X=PHP <9> <10>LiveCodes Dokumentation <11><12>Starter-Vorlage laden', name: 'PHP', }, phpWasm: { desc: 'PHP im Browser, unterstützt durch WebAssembly, unter Verwendung von php-wasm.', - link: '<1>PHP offizielle Website PHP Dokumentation php-wasm GitHub Repository Lerne X in Y Minuten, wobei X=PHP LiveCodes Dokumentation Starter-Vorlage laden ', + link: '<1><2>PHP offizielle Website <3> <4>PHP Dokumentation <5> <6>php-wasm GitHub Repository <7> <8>Lerne X in Y Minuten, wobei X=PHP <9> <10>LiveCodes Dokumentation <11> <12>Starter-Vorlage laden ', name: 'PHP (Wasm)', }, postgresql: { desc: 'PostgreSQL als WASM verpackt mit PGlite', - link: '<1> PostgreSQL offizielle Website PostgreSQL Dokumentation PGlite GitHub Repository Lerne X in Y Minuten, wobei X=SQL Starter-Vorlage laden ', + link: '<1> <2>PostgreSQL offizielle Website <3> <4>PostgreSQL Dokumentation <5> <6>PGlite GitHub Repository <7> <8>Lerne X in Y Minuten, wobei X=SQL <9> <10>Starter-Vorlage laden ', name: 'PostgreSQL', }, prolog: { desc: 'Ein Open-Source-Prolog-Interpreter in JavaScript.', - link: '<1> Tau Prolog offizielle Website Tau Prolog Dokumentation SWI-Prolog Lerne X in Y Minuten, wobei X=Prolog Starter-Vorlage laden ', + link: '<1> <2>Tau Prolog offizielle Website <3> <4>Tau Prolog Dokumentation <5> <6>SWI-Prolog <7> <8>Lerne X in Y Minuten, wobei X=Prolog <9> <10>Starter-Vorlage laden ', name: 'Tau Prolog', }, pug: { desc: 'Robuste, elegante, funktionsreiche Template-Engine.', - link: '<1> Pug Dokumentation Lerne X in Y Minuten, wobei X=Pug LiveCodes Dokumentation ', + link: '<1> <2>Pug Dokumentation <3> <4>Lerne X in Y Minuten, wobei X=Pug <5> <6>LiveCodes Dokumentation ', name: 'Pug', }, python: { desc: 'Python läuft im Browser mit Brython.', - link: '<1> Python offizielle Website Python Dokumentation Brython Dokumentation Lerne X in Y Minuten, wobei X=Python LiveCodes Dokumentation Starter-Vorlage laden ', + link: '<1> <2>Python offizielle Website <3> <4>Python Dokumentation <5> <6>Brython Dokumentation <7> <8>Lerne X in Y Minuten, wobei X=Python <9> <10>LiveCodes Dokumentation <11> <12>Starter-Vorlage laden ', name: 'Python', }, pythonWasm: { desc1: 'Python mit dem wissenschaftlichen Stack, kompiliert zu WebAssembly mit Pyodide.', desc2: 'Pyodide ermöglicht die Verwendung des wissenschaftlichen Python-Stacks einschließlich NumPy, Pandas, Matplotlib, SciPy, scikit-learn und vielen mehr. Zusätzlich ist es möglich, reine Python-Wheels von PyPi zu installieren.', - link: '<1> Python offizielle Website Python Dokumentation Pyodide Dokumentation Lerne X in Y Minuten, wobei X=Python LiveCodes Dokumentation Starter-Vorlage laden ', + link: '<1> <2>Python offizielle Website <3> <4>Python Dokumentation <5><6>Pyodide Dokumentation <7> <8>Lerne X in Y Minuten, wobei X=Python <9> <10>LiveCodes Dokumentation <11> <12>Starter-Vorlage laden ', name: 'Python (Wasm)', }, r: { desc: 'R läuft im Browser mit WebR.', - link: '<1> Offizielle R-Projekt-Website Die R-Handbücher R für Data Science (2. Auflage) WebR-Dokumentation Lerne X in Y Minuten, wobei X=R LiveCodes Dokumentation Starter-Vorlage laden ', + link: '<1> <2>Offizielle R-Projekt-Website <3> <4>Die R-Handbücher <5> <6>R für Data Science (2. Auflage) <7> <8>WebR-Dokumentation <9> <10>Lerne X in Y Minuten, wobei X=R <11> <12>LiveCodes Dokumentation <13> <14>Starter-Vorlage laden ', name: 'R', }, reactNative: { desc: 'React Native für Web ist eine zugängliche Implementierung der Komponenten und APIs von React Native, die mit React DOM interoperabel ist.', - link: '<1> Offizielle React-Website React Native Website React Native für Web Website React Native Dokumentation LiveCodes Dokumentation Starter-Vorlage laden ', + link: '<1> <2>Offizielle React-Website <3> <4>React Native Website <5> <6>React Native für Web Website <7> <8>React Native Dokumentation <9> <10>LiveCodes Dokumentation <11> <12>Starter-Vorlage laden ', name: 'React Native für Web', }, reactNativeTsx: { desc: 'React Native für Web ist eine zugängliche Implementierung der Komponenten und APIs von React Native, die mit React DOM interoperabel ist.', - link: '<1> Offizielle React-Website React Native Website React Native für Web Website React Native Dokumentation TypeScript Website TypeScript Dokumentation LiveCodes Dokumentation Starter-Vorlage laden (JSX) ', + link: '<1> <2>Offizielle React-Website <3> <4>React Native Website <5> <6>React Native für Web Website <7> <8>React Native Dokumentation <9> <10>TypeScript Website <11> <12>TypeScript Dokumentation <13> <14>LiveCodes Dokumentation <15> <16>Starter-Vorlage laden (JSX) ', name: 'React Native für Web (mit TypeScript)', }, reason: { desc1: 'Reason ermöglicht es Ihnen, einfachen, schnellen und qualitativ hochwertigen typensicheren Code zu schreiben und dabei sowohl das JavaScript- als auch das OCaml-Ökosystem zu nutzen.', desc2: 'Der ReScript-Compiler wird hier verwendet, um Reason nach JavaScript zu kompilieren.', - link: '<1>Reason Website Reason Dokumentation ReasonReact ReScript Website Lerne X in Y Minuten, wobei X=Reason Starter-Vorlage laden ', + link: '<1><2>Reason Website <3> <4>Reason Dokumentation <5> <6>ReasonReact <7> <8>ReScript Website <9> <10>Lerne X in Y Minuten, wobei X=Reason <11> <12>Starter-Vorlage laden ', name: 'Reason', }, rescript: { desc: 'ReScript ist eine robust typisierte Sprache, die zu effizientem und lesbarem JavaScript kompiliert wird.', - link: '<1> ReScript Website ReScript / React Starter-Vorlage laden ', + link: '<1> <2>ReScript Website <3> <4>ReScript / React <5> <6>Starter-Vorlage laden ', name: 'ReScript', }, richtext: { desc1: 'Mit Quill:', desc2: 'Ihr leistungsstarker Rich-Text-Editor.', - link: '<1> Quill offizielle Website ', + link: '<1> <2>Quill offizielle Website ', name: 'Rich-Text-Editor', }, riot: { desc: 'Einfache und elegante komponentenbasierte UI-Bibliothek.', - link: '<1> Riot.js offizielle Website Riot.js Dokumentation Starter-Vorlage laden ', + link: '<1> <2>Riot.js offizielle Website <3> <4>Riot.js Dokumentation <5> <6>Starter-Vorlage laden ', name: 'Riot.js', }, ruby: { desc: 'Ruby läuft im Browser mit Opal.', - link: '<1> Ruby offizielle Website Ruby Dokumentation Opal offizielle Website Opal Standardbibliothek CDN Lerne X in Y Minuten, wobei X=Ruby LiveCodes Dokumentation Starter-Vorlage laden ', + link: '<1> <2>Ruby offizielle Website <3> <4>Ruby Dokumentation <5><6>Opal offizielle Website <7> <8>Opal Standardbibliothek CDN <9> <10>Lerne X in Y Minuten, wobei X=Ruby <11> <12>LiveCodes Dokumentation <13> <14>Starter-Vorlage laden ', name: 'Ruby', }, rubyWasm: { desc: 'Ruby läuft im Browser mit ruby-wasm (einer Sammlung von WebAssembly-Portierungen von CRuby).', - link: '<1> Ruby offizielle Website Ruby Dokumentation ruby.wasm Website CRuby Lerne X in Y Minuten, wobei X=Ruby LiveCodes Dokumentation Starter-Vorlage laden ', + link: '<1> <2>Ruby offizielle Website <3> <4>Ruby Dokumentation <5> <6>ruby.wasm Website <7><8>CRuby <9> <10>Lerne X in Y Minuten, wobei X=Ruby <11> <12>LiveCodes Dokumentation <13> <14>Starter-Vorlage laden ', name: 'Ruby (WASM)', }, sass: { desc: 'Syntaktisch Awesome Style Sheets.', - link: '<1> Sass offizielle Website Sass Dokumentation Sass (die eingerückte) Syntax Lerne X in Y Minuten, wobei X=Sass ', + link: '<1> <2>Sass offizielle Website <3> <4>Sass Dokumentation <5> <6>Sass (die eingerückte) Syntax <7> <8>Lerne X in Y Minuten, wobei X=Sass ', name: 'Sass', }, scheme: { desc: 'Scheme läuft im Browser mit biwascheme.', - link: '<1> Die Scheme Programmiersprache BiwaScheme offizielle Website BiwaScheme Referenz Starter-Vorlage laden ', + link: '<1> <2>Die Scheme Programmiersprache <3> <4>BiwaScheme offizielle Website <5> <6>BiwaScheme Referenz <7> <8>Starter-Vorlage laden ', name: 'Scheme', }, scss: { desc: 'Syntaktisch Awesome Style Sheets.', - link: '<1> Sass offizielle Website Sass Dokumentation SCSS Syntax Lerne X in Y Minuten, wobei X=Sass ', + link: '<1> <2>Sass offizielle Website <3> <4>Sass Dokumentation <5> <6>SCSS Syntax <7> <8>Lerne X in Y Minuten, wobei X=Sass ', name: 'SCSS', }, solid: { desc: 'Eine deklarative, effiziente und flexible JavaScript-Bibliothek zum Erstellen von Benutzeroberflächen.', - link: '<1>Offizielle Website Dokumentation LiveCodes Dokumentation Starter-Vorlage laden (TSX) ', + link: '<1><2>Offizielle Website <3><4>Dokumentation <5> <6>LiveCodes Dokumentation <7> <8>Starter-Vorlage laden (TSX) ', name: 'Solid', tsx: { desc: 'Eine deklarative, effiziente und flexible JavaScript-Bibliothek zum Erstellen von Benutzeroberflächen.', - link: '<1>Offizielle Website Solid Dokumentation TypeScript Website TypeScript Dokumentation LiveCodes Dokumentation Starter-Vorlage laden ', + link: '<1><2>Offizielle Website <3> <4>Solid Dokumentation <5> <6>TypeScript Website <7> <8>TypeScript Dokumentation <9> <10>LiveCodes Dokumentation <11> <12>Starter-Vorlage laden ', name: 'Solid (mit TypeScript)', }, }, sql: { desc: 'SQLite, kompiliert zu JavaScript mit SQL.js', - link: '<1> Offizielle SQLite-Website SQLite-Syntax-Dokumentation Offizielle SQL.js-Website Lerne X in Y Minuten, wobei X=SQL Starter-Vorlage laden', + link: '<1> <2>Offizielle SQLite-Website <3> <4>SQLite-Syntax-Dokumentation <5> <6>Offizielle SQL.js-Website <7> <8>Lerne X in Y Minuten, wobei X=SQL <9><10>Starter-Vorlage laden', name: 'SQLite', }, stencil: { desc: 'Ein Compiler für Webkomponenten und High-Performance-Webanwendungen.', - link: '<1> Offizielle Stencil-Website Stencil-Dokumentation Starter-Vorlage laden ', + link: '<1> <2>Offizielle Stencil-Website <3> <4>Stencil-Dokumentation <5> <6>Starter-Vorlage laden ', name: 'Stencil', }, styleProcessors: { - link: '<1> Tailwind CSS Windi CSS UnoCSS Lightning CSS PostCSS Plugins: Autoprefixer postcss-preset-env postcss-import-url postcss-modules ', + link: '<1> <2>Tailwind CSS <3> <4>Windi CSS <5> <6>UnoCSS <7> <8>Lightning CSS <9> <10>PostCSS Plugins: <11> <12> <13>Autoprefixer <14> <15>postcss-preset-env <16> <17>postcss-import-url <18> <19>postcss-modules ', name: 'CSS-Frameworks und -Prozessoren', }, stylis: { desc: 'Leichtgewichtiger CSS-Präprozessor.', - link: '<1> Offizielle Stylis-Website ', + link: '<1> <2>Offizielle Stylis-Website ', name: 'Stylis', }, stylus: { desc: 'Ausdrucksstarkes, dynamisches, robustes CSS.', - link: '<1> Offizielle Stylus-Website Lerne X in Y Minuten, wobei X=Stylus ', + link: '<1> <2>Offizielle Stylus-Website <3> <4>Lerne X in Y Minuten, wobei X=Stylus ', name: 'Stylus', }, sucrase: { desc: 'Superschnelle Alternative zu Babel für moderne JS-Laufzeitumgebungen.', - link: '<1> Offizielle Sucrase-Website Sucrase GitHub-Repository LiveCodes-Dokumentation ', + link: '<1> <2>Offizielle Sucrase-Website <3> <4>Sucrase GitHub-Repository <5> <6>LiveCodes-Dokumentation ', name: 'Sucrase', }, svelte: { desc: 'Kybernetisch verbesserte Webanwendungen.', - link: '<1> Offizielle Svelte-Website Svelte-Dokumentation Starter-Vorlage laden ', + link: '<1> <2>Offizielle Svelte-Website <3> <4>Svelte-Dokumentation <5> <6>Starter-Vorlage laden ', name: 'Svelte', }, tcl: { - desc: 'Tcl läuft im Browser mit <1>wacl.', - link: '<1> Offizielle Tcl-Website wacl-Repository Lerne X in Y Minuten, wobei X=Tcl Starter-Vorlage laden ', + desc: 'Tcl läuft im Browser mit <1>wacl.', + link: '<1> <2>Offizielle Tcl-Website <3> <4>wacl-Repository <5> <6>Lerne X in Y Minuten, wobei X=Tcl <7> <8>Starter-Vorlage laden ', name: 'Tcl (Tool Command Language)', }, teal: { desc: 'Ein typisierter Dialekt von Lua.', - link: '<1> Teal GitHub-Repository Teal-Dokumentation Teal-Tutorial LiveCodes-Dokumentation Starter-Vorlage laden ', + link: '<1> <2>Teal GitHub-Repository <3> <4>Teal-Dokumentation <5> <6>Teal-Tutorial <7> <8>LiveCodes-Dokumentation <9> <10>Starter-Vorlage laden ', name: 'Teal', }, tsx: { desc: 'TypeScript in JSX. TSX wird in LiveCodes mit dem TypeScript-Compiler zu JavaScript kompiliert. Standardmäßig verwendet es React als JSX-Laufzeitumgebung.', - link: '<1> Offizielle React-Website JSX in React-Dokumentation TypeScript-Dokumentation LiveCodes-Dokumentation ', + link: '<1> <2>Offizielle React-Website <3> <4>JSX in React-Dokumentation <5> <6>TypeScript-Dokumentation <7> <8>LiveCodes-Dokumentation ', name: 'TSX', }, twig: { - desc: 'Eine JavaScript-Implementierung der <1>Twig PHP-Templating-Sprache durch Twig.js.', - link: '<1> Offizielle Twig-Website Twig-Dokumentation Twig.js-Repository Twig.js-Dokumentation LiveCodes-Dokumentation ', + desc: 'Eine JavaScript-Implementierung der <1>Twig PHP-Templating-Sprache durch <2>Twig.js.', + link: '<1> <2>Offizielle Twig-Website <3> <4>Twig-Dokumentation <5> <6>Twig.js-Repository <7> <8>Twig.js-Dokumentation <9> <10>LiveCodes-Dokumentation ', name: 'Twig', }, typescript: { desc: 'Eine typisierte Obermenge von JavaScript.', - link: '<1> Offizielle Website TypeScript-Dokumentation Lerne X in Y Minuten, wobei X=TypeScript Starter-Vorlage laden ', + link: '<1> <2>Offizielle Website <3> <4>TypeScript-Dokumentation <5> <6>Lerne X in Y Minuten, wobei X=TypeScript <7> <8>Starter-Vorlage laden ', name: 'TypeScript', }, vue: { - link: '<1> Offizielle Vue.js v3-Website Vue3-Dokumentation Vue3 Single-File-Komponenten LiveCodes-Dokumentation Starter-Vorlage laden', + link: '<1> <2>Offizielle Vue.js v3-Website <3> <4>Vue3-Dokumentation <5> <6>Vue3 Single-File-Komponenten <7> <8>LiveCodes-Dokumentation <9><10>Starter-Vorlage laden', name: 'Vue3 Single-File-Komponenten', }, vue2: { desc: 'Geladen mit vue3-sfc-loader.', - link: '<1>Offizielle Vue.js-Website Vue2-Dokumentation Vue2 Single-File-Komponenten vue3-sfc-loader GitHub-Repository LiveCodes-Dokumentation ', + link: '<1><2>Offizielle Vue.js-Website <3> <4>Vue2-Dokumentation <5> <6>Vue2 Single-File-Komponenten <7> <8>vue3-sfc-loader GitHub-Repository <9> <10>LiveCodes-Dokumentation ', name: 'Vue2 Single-File-Komponenten', }, wat: { desc1: 'Textuelle Darstellung des WebAssembly (wasm) Binärformats auf niedriger Ebene.', desc2: 'Es wird mit wabt.js in wasm umgewandelt.', - link: '<1>WebAssembly.org WebAssembly-Textspezifikationen WebAssembly auf MDN Verständnis des WebAssembly-Textformats wabt.js-Dokumentation Lerne X in Y Minuten, wobei X=WebAssembly Starter-Vorlage laden', + link: '<1><2>WebAssembly.org <3> <4>WebAssembly-Textspezifikationen <5> <6>WebAssembly auf MDN <7> <8>Verständnis des WebAssembly-Textformats <9> <10>wabt.js-Dokumentation <11> <12>Lerne X in Y Minuten, wobei X=WebAssembly <13><14>Starter-Vorlage laden', name: 'WebAssembly-Textformat', }, }; diff --git a/src/livecodes/i18n/locales/de/translation.ts b/src/livecodes/i18n/locales/de/translation.ts index cc29fd639..c3f3624d1 100644 --- a/src/livecodes/i18n/locales/de/translation.ts +++ b/src/livecodes/i18n/locales/de/translation.ts @@ -14,9 +14,9 @@ const translation: I18nTranslation = { heading: 'Über LiveCodes', livecodes: { para1: - '<1>LiveCodes ist ein Open-Source, funktionsreiches, clientseitiger Code-Spielplatz. Derzeit werden über 80 Sprachen/Frameworks unterstützt. Es kann als eigenständige App verwendet oder in jede Webseite eingebettet werden. Es gibt viele Möglichkeiten, Spielplätze mit Code vorzufüllen.', + '<1><2>LiveCodes ist ein <3>Open-Source, <4>funktionsreiches, <5>clientseitiger Code-Spielplatz. Derzeit werden <6>über 80 Sprachen/<7>Frameworks unterstützt. Es kann als eigenständige App verwendet oder in jede Webseite <8>eingebettet werden. Es gibt viele Möglichkeiten, Spielplätze mit Code <9>vorzufüllen.', para2: - 'Eine breite Palette von <1>Konfigurationsoptionen macht es sehr flexibel. Ein leistungsstarkes SDK (für JS/TS, React, Vue und Svelte) erleichtert das Einbetten und die Kommunikation mit Spielplätzen. Umfassende Dokumentationen sind mit Codebeispielen, Live-Demos und Screenshots verfügbar.', + 'Eine breite Palette von <1>Konfigurationsoptionen macht es sehr flexibel. Ein leistungsstarkes <2>SDK (für <3>JS/TS, <4>React, <5>Vue und <6>Svelte) erleichtert das <7>Einbetten und die <8>Kommunikation mit Spielplätzen. <9>Umfassende Dokumentationen sind mit Codebeispielen, Live-Demos und Screenshots verfügbar.', }, version: { app: 'App-Version: {{APP_VERSION}}', @@ -28,6 +28,9 @@ const translation: I18nTranslation = { }, }, app: { + consoleMessage: { + learnMore: 'Erfahren Sie mehr! {{docsUrl}} 🚀', + }, copy: { hint: 'Kopieren (Strg/Cmd + A, Strg/Cmd + C)', }, @@ -81,12 +84,12 @@ const translation: I18nTranslation = { assets: { add: { dataURL: { - desc: 'Asset als Base64-kodierte <1>Daten-URL hinzufügen.', + desc: 'Asset als Base64-kodierte <1>Daten-URL hinzufügen.', heading: 'Daten-URL', label: 'Datei hinzufügen', }, githubPages: { - desc: 'Asset auf GitHub Pages bereitstellen. Die Datei wird in den <1>gh-pages-Branch des Repos livecodes-assets in Ihrem GitHub-Konto gepusht. Wenn das Repo noch nicht existiert, wird ein öffentliches Repo erstellt.', + desc: 'Asset auf GitHub Pages bereitstellen. Die Datei wird in den <1>gh-pages-Branch des Repos <2>livecodes-assets in Ihrem GitHub-Konto gepusht. Wenn das Repo noch nicht existiert, wird ein öffentliches Repo erstellt.', heading: 'GitHub Pages', label: 'Datei hochladen', }, @@ -157,7 +160,7 @@ const translation: I18nTranslation = { backup: { assets: 'Assets', button: 'Sichern', - desc: 'Sichern Sie LiveCodes-Daten, damit sie später auf diesem oder anderen Geräten wiederhergestellt werden können. <1> Bitte besuchen Sie die Dokumentation für Details.', + desc: 'Sichern Sie LiveCodes-Daten, damit sie später auf diesem oder anderen Geräten wiederhergestellt werden können. <1> Bitte besuchen Sie die <2>Dokumentation für Details.', heading: 'Sicherung', projects: 'Projekte', settings: 'Benutzereinstellungen', @@ -173,7 +176,7 @@ const translation: I18nTranslation = { heading: 'Sichern / Wiederherstellen', inProgress: 'In Bearbeitung...', restore: { - desc: 'Stellen Sie zuvor gesicherte LiveCodes-Daten wieder her. <1> Wenn Sie sich dafür entscheiden, den aktuellen Inhalt zu ersetzen, sollten Sie diesen möglicherweise zuerst sichern. Bitte besuchen Sie die Dokumentation für Details.', + desc: 'Stellen Sie zuvor gesicherte LiveCodes-Daten wieder her. <1> Wenn Sie sich dafür entscheiden, den aktuellen Inhalt zu ersetzen, sollten Sie diesen möglicherweise zuerst sichern. <2> Bitte besuchen Sie die <3>Dokumentation für Details.', fromFile: 'Aus Datei wiederherstellen', heading: 'Wiederherstellen', mode: { @@ -191,7 +194,7 @@ const translation: I18nTranslation = { broadcasting: 'Übertragung läuft...', channelURL: 'Kanal-URL', connecting: 'Verbindung wird hergestellt...', - desc: 'Übertragen Sie die Ergebnisseite in Echtzeit an andere Browser/Geräte. Bitte besuchen Sie die <1>Dokumentation für Details.', + desc: 'Übertragen Sie die Ergebnisseite in Echtzeit an andere Browser/Geräte. Bitte besuchen Sie die <1>Dokumentation für Details.', error: { generic: 'Übertragung fehlgeschlagen!', serverURLRequired: 'Server-URL ist erforderlich!', @@ -291,9 +294,9 @@ const translation: I18nTranslation = { }, deploy: { create: { - desc: 'Ein neues <1>öffentliches Repository wird erstellt. Die Ergebnisseite wird in den gh-pages Branch gepusht.', + desc: 'Ein neues <1>öffentliches Repository wird erstellt. Die Ergebnisseite wird in den <2>gh-pages Branch gepusht.', heading: 'Neues Repository erstellen', - repoName: 'Repository-Name <1>', + repoName: 'Repository-Name <1>', }, error: { generic: 'Bereitstellung fehlgeschlagen!', @@ -301,7 +304,7 @@ const translation: I18nTranslation = { repoNameRequired: 'Repository-Name ist erforderlich', }, existing: { - desc: 'Ein neuer Commit wird zum <1>gh-pages Branch hinzugefügt.', + desc: 'Ein neuer Commit wird zum <1>gh-pages Branch hinzugefügt.', heading: 'Bestehendes Repository', repoName: 'Repository-Name', }, @@ -322,7 +325,7 @@ const translation: I18nTranslation = { closeBrackets: 'Klammern und Anführungszeichen automatisch schließen', codeJarDesc: '* Die markierten Funktionen sind in CodeJar nicht verfügbar.', default: 'Standard', - desc: 'Bitte lesen Sie die <1>Dokumentation für Details.', + desc: 'Bitte lesen Sie die <1>Dokumentation für Details.', editor: { codejar: 'CodeJar', codemirror: 'CodeMirror', @@ -338,7 +341,7 @@ const translation: I18nTranslation = { emmet: 'Emmet aktivieren *', enableAI: { heading: 'KI-Code-Assistent aktivieren', - note: 'Unterstützt von <1>', + note: 'Unterstützt von <1><2>', }, fontFamily: 'Schriftart', fontSize: 'Schriftgröße', @@ -376,7 +379,7 @@ const translation: I18nTranslation = { copy: 'Code kopieren', heading: 'Code', }, - desc: 'Bitte lesen Sie die <1>Dokumentation für erweiterte Konfigurationen.', + desc: 'Bitte lesen Sie die <1>Dokumentation für erweiterte Konfigurationen.', embedType: { cdn: 'Skript (CDN)', heading: 'Einbettungstyp', @@ -447,17 +450,18 @@ const translation: I18nTranslation = { more: 'Mehr...', optional: 'Optional', required: 'Erforderlich', + tagline: 'Ein Code-Spielplatz, Der Einfach Funktioniert!', }, import: { bulk: { - desc: 'Massen-Import mehrerer Projekte in Ihre gespeicherten Projekte. Projekte können aus dem Bildschirm <1>Gespeicherte Projekte exportiert werden.', + desc: 'Massen-Import mehrerer Projekte in Ihre gespeicherten Projekte. Projekte können aus dem Bildschirm <1>Gespeicherte Projekte exportiert werden.', fromFile: 'Massen-Import aus lokaler Datei', fromURL: 'Massen-Import von URL', heading: 'Massen-Import', started: 'Massen-Import gestartet...', }, code: { - desc: 'Unterstützte Quellen: <1> GitHub Gist GitHub-Datei Verzeichnis in einem GitHub-Repository Gitlab-Snippet Gitlab-Datei Verzeichnis in einem Gitlab-Repository JS Bin Rohcode Code im Webseiten-DOM Code in ZIP-Datei Offizielle Playgrounds(TypeScript, Vue und Svelte) Bitte besuchen Sie die Dokumentation für Details.', + desc: 'Unterstützte Quellen: <1> <2>GitHub Gist <3>GitHub-Datei <4>Verzeichnis in einem GitHub-Repository <5>Gitlab-Snippet <6>Gitlab-Datei <7>Verzeichnis in einem Gitlab-Repository <8>JS Bin <9>Rohcode <10>Code im Webseiten-DOM <11>Code in ZIP-Datei <12>Offizielle Playgrounds<13>(TypeScript, Vue und Svelte) Bitte besuchen Sie die <14>Dokumentation für Details.', fromFile: 'Lokale Dateien importieren', fromURL: 'Von URL importieren', heading: 'Code importieren', @@ -482,7 +486,7 @@ const translation: I18nTranslation = { }, login: { accessAllowed: 'Zugriff erlauben auf:', - desc: '<1>Durch die Anmeldung stimmen Sie zu, dass Cookies auf Ihrem Gerät gespeichert werden dürfen. Warum werden diese Berechtigungen benötigt? Wie ändere/widerrufe ich Berechtigungen? ', + desc: '<1>Durch die Anmeldung stimmen Sie zu, dass <2>Cookies auf Ihrem Gerät gespeichert werden dürfen. <3> <4>Warum werden diese Berechtigungen benötigt? <5> <6>Wie ändere/widerrufe ich Berechtigungen? ', gist: 'Gists', heading: 'Mit GitHub anmelden', loginAs: 'Angemeldet als {{name}}', @@ -500,7 +504,7 @@ const translation: I18nTranslation = { broadcast: 'Übertragen …', customSettings: 'Benutzerdefinierte Einstellungen …', delay: { - heading: 'Verzögerung: <1>1,5s', + heading: 'Verzögerung: <1>1,5s', hint: 'Verzögerung vor automatischer Aktualisierung', }, deploy: 'Bereitstellen …', @@ -537,7 +541,7 @@ const translation: I18nTranslation = { hint: 'Drücken Sie Alt/Option und bewegen Sie den Cursor über die Ergebnisseite', }, snippets: 'Code-Snippets …', - sync: 'Synchronisieren (Beta) … <1> ⏳', + sync: 'Synchronisieren (Beta) … <1> ⏳', theme: 'Dunkles Theme', welcome: { heading: 'Willkommen …', @@ -590,11 +594,11 @@ const translation: I18nTranslation = { recoverPrompt: { desc: 'Ihr letztes Projekt hat ungespeicherte Änderungen!', heading: 'Ungespeichertes Projekt wiederherstellen?', - meta: 'Titel: <1> Zuletzt geändert: ', + meta: 'Titel: <1> <2> Zuletzt geändert: <3>', notShowAgain: 'Dies nicht mehr anzeigen.', prompt: { discard: 'Ungespeichertes Projekt verwerfen', - heading: '<1>Möchten Sie es jetzt wiederherstellen?', + heading: '<1>Möchten Sie es jetzt wiederherstellen?', recover: 'Projekt im Editor wiederherstellen', save: 'Auf Gerät speichern und fortfahren', }, @@ -613,13 +617,13 @@ const translation: I18nTranslation = { }, fonts: { add: 'Hinzufügen', - heading: 'Schriftarten <1>(bereitgestellt von Google Fonts)', + heading: 'Schriftarten <1>(bereitgestellt von Google Fonts)', select: 'Schriftart auswählen ...', }, heading: 'Externe Ressourcen', scripts: 'Externe Skripte', search: { - heading: 'Pakete suchen <1>(bereitgestellt von jsDelivr)', + heading: 'Pakete suchen <1>(bereitgestellt von jsDelivr)', placeholder: 'z.B. jquery, lodash@4, bootstrap@5.2.3, ...', }, stylesheets: 'Externe Stylesheets', @@ -632,7 +636,7 @@ const translation: I18nTranslation = { cancel: 'Abbrechen', discard: 'Nicht speichern', heading: - 'Die von Ihnen vorgenommenen Änderungen werden möglicherweise nicht gespeichert. <1> Möchten Sie jetzt speichern?', + 'Die von Ihnen vorgenommenen Änderungen werden möglicherweise nicht gespeichert. <1> Möchten Sie jetzt speichern?', save: 'Speichern', }, }, @@ -730,7 +734,7 @@ const translation: I18nTranslation = { sync: { autoSync: 'Automatische Synchronisierung', create: { - desc: 'Ein neues <1>privates Repository wird erstellt. Ihre lokalen LiveCodes-Daten werden mit dem main-Branch synchronisiert.', + desc: 'Ein neues <1>privates Repository wird erstellt. Ihre lokalen LiveCodes-Daten werden mit dem <2>main-Branch synchronisiert.', heading: 'Neues Repository erstellen', repoName: 'Repository-Name', }, @@ -739,7 +743,7 @@ const translation: I18nTranslation = { repoNameRequired: 'Repository-Name ist erforderlich', }, existing: { - desc: 'Ihre lokalen LiveCodes-Daten werden mit dem <1>main-Branch synchronisiert.', + desc: 'Ihre lokalen LiveCodes-Daten werden mit dem <1>main-Branch synchronisiert.', heading: 'Bestehendes Repository', repoName: 'Repository-Name', }, @@ -753,7 +757,7 @@ const translation: I18nTranslation = { templates: { heading: 'Neues Projekt', noUserTemplates: { - desc: 'Sie können ein Projekt als Vorlage speichern unter <1>(App-Menü > Speichern unter > Vorlage).', + desc: 'Sie können ein Projekt als Vorlage speichern unter <1>(App-Menü > Speichern unter > Vorlage).', heading: 'Sie haben keine gespeicherten Vorlagen.', }, starter: { @@ -840,16 +844,16 @@ const translation: I18nTranslation = { }, test: { edit: 'Bearbeiten', - error: '<1>Testfehler!', - loading: '<1>Lade Tests...', - noTest: '<1>Dieses Projekt hat keine Tests!', + error: '<1><2>Testfehler!', + loading: '<1>Lade Tests...', + noTest: '<1>Dieses Projekt hat keine Tests!', reset: 'Zurücksetzen', run: { desc: 'Strg/Cmd + Alt + T', heading: 'Ausführen', }, summary: { - desc: 'Tests: {{failed}}\n {{passed}}\n {{skipped}}\n {{total}}<1>\nZeit: {{duration}}s', + desc: 'Tests: {{failed}}\n {{passed}}\n {{skipped}}\n {{total}}<1>\nZeit: {{duration}}s', failed: '{{failedNum}} fehlgeschlagen', passed: '{{passedNum}} bestanden', skipped: '{{skippedNum}} übersprungen', @@ -874,7 +878,7 @@ const translation: I18nTranslation = { recover: { cancel: 'Abbrechen', heading: 'Wiederherstellen', - lastModified: 'Zuletzt geändert: <1>', + lastModified: 'Zuletzt geändert: <1>', recover: 'Wiederherstellen', save: 'Speichern', unsavedChanges: 'Ihr letztes Projekt hatte ungespeicherte Änderungen:', diff --git a/src/livecodes/i18n/locales/es/language-info.ts b/src/livecodes/i18n/locales/es/language-info.ts index aa35f99bc..a2ff53db2 100644 --- a/src/livecodes/i18n/locales/es/language-info.ts +++ b/src/livecodes/i18n/locales/es/language-info.ts @@ -5,107 +5,107 @@ import type { I18nLangInfoTranslation } from '../models'; const languageInfo: I18nLangInfoTranslation = { artTemplate: { desc: 'Motor de plantillas JavaScript de alto rendimiento.', - link: '<1> Sitio web oficial de art-template Documentación de art-template ', + link: '<1> <2>Sitio web oficial de art-template <3> <4>Documentación de art-template ', name: 'art-template', }, asciidoc: { desc: 'AsciiDoc compilado a HTML usando Asciidoctor.', - link: '<1> Sitio web oficial de AsciiDoc Sitio web oficial de Asciidoctor Documentación de Asciidoctor Aprende X en Y minutos, donde X=asciidoc ', + link: '<1> <2>Sitio web oficial de AsciiDoc <3> <4>Sitio web oficial de Asciidoctor <5> <6>Documentación de Asciidoctor <7> <8>Aprende X en Y minutos, donde X=asciidoc ', name: 'AsciiDoc', }, assemblyscript: { desc: 'Un lenguaje similar a TypeScript para WebAssembly.', - link: '<1> Sitio web oficial de AssemblyScript Documentación de AssemblyScript Cargar plantilla inicial ', + link: '<1> <2>Sitio web oficial de AssemblyScript <3> <4>Documentación de AssemblyScript <5> <6>Cargar plantilla inicial ', name: 'AssemblyScript', }, astro: { desc: 'Construye sitios web más rápidos con menos JavaScript del lado del cliente. (Aún en Beta)', - link: '<1> Sitio web oficial de Astro Documentación de Astro Cargar plantilla inicial ', + link: '<1> <2>Sitio web oficial de Astro <3> <4>Documentación de Astro <5> <6>Cargar plantilla inicial ', name: 'Astro', }, babel: { desc: 'El compilador de JavaScript', - link: '<1>Sitio web oficial Documentación de Babel ', + link: '<1><2>Sitio web oficial <3> <4>Documentación de Babel ', name: 'Babel', }, bbcode: { desc: 'BBCode ("Bulletin Board Code") es un lenguaje de marcado ligero utilizado para formatear mensajes en muchos software de foros de Internet.', - link: '<1>bbcode.org Guía de BBCode BBCode en Wikipedia ', + link: '<1><2>bbcode.org <3> <4>Guía de BBCode <5> <6>BBCode en Wikipedia ', name: 'BBCode', }, blockly: { desc: 'Una biblioteca JavaScript para construir editores de programación visual.', - link: '<1> Sitio web oficial Guías Referencia Ejemplos Cargar plantilla inicial ', + link: '<1> <2>Sitio web oficial <3> <4>Guías <5> <6>Referencia <7> <8>Ejemplos <9> <10>Cargar plantilla inicial ', name: 'Blockly', }, civet: { desc: 'Civet es un lenguaje de programación que compila a TypeScript o JavaScript, por lo que puedes usar herramientas existentes pero habilitar una sintaxis concisa y potente.', - link: '<1> Sitio web oficial de Civet Hoja de trucos de Civet Cargar plantilla inicial ', + link: '<1> <2>Sitio web oficial de Civet <3> <4>Hoja de trucos de Civet <5> <6>Cargar plantilla inicial ', name: 'Civet', }, clio: { desc: 'Clio es un lenguaje de programación funcional rápido y distribuido que compila a JavaScript.', - link: '<1> Sitio web oficial de Clio Documentación de Clio Cargar plantilla inicial ', + link: '<1> <2>Sitio web oficial de Clio <3> <4>Documentación de Clio <5> <6>Cargar plantilla inicial ', name: 'Clio', }, clojurescript: { - desc: 'ClojureScript es un compilador para <1>Clojure que tiene como objetivo JavaScript. En LiveCodes, se ejecuta en el navegador usando Cherry.', - link: '<1> Sitio web oficial de ClojureScript Sitio web oficial de Clojure Repositorio de Cherry Aprende X en Y minutos, donde X=clojure Documentación de LiveCodes Cargar plantilla inicial ', + desc: 'ClojureScript es un compilador para <1>Clojure que tiene como objetivo JavaScript. <2>En LiveCodes, se ejecuta en el navegador usando <3>Cherry.', + link: '<1> <2>Sitio web oficial de ClojureScript <3> <4>Sitio web oficial de Clojure <5> <6>Repositorio de Cherry <7> <8>Aprende X en Y minutos, donde X=clojure <9> <10>Documentación de LiveCodes <11> <12>Cargar plantilla inicial ', name: 'ClojureScript (CLJS)', }, coffeescript: { desc: 'JavaScript sin complicaciones.', - link: '<1> Sitio web oficial de CoffeeScript Aprende X en Y minutos, donde X=coffeescript Cargar plantilla inicial ', + link: '<1> <2>Sitio web oficial de CoffeeScript <3> <4>Aprende X en Y minutos, donde X=coffeescript <5> <6>Cargar plantilla inicial ', name: 'CoffeeScript', }, commonlisp: { desc: 'Una implementación de Common Lisp en Javascript usando JSCL (un compilador de Lisp a Javascript inicializado desde Common Lisp).', - link: '<1> Common-Lisp.net Proyecto JSCL Recursos de Common Lisp Aprende X en Y minutos, donde X=Common Lisp Cargar plantilla inicial ', + link: '<1> <2>Common-Lisp.net <3> <4>Proyecto JSCL <5> <6>Recursos de Common Lisp <7> <8>Aprende X en Y minutos, donde X=Common Lisp <9> <10>Cargar plantilla inicial ', name: 'Common Lisp', }, cpp: { desc1: 'Soporte de C++ usando JSCPP (un intérprete simple de C++ escrito en JavaScript).', desc2: - 'No es una implementación completa de C++. Por favor, consulta la <1>documentación de JSCPP para más detalles.', - link: '<1> Fundación Standard C++ JSCPP Aprende X en Y minutos, donde X=C++ Cargar plantilla inicial ', + 'No es una implementación completa de C++. Por favor, consulta la <1>documentación de JSCPP para más detalles.', + link: '<1> <2>Fundación Standard C++ <3> <4>JSCPP <5> <6>Aprende X en Y minutos, donde X=C++ <7> <8>Cargar plantilla inicial ', name: 'C++', }, cppWasm: { - desc: 'Compilador Clang C/C++ ejecutándose en WebAssembly, usando <1>wasm-clang adaptado por polylang.io.', - link: '<1> Fundación Standard C++ Sitio web oficial de Clang Aprende X en Y minutos, donde X=C++ Cargar plantilla inicial ', + desc: 'Compilador Clang C/C++ ejecutándose en WebAssembly, usando <1>wasm-clang adaptado por <2>polylang.io.', + link: '<1> <2>Fundación Standard C++ <3> <4>Sitio web oficial de Clang <5> <6>Aprende X en Y minutos, donde X=C++ <7> <8>Cargar plantilla inicial ', name: 'C/C++ (Wasm)', }, diagrams: { desc1: '(Experimental)', desc2: 'Diagramas como código. Soporta:', desc3: - '<1> Cytoscape ELK (usando elkjs) Gnuplot (usando gnuplot-JS) Graphviz (usando @hpcc-js/wasm) Mermaid Nomnoml Pintora Plotly Svgbob Vega VegaLite WaveDrom ', - link: '<1> Cargar plantilla inicial Documentación de LiveCodes ', + '<1> <2>Cytoscape <3> <4>ELK (usando <5>elkjs) <6> <7>Gnuplot (usando <8>gnuplot-JS) <9> <10>Graphviz (usando <11>@hpcc-js/wasm) <12> <13>Mermaid <14> <15>Nomnoml <16> <17>Pintora <18> <19>Plotly <20> <21>Svgbob <22> <23>Vega <24> <25>VegaLite <26> <27>WaveDrom ', + link: '<1> <2>Cargar plantilla inicial <3> <4>Documentación de LiveCodes ', name: 'Diagramas', }, dot: { desc: 'El motor de plantillas JavaScript más rápido y conciso para Node.js y navegadores.', - link: '<1> Sitio web oficial Documentación de LiveCodes ', + link: '<1> <2>Sitio web oficial <3> <4>Documentación de LiveCodes ', name: 'doT.js', }, ejs: { desc: 'Plantillas de JavaScript integradas.', - link: '<1>Sitio web oficial Documentación de LiveCodes ', + link: '<1><2>Sitio web oficial <3> <4>Documentación de LiveCodes ', name: 'EJS', }, eta: { desc: 'Motor de plantillas JS integrado para Node, Deno y el navegador. Ligero, rápido y conectable. Escrito en TypeScript.', - link: '<1>Sitio web oficial Documentación Documentación de LiveCodes ', + link: '<1><2>Sitio web oficial <3> <4>Documentación <5> <6>Documentación de LiveCodes ', name: 'Eta', }, fennel: { desc: 'Fennel es un lenguaje de programación que combina la velocidad, simplicidad y alcance de Lua con la flexibilidad de una sintaxis de lisp y un sistema de macros.', - link: '<1> Sitio web oficial de Fennel Introducción a Fennel Documentación de LiveCodes Cargar plantilla inicial ', + link: '<1> <2>Sitio web oficial de Fennel <3> <4>Introducción a Fennel <5> <6>Documentación de LiveCodes <7> <8>Cargar plantilla inicial ', name: 'Fennel', }, flow: { desc: 'Flow es un verificador de tipos estático para JavaScript.', - link: '<1> Sitio web oficial de Flow Documentación de Flow ', + link: '<1> <2>Sitio web oficial de Flow <3> <4>Documentación de Flow ', name: 'Flow', }, gleam: { @@ -113,292 +113,292 @@ const languageInfo: I18nLangInfoTranslation = { '¡Gleam es un lenguaje amigable para construir sistemas escalables y seguros en cuanto a tipos!', desc2: 'Gleam es un lenguaje de programación funcional con tipos estáticos, que compila a Erlang o JavaScript.', - link: '<1>Sitio web de Gleam Documentación de Gleam Tour del lenguaje Gleam Cargar plantilla inicial ', + link: '<1><2>Sitio web de Gleam <3> <4>Documentación de Gleam <5> <6>Tour del lenguaje Gleam <7> <8>Cargar plantilla inicial ', name: 'Gleam', }, go: { desc1: 'Go (Golang) es un lenguaje de programación de código abierto que facilita la construcción de software simple, confiable y eficiente.', desc2: 'Aquí, se compila a JavaScript usando GopherJS.', - link: '<1>Sitio web de Go Documentación de Go Repositorio de GopherJS Aprende X en Y minutos, donde X=Go Cargar plantilla inicial', + link: '<1><2>Sitio web de Go <3><4>Documentación de Go <5> <6>Repositorio de GopherJS <7> <8>Aprende X en Y minutos, donde X=Go <9><10>Cargar plantilla inicial', name: 'Go', }, haml: { desc: 'Compilador Haml para plantillas de vista JavaScript del lado del cliente usando clientside-haml-js.', - link: '<1>Sitio web oficial de Haml Documentación de Haml Repositorio GitHub de clientside-haml-js Aprende X en Y minutos, donde X=haml Documentación de LiveCodes ', + link: '<1><2>Sitio web oficial de Haml <3> <4>Documentación de Haml <5> <6>Repositorio GitHub de clientside-haml-js <7> <8>Aprende X en Y minutos, donde X=haml <9> <10>Documentación de LiveCodes ', name: 'Haml', }, handlebars: { desc: 'Plantillas minimalistas con esteroides.', - link: '<1>Sitio web oficial Documentación de LiveCodes ', + link: '<1><2>Sitio web oficial <3> <4>Documentación de LiveCodes ', name: 'Handlebars', }, imba: { desc: 'El lenguaje amigable de pila completa.', - link: '<1>Sitio web oficial', + link: '<1><2>Sitio web oficial', name: 'Imba', }, jsx: { desc: 'JSX se compila a JavaScript en LiveCodes usando el Compilador de TypeScript. Por defecto, utiliza React como el tiempo de ejecución de JSX.', - link: '<1> Sitio web oficial de React Documentación de JSX en React Documentación de LiveCodes Cargar plantilla inicial ', + link: '<1> <2>Sitio web oficial de React <3> <4>Documentación de JSX en React <5> <6>Documentación de LiveCodes <7> <8>Cargar plantilla inicial ', name: 'JSX', }, julia: { desc1: '(El soporte del lenguaje Julia en LiveCodes aún es experimental)', desc2: - 'Compilador de Julia y Julia Base ejecutándose en WASM, utilizando <1>julia-wasm adaptado por polylang.io.', - link: '<1> Sitio web oficial de Julia Documentación de Julia Aprende X en Y minutos, donde X=Julia Cargar plantilla inicial ', + 'Compilador de Julia y Julia Base ejecutándose en WASM, utilizando <1>julia-wasm adaptado por <2>polylang.io.', + link: '<1> <2>Sitio web oficial de Julia <3> <4>Documentación de Julia <5> <6>Aprende X en Y minutos, donde X=Julia <7> <8>Cargar plantilla inicial ', name: 'Julia', }, less: { desc: 'Es CSS, con un poco más.', - link: '<1>Sitio web oficial de Less Aprende X en Y minutos, donde X=less ', + link: '<1><2>Sitio web oficial de Less <3> <4>Aprende X en Y minutos, donde X=less ', name: 'Less', }, liquid: { desc: 'Un motor de plantillas simple, expresivo y seguro.', - link: '<1> Sitio web oficial de LiquidJS Documentación de LiquidJS Documentación de LiveCodes ', + link: '<1> <2>Sitio web oficial de LiquidJS <3> <4>Documentación de LiquidJS <5> <6>Documentación de LiveCodes ', name: 'LiquidJS', }, livescript: { desc: 'Un lenguaje que se compila a JavaScript.', - link: '<1> Sitio web oficial de LiveScript Aprende X en Y minutos, donde X=LiveScript Cargar plantilla inicial ', + link: '<1> <2>Sitio web oficial de LiveScript <3> <4>Aprende X en Y minutos, donde X=LiveScript <5> <6>Cargar plantilla inicial ', name: 'LiveScript', }, lua: { desc: 'Lua ejecutándose en el navegador usando fengari-web.', - link: '<1>Sitio web oficial de Lua Documentación de Lua Sitio web oficial de Fengari Repositorio GitHub de fengari-web Aprende X en Y minutos, donde X=Lua Documentación de LiveCodes Cargar plantilla inicial', + link: '<1><2>Sitio web oficial de Lua <3> <4>Documentación de Lua <5> <6>Sitio web oficial de Fengari <7> <8>Repositorio GitHub de fengari-web <9> <10>Aprende X en Y minutos, donde X=Lua <11> <12>Documentación de LiveCodes <13><14>Cargar plantilla inicial', name: 'Lua', }, luaWasm: { desc: 'Lua ejecutándose en el navegador usando Wasmoon, una verdadera máquina virtual Lua 5.4 con enlaces JS hecha con WebAssembly.', - link: '<1>Sitio web oficial de Lua Documentación de Lua Repositorio GitHub de Wasmoon Aprende X en Y minutos, donde X=Lua Documentación de LiveCodes Cargar plantilla inicial ', + link: '<1><2>Sitio web oficial de Lua <3> <4>Documentación de Lua <5> <6>Repositorio GitHub de Wasmoon <7> <8>Aprende X en Y minutos, donde X=Lua <9> <10>Documentación de LiveCodes <11> <12>Cargar plantilla inicial ', name: 'Lua (Wasm)', }, malina: { desc: 'Compilador frontend, inspirado en Svelte.', - link: '<1> Repositorio de Malina.js Documentación de Malina.js Cargar plantilla inicial ', + link: '<1> <2>Repositorio de Malina.js <3> <4>Documentación de Malina.js <5> <6>Cargar plantilla inicial ', name: 'Malina.js', }, markdown: { desc: 'Markdown compilado a HTML usando Marked.', - link: '<1> Sitio web oficial de Markdown Documentación de Marked Aprende X en Y minutos, donde X=markdown Cargar plantilla inicial ', + link: '<1> <2>Sitio web oficial de Markdown <3> <4>Documentación de Marked <5> <6>Aprende X en Y minutos, donde X=markdown <7> <8>Cargar plantilla inicial ', name: 'Markdown', }, mdx: { - desc: 'Markdown para la era de los componentes. <1>MDX te permite escribir JSX sin problemas en tus documentos Markdown.', - link: '<1>Documentación de MDX Cargar plantilla inicial', + desc: 'Markdown para la era de los componentes. <1>MDX te permite escribir JSX sin problemas en tus documentos Markdown.', + link: '<1><2>Documentación de MDX <3><4>Cargar plantilla inicial', name: 'MDX', }, mjml: { desc: 'MJML es un lenguaje de marcado diseñado para reducir el dolor de codificar un correo electrónico responsive.', - link: '<1>Sitio web oficial de MJML Documentación de MJML Plantillas oficiales de MJML Documentación de LiveCodes ', + link: '<1><2>Sitio web oficial de MJML <3> <4>Documentación de MJML <5> <6>Plantillas oficiales de MJML <7> <8>Documentación de LiveCodes ', name: 'MJML', }, mustache: { desc: 'Plantillas sin lógica.', - link: '<1> Sitio web oficial Manual de mustache(5) Implementación en JavaScript Documentación de LiveCodes ', + link: '<1> <2>Sitio web oficial <3> <4>Manual de mustache(5) <5> <6>Implementación en JavaScript <7> <8>Documentación de LiveCodes ', name: 'Mustache', }, nunjucks: { - desc: 'Un lenguaje de plantillas rico y poderoso para JavaScript. Nunjucks es esencialmente un puerto de <1>jinja2.', - link: '<1> Sitio web oficial Documentación de LiveCodes ', + desc: 'Un lenguaje de plantillas rico y poderoso para JavaScript. Nunjucks es esencialmente un puerto de <1>jinja2.', + link: '<1> <2>Sitio web oficial <3> <4>Documentación de LiveCodes ', name: 'Nunjucks', }, ocaml: { desc1: 'OCaml es un lenguaje de programación de calidad industrial que admite estilos funcionales, imperativos y orientados a objetos.', desc2: 'Aquí se utiliza el compilador ReScript para compilar OCaml a JavaScript.', - link: '<1>Sitio web de OCaml Documentación de OCaml Sitio web de ReScript Aprende X en Y minutos, donde X=OCaml Cargar plantilla inicial ', + link: '<1><2>Sitio web de OCaml <3> <4>Documentación de OCaml <5> <6>Sitio web de ReScript <7> <8>Aprende X en Y minutos, donde X=OCaml <9> <10>Cargar plantilla inicial ', name: 'OCaml', }, perl: { desc: 'Perl ejecutándose en el navegador usando Perlito.', - link: '<1> Sitio web oficial de Perl Documentación de Perl Readme de Perlito5 Aprende X en Y minutos, donde X=perl Cargar plantilla inicial ', + link: '<1> <2>Sitio web oficial de Perl <3> <4>Documentación de Perl <5> <6>Readme de Perlito5 <7> <8>Aprende X en Y minutos, donde X=perl <9> <10>Cargar plantilla inicial ', name: 'Perl', }, php: { desc: 'PHP ejecutándose en el navegador usando Uniter.', - link: '<1>Sitio web oficial de PHP Documentación de PHP Repositorio GitHub de Uniter Aprende X en Y minutos, donde X=PHP Documentación de LiveCodes Cargar plantilla inicial', + link: '<1><2>Sitio web oficial de PHP <3> <4>Documentación de PHP <5> <6>Repositorio GitHub de Uniter <7> <8>Aprende X en Y minutos, donde X=PHP <9> <10>Documentación de LiveCodes <11><12>Cargar plantilla inicial', name: 'PHP', }, phpWasm: { desc: 'PHP en el navegador, impulsado por WebAssembly, usando php-wasm.', - link: '<1>Sitio web oficial de PHP Documentación de PHP Repositorio GitHub de php-wasm Aprende X en Y minutos, donde X=PHP Documentación de LiveCodes Cargar plantilla inicial ', + link: '<1><2>Sitio web oficial de PHP <3> <4>Documentación de PHP <5> <6>Repositorio GitHub de php-wasm <7> <8>Aprende X en Y minutos, donde X=PHP <9> <10>Documentación de LiveCodes <11> <12>Cargar plantilla inicial ', name: 'PHP (Wasm)', }, postgresql: { desc: 'PostgreSQL empaquetado como WASM usando PGlite', - link: '<1> Sitio web oficial de PostgreSQL Documentación de PostgreSQL Repositorio GitHub de PGlite Aprende X en Y minutos, donde X=SQL Cargar plantilla inicial ', + link: '<1> <2>Sitio web oficial de PostgreSQL <3> <4>Documentación de PostgreSQL <5> <6>Repositorio GitHub de PGlite <7> <8>Aprende X en Y minutos, donde X=SQL <9> <10>Cargar plantilla inicial ', name: 'PostgreSQL', }, prolog: { desc: 'Un intérprete de Prolog de código abierto en JavaScript.', - link: '<1> Sitio web oficial de Tau Prolog Documentación de Tau Prolog SWI-Prolog Aprende X en Y minutos, donde X=Prolog Cargar plantilla inicial ', + link: '<1> <2>Sitio web oficial de Tau Prolog <3> <4>Documentación de Tau Prolog <5> <6>SWI-Prolog <7> <8>Aprende X en Y minutos, donde X=Prolog <9> <10>Cargar plantilla inicial ', name: 'Tau Prolog', }, pug: { desc: 'Motor de plantillas robusto, elegante y rico en características.', - link: '<1> Documentación de Pug Aprende X en Y minutos, donde X=Pug Documentación de LiveCodes ', + link: '<1> <2>Documentación de Pug <3> <4>Aprende X en Y minutos, donde X=Pug <5> <6>Documentación de LiveCodes ', name: 'Pug', }, python: { desc: 'Python ejecutándose en el navegador usando Brython.', - link: '<1> Sitio web oficial de Python Documentación de Python Documentación de Brython Aprende X en Y minutos, donde X=Python Documentación de LiveCodes Cargar plantilla inicial ', + link: '<1> <2>Sitio web oficial de Python <3> <4>Documentación de Python <5> <6>Documentación de Brython <7> <8>Aprende X en Y minutos, donde X=Python <9> <10>Documentación de LiveCodes <11> <12>Cargar plantilla inicial ', name: 'Python', }, pythonWasm: { desc1: 'Python con el stack científico, compilado a WebAssembly usando Pyodide.', desc2: 'Pyodide permite usar el stack científico de Python incluyendo NumPy, Pandas, Matplotlib, SciPy, scikit-learn y muchos más. Además, es posible instalar paquetes puros de Python desde PyPi.', - link: '<1> Sitio web oficial de Python Documentación de Python Documentación de Pyodide Aprende X en Y minutos, donde X=Python Documentación de LiveCodes Cargar plantilla inicial ', + link: '<1> <2>Sitio web oficial de Python <3> <4>Documentación de Python <5><6>Documentación de Pyodide <7> <8>Aprende X en Y minutos, donde X=Python <9> <10>Documentación de LiveCodes <11> <12>Cargar plantilla inicial ', name: 'Python (Wasm)', }, r: { desc: 'R ejecutándose en el navegador usando WebR.', - link: '<1> Sitio web oficial del proyecto R Los manuales de R R para Ciencia de Datos (2a ed.) Documentación de WebR Aprende X en Y minutos, donde X=R Documentación de LiveCodes Cargar plantilla inicial ', + link: '<1> <2>Sitio web oficial del proyecto R <3> <4>Los manuales de R <5> <6>R para Ciencia de Datos (2a ed.) <7> <8>Documentación de WebR <9> <10>Aprende X en Y minutos, donde X=R <11> <12>Documentación de LiveCodes <13> <14>Cargar plantilla inicial ', name: 'R', }, reactNative: { desc: 'React Native para Web es una implementación accesible de los Componentes y APIs de React Native que es interoperable con React DOM.', - link: '<1> Sitio web oficial de React Sitio web de React Native Sitio web de React Native para Web Documentación de React Native Documentación de LiveCodes Cargar plantilla inicial ', + link: '<1> <2>Sitio web oficial de React <3> <4>Sitio web de React Native <5> <6>Sitio web de React Native para Web <7> <8>Documentación de React Native <9> <10>Documentación de LiveCodes <11> <12>Cargar plantilla inicial ', name: 'React Native para Web', }, reactNativeTsx: { desc: 'React Native para Web es una implementación accesible de los Componentes y APIs de React Native que es interoperable con React DOM.', - link: '<1> Sitio web oficial de React Sitio web de React Native Sitio web de React Native para Web Documentación de React Native Sitio web de TypeScript Documentación de TypeScript Documentación de LiveCodes Cargar plantilla inicial (JSX) ', + link: '<1> <2>Sitio web oficial de React <3> <4>Sitio web de React Native <5> <6>Sitio web de React Native para Web <7> <8>Documentación de React Native <9> <10>Sitio web de TypeScript <11> <12>Documentación de TypeScript <13> <14>Documentación de LiveCodes <15> <16>Cargar plantilla inicial (JSX) ', name: 'React Native para Web (con TypeScript)', }, reason: { desc1: 'Reason te permite escribir código simple, rápido y de calidad con seguridad de tipos mientras aprovechas los ecosistemas de JavaScript y OCaml.', desc2: 'Aquí se utiliza el compilador ReScript para compilar Reason a JavaScript.', - link: '<1>Sitio web de Reason Documentación de Reason ReasonReact Sitio web de ReScript Aprende X en Y minutos, donde X=reason Cargar plantilla inicial ', + link: '<1><2>Sitio web de Reason <3> <4>Documentación de Reason <5> <6>ReasonReact <7> <8>Sitio web de ReScript <9> <10>Aprende X en Y minutos, donde X=reason <11> <12>Cargar plantilla inicial ', name: 'Reason', }, rescript: { desc: 'ReScript es un lenguaje con tipado robusto que se compila a JavaScript eficiente y legible por humanos.', - link: '<1> Sitio web de ReScript ReScript / React Cargar plantilla inicial ', + link: '<1> <2>Sitio web de ReScript <3> <4>ReScript / React <5> <6>Cargar plantilla inicial ', name: 'ReScript', }, richtext: { desc1: 'Usando Quill:', desc2: 'Tu potente editor de texto enriquecido.', - link: '<1> Sitio web oficial de Quill ', + link: '<1> <2>Sitio web oficial de Quill ', name: 'Editor de Texto Enriquecido', }, riot: { desc: 'Biblioteca de UI basada en componentes simple y elegante.', - link: '<1> Sitio web oficial de Riot.js Documentación de Riot.js Cargar plantilla inicial ', + link: '<1> <2>Sitio web oficial de Riot.js <3> <4>Documentación de Riot.js <5> <6>Cargar plantilla inicial ', name: 'Riot.js', }, ruby: { desc: 'Ruby ejecutándose en el navegador usando Opal.', - link: '<1> Sitio web oficial de Ruby Documentación de Ruby Sitio web oficial de Opal CDN de la biblioteca estándar de Opal Aprende X en Y minutos, donde X=ruby Documentación de LiveCodes Cargar plantilla inicial ', + link: '<1> <2>Sitio web oficial de Ruby <3> <4>Documentación de Ruby <5><6>Sitio web oficial de Opal <7> <8>CDN de la biblioteca estándar de Opal <9> <10>Aprende X en Y minutos, donde X=ruby <11> <12>Documentación de LiveCodes <13> <14>Cargar plantilla inicial ', name: 'Ruby', }, rubyWasm: { desc: 'Ruby ejecutándose en el navegador usando ruby-wasm (una colección de puertos WebAssembly de CRuby).', - link: '<1> Sitio web oficial de Ruby Documentación de Ruby Sitio web de ruby.wasm CRuby Aprende X en Y minutos, donde X=ruby Documentación de LiveCodes Cargar plantilla inicial ', + link: '<1> <2>Sitio web oficial de Ruby <3> <4>Documentación de Ruby <5> <6>Sitio web de ruby.wasm <7><8>CRuby <9> <10>Aprende X en Y minutos, donde X=ruby <11> <12>Documentación de LiveCodes <13> <14>Cargar plantilla inicial ', name: 'Ruby (WASM)', }, sass: { desc: 'Hojas de Estilo Sintácticamente Impresionantes.', - link: '<1> Sitio web oficial de Sass Documentación de Sass Sintaxis de Sass (con indentación) Aprende X en Y minutos, donde X=sass ', + link: '<1> <2>Sitio web oficial de Sass <3> <4>Documentación de Sass <5> <6>Sintaxis de Sass (con indentación) <7> <8>Aprende X en Y minutos, donde X=sass ', name: 'Sass', }, scheme: { desc: 'Scheme ejecutándose en el navegador usando biwascheme.', - link: '<1> El Lenguaje de Programación Scheme Sitio web oficial de BiwaScheme Referencia de BiwaScheme Cargar plantilla inicial ', + link: '<1> <2>El Lenguaje de Programación Scheme <3> <4>Sitio web oficial de BiwaScheme <5> <6>Referencia de BiwaScheme <7> <8>Cargar plantilla inicial ', name: 'Scheme', }, scss: { desc: 'Hojas de Estilo Sintácticamente Impresionantes.', - link: '<1> Sitio web oficial de Sass Documentación de Sass Sintaxis SCSS Aprende X en Y minutos, donde X=sass ', + link: '<1> <2>Sitio web oficial de Sass <3> <4>Documentación de Sass <5> <6>Sintaxis SCSS <7> <8>Aprende X en Y minutos, donde X=sass ', name: 'SCSS', }, solid: { desc: 'Una biblioteca JavaScript declarativa, eficiente y flexible para construir interfaces de usuario.', - link: '<1>Sitio web oficial Documentación Documentación de LiveCodes Cargar plantilla inicial (TSX) ', + link: '<1><2>Sitio web oficial <3><4>Documentación <5> <6>Documentación de LiveCodes <7> <8>Cargar plantilla inicial (TSX) ', name: 'Solid', tsx: { desc: 'Una biblioteca JavaScript declarativa, eficiente y flexible para construir interfaces de usuario.', - link: '<1>Sitio web oficial Documentación de Solid Sitio web de TypeScript Documentación de TypeScript Documentación de LiveCodes Cargar plantilla inicial ', + link: '<1><2>Sitio web oficial <3> <4>Documentación de Solid <5> <6>Sitio web de TypeScript <7> <8>Documentación de TypeScript <9> <10>Documentación de LiveCodes <11> <12>Cargar plantilla inicial ', name: 'Solid (con TypeScript)', }, }, sql: { desc: 'SQLite compilado a JavaScript usando SQL.js', - link: '<1> Sitio web oficial de SQLite Documentación de sintaxis de SQLite Sitio web oficial de SQL.js Aprende X en Y minutos, donde X=SQL Cargar plantilla inicial', + link: '<1> <2>Sitio web oficial de SQLite <3> <4>Documentación de sintaxis de SQLite <5> <6>Sitio web oficial de SQL.js <7> <8>Aprende X en Y minutos, donde X=SQL <9><10>Cargar plantilla inicial', name: 'SQLite', }, stencil: { desc: 'Un compilador para componentes web y aplicaciones web de alto rendimiento.', - link: '<1> Sitio web oficial de Stencil Documentación de Stencil Cargar plantilla inicial ', + link: '<1> <2>Sitio web oficial de Stencil <3> <4>Documentación de Stencil <5> <6>Cargar plantilla inicial ', name: 'Stencil', }, styleProcessors: { - link: '<1> Tailwind CSS Windi CSS UnoCSS Lightning CSS PostCSS Plugins: Autoprefixer postcss-preset-env postcss-import-url postcss-modules ', + link: '<1> <2>Tailwind CSS <3> <4>Windi CSS <5> <6>UnoCSS <7> <8>Lightning CSS <9> <10>PostCSS Plugins: <11> <12> <13>Autoprefixer <14> <15>postcss-preset-env <16> <17>postcss-import-url <18> <19>postcss-modules ', name: 'Frameworks y Procesadores CSS', }, stylis: { desc: 'Preprocesador CSS ligero.', - link: '<1> Sitio web oficial de Stylis ', + link: '<1> <2>Sitio web oficial de Stylis ', name: 'Stylis', }, stylus: { desc: 'CSS expresivo, dinámico y robusto.', - link: '<1> Sitio web oficial de Stylus Aprende X en Y minutos, donde X=stylus ', + link: '<1> <2>Sitio web oficial de Stylus <3> <4>Aprende X en Y minutos, donde X=stylus ', name: 'Stylus', }, sucrase: { desc: 'Alternativa super rápida a Babel para cuando puedes apuntar a entornos de ejecución JS modernos.', - link: '<1> Sitio web oficial de Sucrase Repositorio GitHub de Sucrase Documentación de LiveCodes ', + link: '<1> <2>Sitio web oficial de Sucrase <3> <4>Repositorio GitHub de Sucrase <5> <6>Documentación de LiveCodes ', name: 'Sucrase', }, svelte: { desc: 'Aplicaciones web cibernéticamente mejoradas.', - link: '<1> Sitio web oficial de Svelte Documentación de Svelte Cargar plantilla inicial ', + link: '<1> <2>Sitio web oficial de Svelte <3> <4>Documentación de Svelte <5> <6>Cargar plantilla inicial ', name: 'Svelte', }, tcl: { - desc: 'Tcl ejecutándose en el navegador, usando <1>wacl.', - link: '<1> Sitio web oficial de Tcl Repositorio de wacl Aprende X en Y minutos, donde X=Tcl Cargar plantilla inicial ', + desc: 'Tcl ejecutándose en el navegador, usando <1>wacl.', + link: '<1> <2>Sitio web oficial de Tcl <3> <4>Repositorio de wacl <5> <6>Aprende X en Y minutos, donde X=Tcl <7> <8>Cargar plantilla inicial ', name: 'Tcl (Tool Command Language)', }, teal: { desc: 'Un dialecto tipado de Lua.', - link: '<1> Repositorio GitHub de Teal Documentación de Teal Tutorial de Teal Documentación de LiveCodes Cargar plantilla inicial ', + link: '<1> <2>Repositorio GitHub de Teal <3> <4>Documentación de Teal <5> <6>Tutorial de Teal <7> <8>Documentación de LiveCodes <9> <10>Cargar plantilla inicial ', name: 'Teal', }, tsx: { desc: 'TypeScript en JSX. TSX se compila a JavaScript en LiveCodes usando el Compilador de TypeScript. Por defecto, utiliza React como el tiempo de ejecución de JSX.', - link: '<1> Sitio web oficial de React Documentación de JSX en React Documentación de TypeScript Documentación de LiveCodes ', + link: '<1> <2>Sitio web oficial de React <3> <4>Documentación de JSX en React <5> <6>Documentación de TypeScript <7> <8>Documentación de LiveCodes ', name: 'TSX', }, twig: { - desc: 'Una implementación en JavaScript del lenguaje de plantillas PHP <1>Twig por Twig.js.', - link: '<1> Sitio web oficial de Twig Documentación de Twig Repositorio de Twig.js Documentación de Twig.js Documentación de LiveCodes ', + desc: 'Una implementación en JavaScript del lenguaje de plantillas PHP <1>Twig por <2>Twig.js.', + link: '<1> <2>Sitio web oficial de Twig <3> <4>Documentación de Twig <5> <6>Repositorio de Twig.js <7> <8>Documentación de Twig.js <9> <10>Documentación de LiveCodes ', name: 'Twig', }, typescript: { desc: 'Un superconjunto tipado de JavaScript.', - link: '<1> Sitio web oficial Documentación de TypeScript Aprende X en Y minutos, donde X=TypeScript Cargar plantilla inicial ', + link: '<1> <2>Sitio web oficial <3> <4>Documentación de TypeScript <5> <6>Aprende X en Y minutos, donde X=TypeScript <7> <8>Cargar plantilla inicial ', name: 'TypeScript', }, vue: { - link: '<1> Sitio web oficial de Vue.js v3 Documentación de Vue3 Componentes de archivo único de Vue3 Documentación de LiveCodes Cargar plantilla inicial', + link: '<1> <2>Sitio web oficial de Vue.js v3 <3> <4>Documentación de Vue3 <5> <6>Componentes de archivo único de Vue3 <7> <8>Documentación de LiveCodes <9><10>Cargar plantilla inicial', name: 'Componentes de archivo único de Vue3', }, vue2: { desc: 'Cargado usando vue3-sfc-loader.', - link: '<1>Sitio web oficial de Vue.js Documentación de Vue2 Componentes de archivo único de Vue2 Repositorio GitHub de vue3-sfc-loader Documentación de LiveCodes ', + link: '<1><2>Sitio web oficial de Vue.js <3> <4>Documentación de Vue2 <5> <6>Componentes de archivo único de Vue2 <7> <8>Repositorio GitHub de vue3-sfc-loader <9> <10>Documentación de LiveCodes ', name: 'Componentes de archivo único de Vue2', }, wat: { desc1: 'Representación textual de bajo nivel del formato binario de WebAssembly (wasm).', desc2: 'Se convierte a wasm usando wabt.js.', - link: '<1>WebAssembly.org Especificaciones del formato de texto de WebAssembly WebAssembly en MDN Entendiendo el formato de texto de WebAssembly Documentación de wabt.js Aprende X en Y minutos, donde X=WebAssembly Cargar plantilla inicial', + link: '<1><2>WebAssembly.org <3> <4>Especificaciones del formato de texto de WebAssembly <5> <6>WebAssembly en MDN <7> <8>Entendiendo el formato de texto de WebAssembly <9> <10>Documentación de wabt.js <11> <12>Aprende X en Y minutos, donde X=WebAssembly <13><14>Cargar plantilla inicial', name: 'Formato de Texto de WebAssembly', }, }; diff --git a/src/livecodes/i18n/locales/es/translation.ts b/src/livecodes/i18n/locales/es/translation.ts index a43ffd6c1..1486a1b9a 100644 --- a/src/livecodes/i18n/locales/es/translation.ts +++ b/src/livecodes/i18n/locales/es/translation.ts @@ -14,9 +14,9 @@ const translation: I18nTranslation = { heading: 'Acerca de LiveCodes', livecodes: { para1: - '<1>LiveCodes es un área de juego de código de código abierto, rico en características y del lado del cliente. Actualmente, se admiten más de 80 lenguajes/frameworks. Se puede usar como una aplicación independiente o se puede incrustar en cualquier página web. Hay muchas formas de precargar los campos de juego con código.', + '<1><2>LiveCodes es un área de juego de código <3>de código abierto, <4>rico en características y <5>del lado del cliente. Actualmente, se admiten <6>más de 80 lenguajes/<7>frameworks. Se puede usar como una aplicación independiente o se puede <8>incrustar en cualquier página web. Hay muchas formas de <9>precargar los campos de juego con código.', para2: - 'Una amplia gama de <1>opciones de configuración lo hace muy flexible. Un potente SDK (para JS/TS, React, Vue y Svelte) facilita la incrustación y la comunicación con los campos de juego. Hay disponible una documentación completa con ejemplos de código, demostraciones en vivo y capturas de pantalla.', + 'Una amplia gama de <1>opciones de configuración lo hace muy flexible. Un potente <2>SDK (para <3>JS/TS, <4>React, <5>Vue y <6>Svelte) facilita la <7>incrustación y la <8>comunicación con los campos de juego. Hay disponible una <9>documentación completa con ejemplos de código, demostraciones en vivo y capturas de pantalla.', }, version: { app: 'Versión de la aplicación: {{APP_VERSION}}', @@ -28,6 +28,9 @@ const translation: I18nTranslation = { }, }, app: { + consoleMessage: { + learnMore: '¡Aprende más! {{docsUrl}} 🚀', + }, copy: { hint: 'Copiar (Ctrl/Cmd + A, Ctrl/Cmd + C)', }, @@ -81,12 +84,12 @@ const translation: I18nTranslation = { assets: { add: { dataURL: { - desc: 'Agregar activo como <1>URL de datos codificada en base64.', + desc: 'Agregar activo como <1>URL de datos codificada en base64.', heading: 'URL de datos', label: 'Agregar archivo', }, githubPages: { - desc: 'Desplegar activo en GitHub Pages. El archivo se envía a la rama <1>gh-pages del repositorio livecodes-assets en tu cuenta de GitHub. Si el repositorio aún no existe, se creará un repositorio público.', + desc: 'Desplegar activo en GitHub Pages. El archivo se envía a la rama <1>gh-pages del repositorio <2>livecodes-assets en tu cuenta de GitHub. Si el repositorio aún no existe, se creará un repositorio público.', heading: 'GitHub Pages', label: 'Subir archivo', }, @@ -157,7 +160,7 @@ const translation: I18nTranslation = { backup: { assets: 'Activos', button: 'Respaldar', - desc: 'Respalda los datos de LiveCodes para que puedan restaurarse más tarde en este u otros dispositivos. <1> Por favor, visita la documentación para más detalles.', + desc: 'Respalda los datos de LiveCodes para que puedan restaurarse más tarde en este u otros dispositivos. <1> Por favor, visita la <2>documentación para más detalles.', heading: 'Respaldo', projects: 'Proyectos', settings: 'Configuraciones de usuario', @@ -173,7 +176,7 @@ const translation: I18nTranslation = { heading: 'Respaldo / Restauración', inProgress: 'En progreso...', restore: { - desc: 'Restaura los datos de LiveCodes previamente respaldados. <1> Si eliges reemplazar el contenido actual, es posible que desees respaldarlo primero. Por favor, visita la documentación para más detalles.', + desc: 'Restaura los datos de LiveCodes previamente respaldados. <1> Si eliges reemplazar el contenido actual, es posible que desees respaldarlo primero. <2> Por favor, visita la <3>documentación para más detalles.', fromFile: 'Restaurar desde archivo', heading: 'Restaurar', mode: { @@ -191,7 +194,7 @@ const translation: I18nTranslation = { broadcasting: 'Transmitiendo...', channelURL: 'URL del canal', connecting: 'Conectando...', - desc: 'Transmite la página de resultados a otros navegadores/dispositivos en tiempo real. Por favor, visita la <1>documentación para más detalles.', + desc: 'Transmite la página de resultados a otros navegadores/dispositivos en tiempo real. Por favor, visita la <1>documentación para más detalles.', error: { generic: '¡La transmisión falló!', serverURLRequired: '¡Se requiere la URL del servidor!', @@ -291,9 +294,9 @@ const translation: I18nTranslation = { }, deploy: { create: { - desc: 'Se creará un nuevo repositorio <1>público. La página de resultados se enviará a la rama gh-pages.', + desc: 'Se creará un nuevo repositorio <1>público. La página de resultados se enviará a la rama <2>gh-pages.', heading: 'Crear nuevo repositorio', - repoName: 'Nombre del repositorio <1>', + repoName: 'Nombre del repositorio <1>', }, error: { generic: '¡Falló el despliegue!', @@ -301,7 +304,7 @@ const translation: I18nTranslation = { repoNameRequired: 'Se requiere el nombre del repositorio', }, existing: { - desc: 'Se añadirá un nuevo commit a la rama <1>gh-pages.', + desc: 'Se añadirá un nuevo commit a la rama <1>gh-pages.', heading: 'Repositorio existente', repoName: 'Nombre del repositorio', }, @@ -322,7 +325,7 @@ const translation: I18nTranslation = { closeBrackets: 'Cerrar automáticamente paréntesis y comillas', codeJarDesc: '* Las características marcadas no están disponibles en CodeJar.', default: 'Predeterminado', - desc: 'Por favor, consulta la <1>documentación para más detalles.', + desc: 'Por favor, consulta la <1>documentación para más detalles.', editor: { codejar: 'CodeJar', codemirror: 'CodeMirror', @@ -338,7 +341,7 @@ const translation: I18nTranslation = { emmet: 'Habilitar Emmet *', enableAI: { heading: 'Habilitar asistente de código IA', - note: 'Impulsado por <1>', + note: 'Impulsado por <1><2>', }, fontFamily: 'Familia de fuentes', fontSize: 'Tamaño de fuente', @@ -376,7 +379,7 @@ const translation: I18nTranslation = { copy: 'Copiar código', heading: 'Código', }, - desc: 'Por favor, consulta la <1>documentación para configuraciones avanzadas.', + desc: 'Por favor, consulta la <1>documentación para configuraciones avanzadas.', embedType: { cdn: 'Script (CDN)', heading: 'Tipo de incrustación', @@ -447,17 +450,18 @@ const translation: I18nTranslation = { more: 'Más...', optional: 'Opcional', required: 'Requerido', + tagline: '¡Un Patio de Código Que Simplemente Funciona!', }, import: { bulk: { - desc: 'Importar en masa múltiples proyectos a tus proyectos guardados. Los proyectos se pueden exportar desde la pantalla de <1>Proyectos guardados.', + desc: 'Importar en masa múltiples proyectos a tus proyectos guardados. Los proyectos se pueden exportar desde la pantalla de <1>Proyectos guardados.', fromFile: 'Importación masiva desde archivo local', fromURL: 'Importación masiva desde URL', heading: 'Importación masiva', started: 'Importación masiva iniciada...', }, code: { - desc: 'Fuentes compatibles: <1> GitHub gist Archivo de GitHub Directorio en un repositorio de GitHub Fragmento de Gitlab Archivo de Gitlab Directorio en un repositorio de Gitlab JS Bin Código en bruto Código en el DOM de la página web Código en archivo zip Entornos oficiales(TypeScript, Vue y Svelte) Por favor, visita la documentación para más detalles.', + desc: 'Fuentes compatibles: <1> <2>GitHub gist <3>Archivo de GitHub <4>Directorio en un repositorio de GitHub <5>Fragmento de Gitlab <6>Archivo de Gitlab <7>Directorio en un repositorio de Gitlab <8>JS Bin <9>Código en bruto <10>Código en el DOM de la página web <11>Código en archivo zip <12>Entornos oficiales<13>(TypeScript, Vue y Svelte) Por favor, visita la <14>documentación para más detalles.', fromFile: 'Importar archivos locales', fromURL: 'Importar desde URL', heading: 'Importar código', @@ -482,7 +486,7 @@ const translation: I18nTranslation = { }, login: { accessAllowed: 'Permitir acceso a:', - desc: '<1>Al iniciar sesión, aceptas que se pueden almacenar cookies en tu dispositivo. ¿Por qué se requieren estos permisos? ¿Cómo cambiar/revocar permisos? ', + desc: '<1>Al iniciar sesión, aceptas que se pueden almacenar <2>cookies en tu dispositivo. <3> <4>¿Por qué se requieren estos permisos? <5> <6>¿Cómo cambiar/revocar permisos? ', gist: 'Gists', heading: 'Iniciar sesión con GitHub', loginAs: 'Sesión iniciada como {{name}}', @@ -500,7 +504,7 @@ const translation: I18nTranslation = { broadcast: 'Transmitir …', customSettings: 'Configuraciones personalizadas …', delay: { - heading: 'Retraso: <1>1.5s', + heading: 'Retraso: <1>1.5s', hint: 'Retraso antes de la actualización automática', }, deploy: 'Desplegar …', @@ -537,7 +541,7 @@ const translation: I18nTranslation = { hint: 'Presiona Alt/Opción y mueve el cursor sobre la página de resultados', }, snippets: 'Fragmentos de código …', - sync: 'Sincronizar (beta) … <1> ⏳', + sync: 'Sincronizar (beta) … <1> ⏳', theme: 'Tema oscuro', welcome: { heading: 'Bienvenida …', @@ -590,11 +594,11 @@ const translation: I18nTranslation = { recoverPrompt: { desc: '¡Tu último proyecto tiene cambios sin guardar!', heading: '¿Recuperar proyecto no guardado?', - meta: 'Título: <1> Última modificación: ', + meta: 'Título: <1> <2> Última modificación: <3>', notShowAgain: 'No mostrar esto de nuevo.', prompt: { discard: 'Descartar proyecto no guardado', - heading: '<1>¿Quieres recuperarlo ahora?', + heading: '<1>¿Quieres recuperarlo ahora?', recover: 'Recuperar proyecto en el editor', save: 'Guardar en el dispositivo y continuar', }, @@ -613,13 +617,13 @@ const translation: I18nTranslation = { }, fonts: { add: 'Agregar', - heading: 'Fuentes <1>(proporcionado por Google Fonts)', + heading: 'Fuentes <1>(proporcionado por Google Fonts)', select: 'Seleccionar fuente ...', }, heading: 'Recursos externos', scripts: 'Scripts externos', search: { - heading: 'Buscar paquetes <1>(proporcionado por jsDelivr)', + heading: 'Buscar paquetes <1>(proporcionado por jsDelivr)', placeholder: 'p. ej. jquery, lodash@4, bootstrap@5.2.3, ...', }, stylesheets: 'Hojas de estilo externas', @@ -630,8 +634,7 @@ const translation: I18nTranslation = { prompt: { cancel: 'Cancelar', discard: 'No guardar', - heading: - 'Los cambios que has realizado pueden no guardarse. <1> ¿Quieres guardar ahora?', + heading: 'Los cambios que has realizado pueden no guardarse. <1> ¿Quieres guardar ahora?', save: 'Guardar', }, }, @@ -729,7 +732,7 @@ const translation: I18nTranslation = { sync: { autoSync: 'Sincronización automática', create: { - desc: 'Se creará un nuevo repositorio <1>privado. Tus datos locales de LiveCodes se sincronizarán con la rama main.', + desc: 'Se creará un nuevo repositorio <1>privado. Tus datos locales de LiveCodes se sincronizarán con la rama <2>main.', heading: 'Crear nuevo repositorio', repoName: 'Nombre del repositorio', }, @@ -738,7 +741,7 @@ const translation: I18nTranslation = { repoNameRequired: 'Se requiere el nombre del repositorio', }, existing: { - desc: 'Tus datos locales de LiveCodes se sincronizarán con la rama <1>main.', + desc: 'Tus datos locales de LiveCodes se sincronizarán con la rama <1>main.', heading: 'Repositorio existente', repoName: 'Nombre del repositorio', }, @@ -752,7 +755,7 @@ const translation: I18nTranslation = { templates: { heading: 'Nuevo Proyecto', noUserTemplates: { - desc: 'Puedes guardar un proyecto como plantilla desde <1>(Menú de la aplicación > Guardar como > Plantilla).', + desc: 'Puedes guardar un proyecto como plantilla desde <1>(Menú de la aplicación > Guardar como > Plantilla).', heading: 'No tienes plantillas guardadas.', }, starter: { @@ -839,16 +842,16 @@ const translation: I18nTranslation = { }, test: { edit: 'Editar', - error: '<1>¡Error en la prueba!', - loading: '<1>Cargando pruebas...', - noTest: '<1>¡Este proyecto no tiene pruebas!', + error: '<1><2>¡Error en la prueba!', + loading: '<1>Cargando pruebas...', + noTest: '<1>¡Este proyecto no tiene pruebas!', reset: 'Reiniciar', run: { desc: 'Ctrl/Cmd + Alt + T', heading: 'Ejecutar', }, summary: { - desc: 'Pruebas: {{failed}}\n {{passed}}\n {{skipped}}\n {{total}}<1>\nTiempo: {{duration}}s', + desc: 'Pruebas: {{failed}}\n {{passed}}\n {{skipped}}\n {{total}}<1>\nTiempo: {{duration}}s', failed: '{{failedNum}} fallidas', passed: '{{passedNum}} pasadas', skipped: '{{skippedNum}} omitidas', @@ -873,7 +876,7 @@ const translation: I18nTranslation = { recover: { cancel: 'Cancelar', heading: 'Recuperar', - lastModified: 'Última modificación: <1>', + lastModified: 'Última modificación: <1>', recover: 'Recuperar', save: 'Guardar', unsavedChanges: 'Tu último proyecto tenía cambios sin guardar:', diff --git a/src/livecodes/i18n/locales/fr/language-info.ts b/src/livecodes/i18n/locales/fr/language-info.ts index 2935eec43..a8a80df86 100644 --- a/src/livecodes/i18n/locales/fr/language-info.ts +++ b/src/livecodes/i18n/locales/fr/language-info.ts @@ -5,107 +5,107 @@ import type { I18nLangInfoTranslation } from '../models'; const languageInfo: I18nLangInfoTranslation = { artTemplate: { desc: 'Moteur de templates JavaScript haute performance.', - link: "<1> Site officiel d'art-template Documentation d'art-template ", + link: "<1> <2>Site officiel d'art-template <3> <4>Documentation d'art-template ", name: 'art-template', }, asciidoc: { desc: 'AsciiDoc compilé en HTML en utilisant Asciidoctor.', - link: "<1> Site officiel d'AsciiDoc Site officiel d'Asciidoctor Documentation d'Asciidoctor Apprenez X en Y minutes, où X=asciidoc ", + link: "<1> <2>Site officiel d'AsciiDoc <3> <4>Site officiel d'Asciidoctor <5> <6>Documentation d'Asciidoctor <7> <8>Apprenez X en Y minutes, où X=asciidoc ", name: 'AsciiDoc', }, assemblyscript: { desc: 'Un langage similaire à TypeScript pour WebAssembly.', - link: "<1> Site officiel d'AssemblyScript Documentation d'AssemblyScript Charger le modèle de démarrage ", + link: "<1> <2>Site officiel d'AssemblyScript <3> <4>Documentation d'AssemblyScript <5> <6>Charger le modèle de démarrage ", name: 'AssemblyScript', }, astro: { desc: 'Construisez des sites web plus rapides avec moins de JavaScript côté client. (Encore en version bêta)', - link: "<1> Site officiel d'Astro Documentation d'Astro Charger le modèle de démarrage ", + link: "<1> <2>Site officiel d'Astro <3> <4>Documentation d'Astro <5> <6>Charger le modèle de démarrage ", name: 'Astro', }, babel: { desc: 'Le compilateur JavaScript', - link: '<1>Site officiel Documentation de Babel ', + link: '<1><2>Site officiel <3> <4>Documentation de Babel ', name: 'Babel', }, bbcode: { desc: 'BBCode ("Bulletin Board Code") est un langage de balisage léger utilisé pour formater les messages dans de nombreux logiciels de forums Internet.', - link: '<1>bbcode.org Guide BBCode BBCode sur Wikipédia ', + link: '<1><2>bbcode.org <3> <4>Guide BBCode <5> <6>BBCode sur Wikipédia ', name: 'BBCode', }, blockly: { desc: 'Une bibliothèque JavaScript pour créer des éditeurs de programmation visuelle.', - link: '<1> Site officiel Guides Référence Exemples Charger le modèle de démarrage ', + link: '<1> <2>Site officiel <3> <4>Guides <5> <6>Référence <7> <8>Exemples <9> <10>Charger le modèle de démarrage ', name: 'Blockly', }, civet: { desc: "Civet est un langage de programmation qui se compile en TypeScript ou JavaScript, vous permettant d'utiliser les outils existants tout en offrant une syntaxe concise et puissante.", - link: '<1> Site officiel de Civet Aide-mémoire Civet Charger le modèle de démarrage ', + link: '<1> <2>Site officiel de Civet <3> <4>Aide-mémoire Civet <5> <6>Charger le modèle de démarrage ', name: 'Civet', }, clio: { desc: 'Clio est un langage de programmation fonctionnel, rapide et distribué qui se compile en JavaScript.', - link: '<1> Site officiel de Clio Documentation de Clio Charger le modèle de démarrage ', + link: '<1> <2>Site officiel de Clio <3> <4>Documentation de Clio <5> <6>Charger le modèle de démarrage ', name: 'Clio', }, clojurescript: { - desc: "ClojureScript est un compilateur pour <1>Clojure qui cible JavaScript. Dans LiveCodes, il s'exécute dans le navigateur en utilisant Cherry.", - link: '<1> Site officiel de ClojureScript Site officiel de Clojure Dépôt Cherry Apprenez X en Y minutes, où X=clojure Documentations LiveCodes Charger le modèle de démarrage ', + desc: "ClojureScript est un compilateur pour <1>Clojure qui cible JavaScript. <2>Dans LiveCodes, il s'exécute dans le navigateur en utilisant <3>Cherry.", + link: '<1> <2>Site officiel de ClojureScript <3> <4>Site officiel de Clojure <5> <6>Dépôt Cherry <7> <8>Apprenez X en Y minutes, où X=clojure <9> <10>Documentations LiveCodes <11> <12>Charger le modèle de démarrage ', name: 'ClojureScript (CLJS)', }, coffeescript: { desc: 'JavaScript sans fioritures.', - link: '<1> Site officiel de CoffeeScript Apprenez X en Y minutes, où X=coffeescript Charger le modèle de démarrage ', + link: '<1> <2>Site officiel de CoffeeScript <3> <4>Apprenez X en Y minutes, où X=coffeescript <5> <6>Charger le modèle de démarrage ', name: 'CoffeeScript', }, commonlisp: { desc: 'Une implémentation de Common Lisp en Javascript utilisant JSCL (un compilateur Lisp-vers-Javascript démarré à partir de Common Lisp).', - link: '<1> Common-Lisp.net Projet JSCL Ressources Common Lisp Apprenez X en Y minutes, où X=Common Lisp Charger le modèle de démarrage ', + link: '<1> <2>Common-Lisp.net <3> <4>Projet JSCL <5> <6>Ressources Common Lisp <7> <8>Apprenez X en Y minutes, où X=Common Lisp <9> <10>Charger le modèle de démarrage ', name: 'Common Lisp', }, cpp: { desc1: 'Support C++ utilisant JSCPP (un simple interpréteur C++ écrit en JavaScript).', desc2: - "Ce n'est pas une implémentation complète de C++. Veuillez vous référer à la <1>documentation JSCPP pour plus de détails.", - link: '<1> Fondation Standard C++ JSCPP Apprenez X en Y minutes, où X=C++ Charger le modèle de démarrage ', + "Ce n'est pas une implémentation complète de C++. Veuillez vous référer à la <1>documentation JSCPP pour plus de détails.", + link: '<1> <2>Fondation Standard C++ <3> <4>JSCPP <5> <6>Apprenez X en Y minutes, où X=C++ <7> <8>Charger le modèle de démarrage ', name: 'C++', }, cppWasm: { - desc: "Compilateur Clang C/C++ s'exécutant sur WebAssembly, utilisant <1>wasm-clang adapté par polylang.io.", - link: '<1> Fondation Standard C++ Site officiel de Clang Apprenez X en Y minutes, où X=C++ Charger le modèle de démarrage ', + desc: "Compilateur Clang C/C++ s'exécutant sur WebAssembly, utilisant <1>wasm-clang adapté par <2>polylang.io.", + link: '<1> <2>Fondation Standard C++ <3> <4>Site officiel de Clang <5> <6>Apprenez X en Y minutes, où X=C++ <7> <8>Charger le modèle de démarrage ', name: 'C/C++ (Wasm)', }, diagrams: { desc1: '(Expérimental)', desc2: 'Diagrammes sous forme de code. Prend en charge :', desc3: - '<1> Cytoscape ELK (utilisant elkjs) Gnuplot (utilisant gnuplot-JS) Graphviz (utilisant @hpcc-js/wasm) Mermaid Nomnoml Pintora Plotly Svgbob Vega VegaLite WaveDrom ', - link: '<1> Charger le modèle de démarrage Documentation LiveCodes ', + '<1> <2>Cytoscape <3> <4>ELK (utilisant <5>elkjs) <6> <7>Gnuplot (utilisant <8>gnuplot-JS) <9> <10>Graphviz (utilisant <11>@hpcc-js/wasm) <12> <13>Mermaid <14> <15>Nomnoml <16> <17>Pintora <18> <19>Plotly <20> <21>Svgbob <22> <23>Vega <24> <25>VegaLite <26> <27>WaveDrom ', + link: '<1> <2>Charger le modèle de démarrage <3> <4>Documentation LiveCodes ', name: 'Diagrammes', }, dot: { desc: 'Le moteur de templates JavaScript le plus rapide et le plus concis pour Node.js et les navigateurs.', - link: '<1> Site officiel Documentations LiveCodes ', + link: '<1> <2>Site officiel <3> <4>Documentations LiveCodes ', name: 'doT.js', }, ejs: { desc: 'Modèles JavaScript embarqués.', - link: '<1>Site officiel Documentation LiveCodes ', + link: '<1><2>Site officiel <3> <4>Documentation LiveCodes ', name: 'EJS', }, eta: { desc: 'Moteur de modèles JS embarqué pour Node, Deno et le navigateur. Léger, rapide et modulaire. Écrit en TypeScript.', - link: '<1>Site officiel Documentation Documentation LiveCodes ', + link: '<1><2>Site officiel <3> <4>Documentation <5> <6>Documentation LiveCodes ', name: 'Eta', }, fennel: { desc: "Fennel est un langage de programmation qui allie la vitesse, la simplicité et la portée de Lua à la flexibilité d'une syntaxe lisp et d'un système de macros.", - link: '<1> Site officiel de Fennel Débuter avec Fennel Documentation LiveCodes Charger le modèle de démarrage ', + link: '<1> <2>Site officiel de Fennel <3> <4>Débuter avec Fennel <5> <6>Documentation LiveCodes <7> <8>Charger le modèle de démarrage ', name: 'Fennel', }, flow: { desc: 'Flow est un vérificateur de type statique pour JavaScript.', - link: '<1> Site officiel de Flow Documentation de Flow ', + link: '<1> <2>Site officiel de Flow <3> <4>Documentation de Flow ', name: 'Flow', }, gleam: { @@ -113,292 +113,292 @@ const languageInfo: I18nLangInfoTranslation = { 'Gleam est un langage convivial pour construire des systèmes sûrs au niveau des types qui peuvent évoluer !', desc2: 'Gleam est un langage de programmation fonctionnel à typage statique, qui se compile en Erlang ou JavaScript.', - link: '<1>Site web de Gleam Documentation de Gleam Tour du langage Gleam Charger le modèle de démarrage ', + link: '<1><2>Site web de Gleam <3> <4>Documentation de Gleam <5> <6>Tour du langage Gleam <7> <8>Charger le modèle de démarrage ', name: 'Gleam', }, go: { desc1: 'Go (Golang) est un langage de programmation open source qui facilite la création de logiciels simples, fiables et efficaces.', desc2: 'Ici, il est compilé en JavaScript en utilisant GopherJS.', - link: '<1>Site web de Go Documentation de Go Dépôt GopherJS Apprenez X en Y minutes, où X=Go Charger le modèle de démarrage', + link: '<1><2>Site web de Go <3><4>Documentation de Go <5> <6>Dépôt GopherJS <7> <8>Apprenez X en Y minutes, où X=Go <9><10>Charger le modèle de démarrage', name: 'Go', }, haml: { desc: 'Compilateur Haml pour les modèles de vue JavaScript côté client utilisant clientside-haml-js.', - link: '<1>Site officiel de Haml Documentation de Haml Dépôt GitHub de clientside-haml-js Apprenez X en Y minutes, où X=haml Documentation LiveCodes ', + link: '<1><2>Site officiel de Haml <3> <4>Documentation de Haml <5> <6>Dépôt GitHub de clientside-haml-js <7> <8>Apprenez X en Y minutes, où X=haml <9> <10>Documentation LiveCodes ', name: 'Haml', }, handlebars: { desc: 'Modèles minimalistes sur stéroïdes.', - link: '<1>Site officiel Documentation LiveCodes ', + link: '<1><2>Site officiel <3> <4>Documentation LiveCodes ', name: 'Handlebars', }, imba: { desc: 'Le langage full-stack convivial.', - link: '<1>Site officiel', + link: '<1><2>Site officiel', name: 'Imba', }, jsx: { desc: 'JSX est compilé en JavaScript dans LiveCodes en utilisant le compilateur TypeScript. Par défaut, il utilise React comme runtime JSX.', - link: '<1> Site officiel de React Documentation JSX dans React Documentation LiveCodes Charger le modèle de démarrage ', + link: '<1> <2>Site officiel de React <3> <4>Documentation JSX dans React <5> <6>Documentation LiveCodes <7> <8>Charger le modèle de démarrage ', name: 'JSX', }, julia: { desc1: '(Le support du langage Julia dans LiveCodes est encore expérimental)', desc2: - "Compilateur Julia et Julia Base s'exécutant sur WASM, utilisant <1>julia-wasm adapté par polylang.io.", - link: '<1> Site officiel de Julia Documentation de Julia Apprenez X en Y minutes, où X=Julia Charger le modèle de démarrage ', + "Compilateur Julia et Julia Base s'exécutant sur WASM, utilisant <1>julia-wasm adapté par <2>polylang.io.", + link: '<1> <2>Site officiel de Julia <3> <4>Documentation de Julia <5> <6>Apprenez X en Y minutes, où X=Julia <7> <8>Charger le modèle de démarrage ', name: 'Julia', }, less: { desc: "C'est du CSS, avec juste un peu plus.", - link: '<1>Site officiel de Less Apprenez X en Y minutes, où X=less ', + link: '<1><2>Site officiel de Less <3> <4>Apprenez X en Y minutes, où X=less ', name: 'Less', }, liquid: { desc: 'Un moteur de modèles simple, expressif et sûr.', - link: '<1> Site officiel de LiquidJS Documentation de LiquidJS Documentation LiveCodes ', + link: '<1> <2>Site officiel de LiquidJS <3> <4>Documentation de LiquidJS <5> <6>Documentation LiveCodes ', name: 'LiquidJS', }, livescript: { desc: 'Un langage qui se compile en JavaScript.', - link: '<1> Site officiel de LiveScript Apprenez X en Y minutes, où X=LiveScript Charger le modèle de démarrage ', + link: '<1> <2>Site officiel de LiveScript <3> <4>Apprenez X en Y minutes, où X=LiveScript <5> <6>Charger le modèle de démarrage ', name: 'LiveScript', }, lua: { desc: "Lua s'exécutant dans le navigateur en utilisant fengari-web.", - link: '<1>Site officiel de Lua Documentation de Lua Site officiel de Fengari Dépôt GitHub de fengari-web Apprenez X en Y minutes, où X=Lua Documentation LiveCodes Charger le modèle de démarrage', + link: '<1><2>Site officiel de Lua <3> <4>Documentation de Lua <5> <6>Site officiel de Fengari <7> <8>Dépôt GitHub de fengari-web <9> <10>Apprenez X en Y minutes, où X=Lua <11> <12>Documentation LiveCodes <13><14>Charger le modèle de démarrage', name: 'Lua', }, luaWasm: { desc: "Lua s'exécutant dans le navigateur en utilisant Wasmoon, une véritable machine virtuelle lua 5.4 avec des liaisons JS faites avec WebAssembly.", - link: '<1>Site officiel de Lua Documentation de Lua Dépôt GitHub de Wasmoon Apprenez X en Y minutes, où X=Lua Documentation LiveCodes Charger le modèle de démarrage ', + link: '<1><2>Site officiel de Lua <3> <4>Documentation de Lua <5> <6>Dépôt GitHub de Wasmoon <7> <8>Apprenez X en Y minutes, où X=Lua <9> <10>Documentation LiveCodes <11> <12>Charger le modèle de démarrage ', name: 'Lua (Wasm)', }, malina: { desc: 'Compilateur frontend, inspiré par Svelte.', - link: '<1> Dépôt Malina.js Documentation Malina.js Charger le modèle de démarrage ', + link: '<1> <2>Dépôt Malina.js <3> <4>Documentation Malina.js <5> <6>Charger le modèle de démarrage ', name: 'Malina.js', }, markdown: { desc: 'Markdown compilé en HTML en utilisant Marked.', - link: '<1> Site officiel de Markdown Documentation de Marked Apprenez X en Y minutes, où X=markdown Charger le modèle de démarrage ', + link: '<1> <2>Site officiel de Markdown <3> <4>Documentation de Marked <5> <6>Apprenez X en Y minutes, où X=markdown <7> <8>Charger le modèle de démarrage ', name: 'Markdown', }, mdx: { - desc: "Markdown pour l'ère des composants. <1>MDX vous permet d'écrire du JSX de manière transparente dans vos documents Markdown.", - link: '<1>Documentation MDX Charger le modèle de démarrage', + desc: "Markdown pour l'ère des composants. <1>MDX vous permet d'écrire du JSX de manière transparente dans vos documents Markdown.", + link: '<1><2>Documentation MDX <3><4>Charger le modèle de démarrage', name: 'MDX', }, mjml: { desc: "MJML est un langage de balisage conçu pour réduire la difficulté de codage d'un e-mail responsive.", - link: '<1>Site officiel de MJML Documentation MJML Modèles officiels MJML Documentation LiveCodes ', + link: '<1><2>Site officiel de MJML <3> <4>Documentation MJML <5> <6>Modèles officiels MJML <7> <8>Documentation LiveCodes ', name: 'MJML', }, mustache: { desc: 'Modèles sans logique.', - link: '<1> Site officiel Manuel mustache(5) Implémentation JavaScript Documentation LiveCodes ', + link: '<1> <2>Site officiel <3> <4>Manuel mustache(5) <5> <6>Implémentation JavaScript <7> <8>Documentation LiveCodes ', name: 'Mustache', }, nunjucks: { - desc: 'Un langage de modèle riche et puissant pour JavaScript. Nunjucks est essentiellement un portage de <1>jinja2.', - link: '<1> Site officiel Documentation LiveCodes ', + desc: 'Un langage de modèle riche et puissant pour JavaScript. Nunjucks est essentiellement un portage de <1>jinja2.', + link: '<1> <2>Site officiel <3> <4>Documentation LiveCodes ', name: 'Nunjucks', }, ocaml: { desc1: 'OCaml est un langage de programmation de qualité industrielle supportant les styles fonctionnel, impératif et orienté objet.', desc2: 'Le compilateur ReScript est utilisé ici pour compiler OCaml en JavaScript.', - link: '<1>Site web OCaml Documentation OCaml Site web ReScript Apprenez X en Y minutes, où X=OCaml Charger le modèle de démarrage ', + link: '<1><2>Site web OCaml <3> <4>Documentation OCaml <5> <6>Site web ReScript <7> <8>Apprenez X en Y minutes, où X=OCaml <9> <10>Charger le modèle de démarrage ', name: 'OCaml', }, perl: { desc: "Perl s'exécutant dans le navigateur en utilisant Perlito.", - link: '<1> Site officiel de Perl Documentation Perl Readme de Perlito5 Apprenez X en Y minutes, où X=perl Charger le modèle de démarrage ', + link: '<1> <2>Site officiel de Perl <3> <4>Documentation Perl <5> <6>Readme de Perlito5 <7> <8>Apprenez X en Y minutes, où X=perl <9> <10>Charger le modèle de démarrage ', name: 'Perl', }, php: { desc: "PHP s'exécutant dans le navigateur en utilisant Uniter.", - link: '<1>Site officiel de PHP Documentation PHP Dépôt GitHub Uniter Apprenez X en Y minutes, où X=PHP Documentation LiveCodes Charger le modèle de démarrage', + link: '<1><2>Site officiel de PHP <3> <4>Documentation PHP <5> <6>Dépôt GitHub Uniter <7> <8>Apprenez X en Y minutes, où X=PHP <9> <10>Documentation LiveCodes <11><12>Charger le modèle de démarrage', name: 'PHP', }, phpWasm: { desc: 'PHP dans le navigateur, propulsé par WebAssembly, en utilisant php-wasm.', - link: '<1>Site officiel de PHP Documentation PHP Dépôt GitHub php-wasm Apprenez X en Y minutes, où X=PHP Documentation LiveCodes Charger le modèle de démarrage ', + link: '<1><2>Site officiel de PHP <3> <4>Documentation PHP <5> <6>Dépôt GitHub php-wasm <7> <8>Apprenez X en Y minutes, où X=PHP <9> <10>Documentation LiveCodes <11> <12>Charger le modèle de démarrage ', name: 'PHP (Wasm)', }, postgresql: { desc: 'PostgreSQL packagé en WASM en utilisant PGlite', - link: '<1> Site officiel de PostgreSQL Documentation PostgreSQL Dépôt GitHub PGlite Apprenez X en Y minutes, où X=SQL Charger le modèle de démarrage ', + link: '<1> <2>Site officiel de PostgreSQL <3> <4>Documentation PostgreSQL <5> <6>Dépôt GitHub PGlite <7> <8>Apprenez X en Y minutes, où X=SQL <9> <10>Charger le modèle de démarrage ', name: 'PostgreSQL', }, prolog: { desc: 'Un interpréteur Prolog open source en JavaScript.', - link: '<1> Site officiel de Tau Prolog Documentation Tau Prolog SWI-Prolog Apprenez X en Y minutes, où X=Prolog Charger le modèle de démarrage ', + link: '<1> <2>Site officiel de Tau Prolog <3> <4>Documentation Tau Prolog <5> <6>SWI-Prolog <7> <8>Apprenez X en Y minutes, où X=Prolog <9> <10>Charger le modèle de démarrage ', name: 'Tau Prolog', }, pug: { desc: 'Moteur de template robuste, élégant et riche en fonctionnalités.', - link: '<1> Documentation Pug Apprenez X en Y minutes, où X=Pug Documentation LiveCodes ', + link: '<1> <2>Documentation Pug <3> <4>Apprenez X en Y minutes, où X=Pug <5> <6>Documentation LiveCodes ', name: 'Pug', }, python: { desc: "Python s'exécutant dans le navigateur en utilisant Brython.", - link: '<1> Site officiel de Python Documentation Python Documentation Brython Apprenez X en Y minutes, où X=Python Documentation LiveCodes Charger le modèle de démarrage ', + link: '<1> <2>Site officiel de Python <3> <4>Documentation Python <5> <6>Documentation Brython <7> <8>Apprenez X en Y minutes, où X=Python <9> <10>Documentation LiveCodes <11> <12>Charger le modèle de démarrage ', name: 'Python', }, pythonWasm: { desc1: 'Python avec la pile scientifique, compilé en WebAssembly en utilisant Pyodide.', desc2: "Pyodide permet d'utiliser la pile scientifique Python comprenant NumPy, Pandas, Matplotlib, SciPy, scikit-learn et bien d'autres. De plus, il est possible d'installer des wheels Python purs depuis PyPi.", - link: '<1> Site officiel de Python Documentation Python Documentation Pyodide Apprenez X en Y minutes, où X=Python Documentation LiveCodes Charger le modèle de démarrage ', + link: '<1> <2>Site officiel de Python <3> <4>Documentation Python <5><6>Documentation Pyodide <7> <8>Apprenez X en Y minutes, où X=Python <9> <10>Documentation LiveCodes <11> <12>Charger le modèle de démarrage ', name: 'Python (Wasm)', }, r: { desc: "R s'exécutant dans le navigateur en utilisant WebR.", - link: '<1> Site officiel du projet R Les manuels R R pour la Science des Données (2e édition) Documentation WebR Apprenez X en Y minutes, où X=R Documentation LiveCodes Charger le modèle de démarrage ', + link: '<1> <2>Site officiel du projet R <3> <4>Les manuels R <5> <6>R pour la Science des Données (2e édition) <7> <8>Documentation WebR <9> <10>Apprenez X en Y minutes, où X=R <11> <12>Documentation LiveCodes <13> <14>Charger le modèle de démarrage ', name: 'R', }, reactNative: { desc: 'React Native pour le Web est une implémentation accessible des composants et API de React Native qui est interopérable avec React DOM.', - link: '<1> Site officiel de React Site web de React Native Site web de React Native pour le Web Documentation React Native Documentation LiveCodes Charger le modèle de démarrage ', + link: '<1> <2>Site officiel de React <3> <4>Site web de React Native <5> <6>Site web de React Native pour le Web <7> <8>Documentation React Native <9> <10>Documentation LiveCodes <11> <12>Charger le modèle de démarrage ', name: 'React Native pour le Web', }, reactNativeTsx: { desc: 'React Native pour le Web est une implémentation accessible des composants et API de React Native qui est interopérable avec React DOM.', - link: '<1> Site officiel de React Site web de React Native Site web de React Native pour le Web Documentation React Native Site web de TypeScript Documentation TypeScript Documentation LiveCodes Charger le modèle de démarrage (JSX) ', + link: '<1> <2>Site officiel de React <3> <4>Site web de React Native <5> <6>Site web de React Native pour le Web <7> <8>Documentation React Native <9> <10>Site web de TypeScript <11> <12>Documentation TypeScript <13> <14>Documentation LiveCodes <15> <16>Charger le modèle de démarrage (JSX) ', name: 'React Native pour le Web (avec TypeScript)', }, reason: { desc1: "Reason vous permet d'écrire du code simple, rapide et de qualité avec une sûreté de typage tout en tirant parti des écosystèmes JavaScript et OCaml.", desc2: 'Le compilateur ReScript est utilisé ici pour compiler Reason en JavaScript.', - link: '<1>Site web de Reason Documentation Reason ReasonReact Site web de ReScript Apprenez X en Y minutes, où X=reason Charger le modèle de démarrage ', + link: '<1><2>Site web de Reason <3> <4>Documentation Reason <5> <6>ReasonReact <7> <8>Site web de ReScript <9> <10>Apprenez X en Y minutes, où X=reason <11> <12>Charger le modèle de démarrage ', name: 'Reason', }, rescript: { desc: "ReScript est un langage fortement typé qui se compile en JavaScript efficace et lisible par l'homme.", - link: '<1> Site web de ReScript ReScript / React Charger le modèle de démarrage ', + link: '<1> <2>Site web de ReScript <3> <4>ReScript / React <5> <6>Charger le modèle de démarrage ', name: 'ReScript', }, richtext: { desc1: 'Utilisation de Quill :', desc2: 'Votre puissant éditeur de texte enrichi.', - link: '<1> Site officiel de Quill ', + link: '<1> <2>Site officiel de Quill ', name: 'Éditeur de Texte Enrichi', }, riot: { desc: 'Bibliothèque UI simple et élégante basée sur les composants.', - link: '<1> Site officiel de Riot.js Documentation de Riot.js Charger le modèle de démarrage ', + link: '<1> <2>Site officiel de Riot.js <3> <4>Documentation de Riot.js <5> <6>Charger le modèle de démarrage ', name: 'Riot.js', }, ruby: { desc: "Ruby s'exécutant dans le navigateur en utilisant Opal.", - link: "<1> Site officiel de Ruby Documentation Ruby Site officiel d'Opal CDN de la bibliothèque standard d'Opal Apprenez X en Y minutes, où X=ruby Documentation LiveCodes Charger le modèle de démarrage ", + link: "<1> <2>Site officiel de Ruby <3> <4>Documentation Ruby <5><6>Site officiel d'Opal <7> <8>CDN de la bibliothèque standard d'Opal <9> <10>Apprenez X en Y minutes, où X=ruby <11> <12>Documentation LiveCodes <13> <14>Charger le modèle de démarrage ", name: 'Ruby', }, rubyWasm: { desc: "Ruby s'exécutant dans le navigateur en utilisant ruby-wasm (une collection de ports WebAssembly de CRuby).", - link: '<1> Site officiel de Ruby Documentation Ruby Site web de ruby.wasm CRuby Apprenez X en Y minutes, où X=ruby Documentation LiveCodes Charger le modèle de démarrage ', + link: '<1> <2>Site officiel de Ruby <3> <4>Documentation Ruby <5> <6>Site web de ruby.wasm <7><8>CRuby <9> <10>Apprenez X en Y minutes, où X=ruby <11> <12>Documentation LiveCodes <13> <14>Charger le modèle de démarrage ', name: 'Ruby (WASM)', }, sass: { desc: 'Feuilles de style syntaxiquement impressionnantes.', - link: '<1> Site officiel de Sass Documentation Sass Syntaxe Sass (indentée) Apprenez X en Y minutes, où X=sass ', + link: '<1> <2>Site officiel de Sass <3> <4>Documentation Sass <5> <6>Syntaxe Sass (indentée) <7> <8>Apprenez X en Y minutes, où X=sass ', name: 'Sass', }, scheme: { desc: "Scheme s'exécutant dans le navigateur en utilisant biwascheme.", - link: '<1> Le langage de programmation Scheme Site officiel de BiwaScheme Référence BiwaScheme Charger le modèle de démarrage ', + link: '<1> <2>Le langage de programmation Scheme <3> <4>Site officiel de BiwaScheme <5> <6>Référence BiwaScheme <7> <8>Charger le modèle de démarrage ', name: 'Scheme', }, scss: { desc: 'Feuilles de style syntaxiquement impressionnantes.', - link: '<1> Site officiel de Sass Documentation Sass Syntaxe SCSS Apprenez X en Y minutes, où X=sass ', + link: '<1> <2>Site officiel de Sass <3> <4>Documentation Sass <5> <6>Syntaxe SCSS <7> <8>Apprenez X en Y minutes, où X=sass ', name: 'SCSS', }, solid: { desc: "Une bibliothèque JavaScript déclarative, efficace et flexible pour la construction d'interfaces utilisateur.", - link: '<1>Site officiel Documentation Documentation LiveCodes Charger le modèle de démarrage (TSX) ', + link: '<1><2>Site officiel <3><4>Documentation <5> <6>Documentation LiveCodes <7> <8>Charger le modèle de démarrage (TSX) ', name: 'Solid', tsx: { desc: "Une bibliothèque JavaScript déclarative, efficace et flexible pour la construction d'interfaces utilisateur.", - link: '<1>Site officiel Documentation Solid Site web TypeScript Documentation TypeScript Documentation LiveCodes Charger le modèle de démarrage ', + link: '<1><2>Site officiel <3> <4>Documentation Solid <5> <6>Site web TypeScript <7> <8>Documentation TypeScript <9> <10>Documentation LiveCodes <11> <12>Charger le modèle de démarrage ', name: 'Solid (avec TypeScript)', }, }, sql: { desc: 'SQLite compilé en JavaScript en utilisant SQL.js', - link: '<1> Site officiel de SQLite Documentation de la syntaxe SQLite Site officiel de SQL.js Apprenez X en Y minutes, où X=SQL Charger le modèle de démarrage', + link: '<1> <2>Site officiel de SQLite <3> <4>Documentation de la syntaxe SQLite <5> <6>Site officiel de SQL.js <7> <8>Apprenez X en Y minutes, où X=SQL <9><10>Charger le modèle de démarrage', name: 'SQLite', }, stencil: { desc: 'Un compilateur pour les composants Web et les applications Web haute performance.', - link: '<1> Site officiel de Stencil Documentation de Stencil Charger le modèle de démarrage ', + link: '<1> <2>Site officiel de Stencil <3> <4>Documentation de Stencil <5> <6>Charger le modèle de démarrage ', name: 'Stencil', }, styleProcessors: { - link: '<1> Tailwind CSS Windi CSS UnoCSS Lightning CSS PostCSS Extensions : Autoprefixer postcss-preset-env postcss-import-url postcss-modules ', + link: '<1> <2>Tailwind CSS <3> <4>Windi CSS <5> <6>UnoCSS <7> <8>Lightning CSS <9> <10>PostCSS Extensions : <11> <12> <13>Autoprefixer <14> <15>postcss-preset-env <16> <17>postcss-import-url <18> <19>postcss-modules ', name: 'Frameworks et Processeurs CSS', }, stylis: { desc: 'Préprocesseur CSS léger.', - link: '<1> Site officiel de Stylis ', + link: '<1> <2>Site officiel de Stylis ', name: 'Stylis', }, stylus: { desc: 'CSS expressif, dynamique et robuste.', - link: '<1> Site officiel de Stylus Apprenez X en Y minutes, où X=stylus ', + link: '<1> <2>Site officiel de Stylus <3> <4>Apprenez X en Y minutes, où X=stylus ', name: 'Stylus', }, sucrase: { desc: "Alternative super rapide à Babel lorsque vous pouvez cibler des environnements d'exécution JS modernes.", - link: '<1> Site officiel de Sucrase Dépôt GitHub de Sucrase Documentation LiveCodes ', + link: '<1> <2>Site officiel de Sucrase <3> <4>Dépôt GitHub de Sucrase <5> <6>Documentation LiveCodes ', name: 'Sucrase', }, svelte: { desc: 'Applications web cybernétiquement améliorées.', - link: '<1> Site officiel de Svelte Documentation de Svelte Charger le modèle de démarrage ', + link: '<1> <2>Site officiel de Svelte <3> <4>Documentation de Svelte <5> <6>Charger le modèle de démarrage ', name: 'Svelte', }, tcl: { - desc: "Tcl s'exécutant dans le navigateur, en utilisant <1>wacl.", - link: '<1> Site officiel de Tcl Dépôt wacl Apprenez X en Y minutes, où X=Tcl Charger le modèle de démarrage ', + desc: "Tcl s'exécutant dans le navigateur, en utilisant <1>wacl.", + link: '<1> <2>Site officiel de Tcl <3> <4>Dépôt wacl <5> <6>Apprenez X en Y minutes, où X=Tcl <7> <8>Charger le modèle de démarrage ', name: 'Tcl (Tool Command Language)', }, teal: { desc: 'Un dialecte typé de Lua.', - link: '<1> Dépôt GitHub de Teal Documentation de Teal Tutoriel Teal Documentation LiveCodes Charger le modèle de démarrage ', + link: '<1> <2>Dépôt GitHub de Teal <3> <4>Documentation de Teal <5> <6>Tutoriel Teal <7> <8>Documentation LiveCodes <9> <10>Charger le modèle de démarrage ', name: 'Teal', }, tsx: { desc: 'TypeScript dans JSX. TSX est compilé en JavaScript dans LiveCodes en utilisant le compilateur TypeScript. Par défaut, il utilise React comme runtime JSX.', - link: '<1> Site officiel de React Documentation JSX dans React Documentation TypeScript Documentation LiveCodes ', + link: '<1> <2>Site officiel de React <3> <4>Documentation JSX dans React <5> <6>Documentation TypeScript <7> <8>Documentation LiveCodes ', name: 'TSX', }, twig: { - desc: 'Une implémentation JavaScript du langage de template PHP <1>Twig par Twig.js.', - link: '<1> Site officiel de Twig Documentation de Twig Dépôt Twig.js Documentation Twig.js Documentation LiveCodes ', + desc: 'Une implémentation JavaScript du langage de template PHP <1>Twig par <2>Twig.js.', + link: '<1> <2>Site officiel de Twig <3> <4>Documentation de Twig <5> <6>Dépôt Twig.js <7> <8>Documentation Twig.js <9> <10>Documentation LiveCodes ', name: 'Twig', }, typescript: { desc: 'Un sur-ensemble typé de JavaScript.', - link: '<1> Site officiel Documentation TypeScript Apprenez X en Y minutes, où X=TypeScript Charger le modèle de démarrage ', + link: '<1> <2>Site officiel <3> <4>Documentation TypeScript <5> <6>Apprenez X en Y minutes, où X=TypeScript <7> <8>Charger le modèle de démarrage ', name: 'TypeScript', }, vue: { - link: '<1> Site officiel de Vue.js v3 Documentation Vue3 Composants à fichier unique Vue3 Documentation LiveCodes Charger le modèle de démarrage', + link: '<1> <2>Site officiel de Vue.js v3 <3> <4>Documentation Vue3 <5> <6>Composants à fichier unique Vue3 <7> <8>Documentation LiveCodes <9><10>Charger le modèle de démarrage', name: 'Composants à fichier unique Vue3', }, vue2: { desc: 'Chargé en utilisant vue3-sfc-loader.', - link: '<1>Site officiel de Vue.js Documentation Vue2 Composants à fichier unique Vue2 Dépôt GitHub vue3-sfc-loader Documentation LiveCodes ', + link: '<1><2>Site officiel de Vue.js <3> <4>Documentation Vue2 <5> <6>Composants à fichier unique Vue2 <7> <8>Dépôt GitHub vue3-sfc-loader <9> <10>Documentation LiveCodes ', name: 'Composants à fichier unique Vue2', }, wat: { desc1: 'Représentation textuelle de bas niveau du format binaire WebAssembly (wasm).', desc2: 'Il est converti en wasm en utilisant wabt.js.', - link: '<1>WebAssembly.org Spécifications du format texte WebAssembly WebAssembly sur MDN Comprendre le format texte WebAssembly Documentation wabt.js Apprenez X en Y minutes, où X=WebAssembly Charger le modèle de démarrage', + link: '<1><2>WebAssembly.org <3> <4>Spécifications du format texte WebAssembly <5> <6>WebAssembly sur MDN <7> <8>Comprendre le format texte WebAssembly <9> <10>Documentation wabt.js <11> <12>Apprenez X en Y minutes, où X=WebAssembly <13><14>Charger le modèle de démarrage', name: 'Format Texte WebAssembly', }, }; diff --git a/src/livecodes/i18n/locales/fr/translation.ts b/src/livecodes/i18n/locales/fr/translation.ts index 6aef9b78c..3e15d770c 100644 --- a/src/livecodes/i18n/locales/fr/translation.ts +++ b/src/livecodes/i18n/locales/fr/translation.ts @@ -14,9 +14,9 @@ const translation: I18nTranslation = { heading: 'À propos de LiveCodes', livecodes: { para1: - '<1>LiveCodes est un éditeur de code logiciel libre, avec une multitude de fonctions intégrées et une intégration du côté client. Actuellement, plus de 80 langages et frameworks sont pris en charge. Il peut être utilisé comme une application autonome ou intégré dans une page web. De nombreuses options sont disponibles pour intégrer le code.', + '<1><2>LiveCodes est un éditeur de code <3>logiciel libre, avec une <4>multitude de fonctions intégrées et une intégration du <5>côté client. Actuellement, <6>plus de 80 langages et <7>frameworks sont pris en charge. Il peut être utilisé comme une application autonome ou <8>intégré dans une page web. De nombreuses options sont disponibles pour <9>intégrer le code.', para2: - "Livecodes dispose d'une large gamme <1>d'options de configuration qui le rend très flexible. Un puissant SDK (pour JS/TS, React, Vue et Svelte) facilite l'intégration et la communication avec l'éditeur de code. Une documentation complète est disponible avec des exemples de code, des démos et des captures d'écran.", + "Livecodes dispose d'une large gamme <1>d'options de configuration qui le rend très flexible. Un puissant <2>SDK (pour <3>JS/TS, <4>React, <5>Vue et <6>Svelte) facilite <7>l'intégration et <8>la communication avec l'éditeur de code. Une <9>documentation complète est disponible avec des exemples de code, des démos et des captures d'écran.", }, version: { app: 'Version : {{APP_VERSION}}', @@ -28,6 +28,9 @@ const translation: I18nTranslation = { }, }, app: { + consoleMessage: { + learnMore: 'En savoir plus ! {{docsUrl}} 🚀', + }, copy: { hint: 'Copier (Ctrl/Cmd + A, Ctrl/Cmd + C)', }, @@ -81,12 +84,12 @@ const translation: I18nTranslation = { assets: { add: { dataURL: { - desc: "Ajouter un actif en tant qu'<1>URL de données encodée en base64.", + desc: "Ajouter un actif en tant qu'<1>URL de données encodée en base64.", heading: 'URL de données', label: 'Ajouter un fichier', }, githubPages: { - desc: "Déployer l'actif sur GitHub Pages. Le fichier est poussé vers la branche <1>gh-pages du dépôt livecodes-assets sur votre compte GitHub. Si le dépôt n'existe pas déjà, un dépôt public sera créé.", + desc: "Déployer l'actif sur GitHub Pages. Le fichier est poussé vers la branche <1>gh-pages du dépôt <2>livecodes-assets sur votre compte GitHub. Si le dépôt n'existe pas déjà, un dépôt public sera créé.", heading: 'GitHub Pages', label: 'Téléverser le fichier', }, @@ -157,7 +160,7 @@ const translation: I18nTranslation = { backup: { assets: 'Actifs', button: 'Sauvegarder', - desc: "Sauvegardez les données LiveCodes afin de pouvoir les restaurer ultérieurement sur cet appareil ou d'autres. <1> Veuillez consulter la documentation pour plus de détails.", + desc: "Sauvegardez les données LiveCodes afin de pouvoir les restaurer ultérieurement sur cet appareil ou d'autres. <1> Veuillez consulter la <2>documentation pour plus de détails.", heading: 'Sauvegarde', projects: 'Projets', settings: 'Paramètres utilisateur', @@ -173,7 +176,7 @@ const translation: I18nTranslation = { heading: 'Sauvegarde / Restauration', inProgress: 'En cours...', restore: { - desc: "Restaurez les données LiveCodes précédemment sauvegardées. <1> Si vous choisissez de remplacer le contenu actuel, vous voudrez peut-être d'abord le sauvegarder. Pour plus de détails, veuillez consulter la documentation", + desc: "Restaurez les données LiveCodes précédemment sauvegardées. <1> Si vous choisissez de remplacer le contenu actuel, vous voudrez peut-être d'abord le sauvegarder. <2> Pour plus de détails, veuillez consulter la <3>documentation", fromFile: 'Restaurer à partir du fichier', heading: 'Restaurer', mode: { @@ -191,7 +194,7 @@ const translation: I18nTranslation = { broadcasting: 'Diffusion en cours...', channelURL: 'URL du canal', connecting: 'Connexion en cours...', - desc: "Diffusez la page de résultat vers d'autres navigateurs et appareils en temps réel. Pour plus de détails, veuillez consulter la <1>documentation", + desc: "Diffusez la page de résultat vers d'autres navigateurs et appareils en temps réel. Pour plus de détails, veuillez consulter la <1>documentation", error: { generic: 'La diffusion a échoué !', serverURLRequired: "L'URL du serveur est requise !", @@ -291,9 +294,9 @@ const translation: I18nTranslation = { }, deploy: { create: { - desc: 'Un nouveau dépôt <1>public sera créé. La page de résultat sera envoyée (push) vers la branche gh-pages.', + desc: 'Un nouveau dépôt <1>public sera créé. La page de résultat sera envoyée (push) vers la branche <2>gh-pages.', heading: 'Créer un nouveau dépôt', - repoName: 'Nom du dépôt <1>', + repoName: 'Nom du dépôt <1>', }, error: { generic: 'Le déploiement a échoué !', @@ -301,7 +304,7 @@ const translation: I18nTranslation = { repoNameRequired: 'Le nom du dépôt est requis', }, existing: { - desc: 'Un nouveau commit sera ajouté à la branche <1>gh-pages.', + desc: 'Un nouveau commit sera ajouté à la branche <1>gh-pages.', heading: 'Dépôt existant', repoName: 'Nom du dépôt', }, @@ -322,7 +325,7 @@ const translation: I18nTranslation = { closeBrackets: 'Fermeture automatique des parenthèses et des guillemets', codeJarDesc: '* Les fonctionnalités marquées ne sont pas disponibles dans CodeJar.', default: 'Par défaut', - desc: 'Pour plus de détails, veuillez consulter la <1>documentation', + desc: 'Pour plus de détails, veuillez consulter la <1>documentation', editor: { codejar: 'CodeJar', codemirror: 'CodeMirror', @@ -338,7 +341,7 @@ const translation: I18nTranslation = { emmet: 'Activer Emmet *', enableAI: { heading: "Activer l'assistant de code AI", - note: 'Propulsé par <1>', + note: 'Propulsé par <1><2>', }, fontFamily: 'Famille de police', fontSize: 'Taille de la police', @@ -376,7 +379,7 @@ const translation: I18nTranslation = { copy: 'Copier le code', heading: 'Code', }, - desc: 'Pour des configurations avancées, veuillez consulter la <1>documentation', + desc: 'Pour des configurations avancées, veuillez consulter la <1>documentation', embedType: { cdn: 'Script (CDN)', heading: "Type d'intégration", @@ -447,17 +450,18 @@ const translation: I18nTranslation = { more: 'Plus...', optional: 'Facultatif', required: 'Requis', + tagline: 'Un Bac à Sable de Code Qui Fonctionne, Tout Simplement!', }, import: { bulk: { - desc: "Importation groupée de plusieurs projets dans vos projets enregistrés. Les projets peuvent être exportés depuis l'écran <1>Projets Enregistrés", + desc: "Importation groupée de plusieurs projets dans vos projets enregistrés. Les projets peuvent être exportés depuis l'écran <1>Projets Enregistrés", fromFile: 'Importation groupée depuis un fichier local', fromURL: 'Importation groupée depuis une URL', heading: 'Importation groupée', started: 'Importation groupée a commencée...', }, code: { - desc: 'Sources prises en charge : <1> Gist GitHub Fichier GitHub Répertoire dans un dépôt GitHub Extrait Gitlab Fichier Gitlab Répertoire dans un dépôt Gitlab JS Bin Code brut Code dans une page Web Code dans un fichier zip Playgrounds officiels(TypeScript, Vue et Svelte) Pour plus de détails, veuillez consulter la documentation', + desc: 'Sources prises en charge : <1> <2>Gist GitHub <3>Fichier GitHub <4>Répertoire dans un dépôt GitHub <5>Extrait Gitlab <6>Fichier Gitlab <7>Répertoire dans un dépôt Gitlab <8>JS Bin <9>Code brut <10>Code dans une page Web <11>Code dans un fichier zip <12>Playgrounds officiels<13>(TypeScript, Vue et Svelte) Pour plus de détails, veuillez consulter la <14>documentation', fromFile: 'Importer des fichiers locaux', fromURL: 'Importer depuis une URL', heading: 'Importer du code', @@ -482,7 +486,7 @@ const translation: I18nTranslation = { }, login: { accessAllowed: "Autoriser l'accès à :", - desc: '<1>En vous connectant, vous acceptez que des cookies soient stockés sur votre appareil. Pourquoi ces autorisations sont nécessaires ? Comment révoquer les autorisations ? ', + desc: '<1>En vous connectant, vous acceptez que des <2>cookies soient stockés sur votre appareil. <3> <4>Pourquoi ces autorisations sont nécessaires ? <5> <6>Comment révoquer les autorisations ? ', gist: 'Gists', heading: 'Se connecter avec GitHub', loginAs: 'Connecté en tant que {{name}}', @@ -500,7 +504,7 @@ const translation: I18nTranslation = { broadcast: 'Diffusion …', customSettings: 'Paramètres personnalisés …', delay: { - heading: 'Délai : <1>1.5s', + heading: 'Délai : <1>1.5s', hint: 'Délai de mise à jour automatique', }, deploy: 'Déployer …', @@ -537,7 +541,7 @@ const translation: I18nTranslation = { hint: 'Appuyez sur Alt/Option et déplacez votre curseur sur la page de résultat', }, snippets: 'Extraits de code …', - sync: 'Synchronisation (bêta) … <1> ⏳', + sync: 'Synchronisation (bêta) … <1> ⏳', theme: 'Thème sombre', welcome: { heading: 'Bienvenue …', @@ -590,11 +594,11 @@ const translation: I18nTranslation = { recoverPrompt: { desc: 'Votre dernier projet comporte des modifications non enregistrées !', heading: 'Récupérer le projet non enregistré ?', - meta: 'Titre : <1> Dernière modification : ', + meta: 'Titre : <1> <2> Dernière modification : <3>', notShowAgain: 'Ne plus afficher ceci.', prompt: { discard: 'Supprimer le projet non enregistré', - heading: '<1>Voulez-vous le récupérer maintenant ?', + heading: '<1>Voulez-vous le récupérer maintenant ?', recover: "Récupérer le projet dans l'éditeur", save: "Enregistrer sur l'appareil et continuer", }, @@ -613,13 +617,13 @@ const translation: I18nTranslation = { }, fonts: { add: 'Ajouter', - heading: 'Polices <1>(propulsé par Google Fonts)', + heading: 'Polices <1>(propulsé par Google Fonts)', select: 'Sélectionner une police ...', }, heading: 'Ressources externes', scripts: 'Scripts externes', search: { - heading: 'Rechercher des packages <1>(propulsé par jsDelivr)', + heading: 'Rechercher des packages <1>(propulsé par jsDelivr)', placeholder: 'par ex. jquery, lodash@4, bootstrap@5.2.3, ...', }, stylesheets: 'Feuilles de style externes', @@ -632,7 +636,7 @@ const translation: I18nTranslation = { cancel: 'Annuler', discard: 'Ne pas sauvegarder', heading: - 'Les modifications ne sont peut-être pas enregistrées. <1> Voulez-vous enregistrer maintenant ?', + 'Les modifications ne sont peut-être pas enregistrées. <1> Voulez-vous enregistrer maintenant ?', save: 'Enregistrer', }, }, @@ -730,7 +734,7 @@ const translation: I18nTranslation = { sync: { autoSync: 'Synchronisation automatique', create: { - desc: 'Un nouveau dépôt <1>privé sera créé. Vos données locales LiveCodes seront synchronisées avec la branche main.', + desc: 'Un nouveau dépôt <1>privé sera créé. Vos données locales LiveCodes seront synchronisées avec la branche <2>main.', heading: 'Créer un nouveau dépôt', repoName: 'Nom du dépôt', }, @@ -739,7 +743,7 @@ const translation: I18nTranslation = { repoNameRequired: 'Le nom du dépôt est requis', }, existing: { - desc: 'Vos données locales LiveCodes seront synchronisées avec la branche <1>main.', + desc: 'Vos données locales LiveCodes seront synchronisées avec la branche <1>main.', heading: 'Dépôt existant', repoName: 'Nom du dépôt', }, @@ -753,7 +757,7 @@ const translation: I18nTranslation = { templates: { heading: 'Nouveau Projet', noUserTemplates: { - desc: 'Vous pouvez enregistrer un projet comme modèle depuis <1>(Menu Projet > Enregistrer sous > Modèle).', + desc: 'Vous pouvez enregistrer un projet comme modèle depuis <1>(Menu Projet > Enregistrer sous > Modèle).', heading: "Vous n'avez aucun modèle enregistré.", }, starter: { @@ -840,16 +844,16 @@ const translation: I18nTranslation = { }, test: { edit: 'Modifier', - error: '<1>Erreur de test !', - loading: '<1>Chargement des tests...', - noTest: "<1>Ce projet n'a pas de tests !", + error: '<1><2>Erreur de test !', + loading: '<1>Chargement des tests...', + noTest: "<1>Ce projet n'a pas de tests !", reset: 'Réinitialiser', run: { desc: 'Ctrl/Cmd + Alt + T', heading: 'Exécuter', }, summary: { - desc: 'Tests : {{failed}}\n {{passed}}\n {{skipped}}\n {{total}}<1>\nTemps : {{duration}}s', + desc: 'Tests : {{failed}}\n {{passed}}\n {{skipped}}\n {{total}}<1>\nTemps : {{duration}}s', failed: '{{failedNum}} échoués', passed: '{{passedNum}} réussis', skipped: '{{skippedNum}} ignorés', @@ -874,7 +878,7 @@ const translation: I18nTranslation = { recover: { cancel: 'Annuler', heading: 'Récupération', - lastModified: 'Dernière modification : <1>', + lastModified: 'Dernière modification : <1>', recover: 'Récupérer', save: 'Enregistrer', unsavedChanges: 'Votre dernier projet avait des modifications non enregistrées :', diff --git a/src/livecodes/i18n/locales/hi/language-info.ts b/src/livecodes/i18n/locales/hi/language-info.ts index dba396c68..bca954396 100644 --- a/src/livecodes/i18n/locales/hi/language-info.ts +++ b/src/livecodes/i18n/locales/hi/language-info.ts @@ -5,203 +5,203 @@ import type { I18nLangInfoTranslation } from '../models'; const languageInfo: I18nLangInfoTranslation = { artTemplate: { desc: 'उच्च प्रदर्शन वाला JavaScript टेम्प्लेटिंग इंजन।', - link: '<1> art-template आधिकारिक वेबसाइट art-template दस्तावेज़ीकरण ', + link: '<1> <2>art-template आधिकारिक वेबसाइट <3> <4>art-template दस्तावेज़ीकरण ', name: 'art-template', }, asciidoc: { desc: 'Asciidoctor का उपयोग करके HTML में संकलित AsciiDoc।', - link: '<1> AsciiDoc आधिकारिक वेबसाइट Asciidoctor आधिकारिक वेबसाइट Asciidoctor दस्तावेज़ीकरण X को Y मिनटों में सीखें, जहां X=asciidoc ', + link: '<1> <2>AsciiDoc आधिकारिक वेबसाइट <3> <4>Asciidoctor आधिकारिक वेबसाइट <5> <6>Asciidoctor दस्तावेज़ीकरण <7> <8>X को Y मिनटों में सीखें, जहां X=asciidoc ', name: 'AsciiDoc', }, assemblyscript: { desc: 'WebAssembly के लिए TypeScript जैसी भाषा।', - link: '<1> AssemblyScript आधिकारिक वेबसाइट AssemblyScript दस्तावेज़ीकरण स्टार्टर टेम्पलेट लोड करें ', + link: '<1> <2>AssemblyScript आधिकारिक वेबसाइट <3> <4>AssemblyScript दस्तावेज़ीकरण <5> <6>स्टार्टर टेम्पलेट लोड करें ', name: 'AssemblyScript', }, astro: { desc: 'कम क्लाइंट-साइड जावास्क्रिप्ट के साथ तेज़ वेबसाइटें बनाएं। (अभी भी बीटा में)', - link: '<1> Astro आधिकारिक वेबसाइट Astro दस्तावेज़ीकरण स्टार्टर टेम्पलेट लोड करें ', + link: '<1> <2>Astro आधिकारिक वेबसाइट <3> <4>Astro दस्तावेज़ीकरण <5> <6>स्टार्टर टेम्पलेट लोड करें ', name: 'Astro', }, babel: { desc: 'जावास्क्रिप्ट कंपाइलर', - link: '<1>आधिकारिक वेबसाइट Babel दस्तावेज़ीकरण ', + link: '<1><2>आधिकारिक वेबसाइट <3> <4>Babel दस्तावेज़ीकरण ', name: 'Babel', }, bbcode: { desc: 'BBCode ("बुलेटिन बोर्ड कोड") एक हल्का मार्कअप भाषा है जिसका उपयोग कई इंटरनेट फोरम सॉफ्टवेयर में संदेशों को फॉर्मेट करने के लिए किया जाता है।', - link: '<1>bbcode.org BBCode गाइड विकिपीडिया पर BBCode ', + link: '<1><2>bbcode.org <3> <4>BBCode गाइड <5> <6>विकिपीडिया पर BBCode ', name: 'BBCode', }, blockly: { desc: 'दृश्य प्रोग्रामिंग संपादकों के निर्माण के लिए एक जावास्क्रिप्ट लाइब्रेरी।', - link: '<1> आधिकारिक वेबसाइट गाइड संदर्भ नमूने स्टार्टर टेम्पलेट लोड करें ', + link: '<1> <2>आधिकारिक वेबसाइट <3> <4>गाइड <5> <6>संदर्भ <7> <8>नमूने <9> <10>स्टार्टर टेम्पलेट लोड करें ', name: 'Blockly', }, civet: { desc: 'Civet एक प्रोग्रामिंग भाषा है जो TypeScript या JavaScript में कंपाइल होती है, इसलिए आप मौजूदा टूलिंग का उपयोग कर सकते हैं लेकिन संक्षिप्त और शक्तिशाली सिंटैक्स को सक्षम कर सकते हैं।', - link: '<1> Civet आधिकारिक वेबसाइट Civet चीटशीट स्टार्टर टेम्पलेट लोड करें ', + link: '<1> <2>Civet आधिकारिक वेबसाइट <3> <4>Civet चीटशीट <5> <6>स्टार्टर टेम्पलेट लोड करें ', name: 'Civet', }, clio: { desc: 'Clio एक तेज़, वितरित, कार्यात्मक प्रोग्रामिंग भाषा है जो JavaScript में कंपाइल होती है।', - link: '<1> Clio आधिकारिक वेबसाइट Clio दस्तावेज़ीकरण स्टार्टर टेम्पलेट लोड करें ', + link: '<1> <2>Clio आधिकारिक वेबसाइट <3> <4>Clio दस्तावेज़ीकरण <5> <6>स्टार्टर टेम्पलेट लोड करें ', name: 'Clio', }, clojurescript: { - desc: 'ClojureScript <1>Clojure के लिए एक कंपाइलर है जो JavaScript को लक्षित करता है। LiveCodes में, यह ब्राउज़र में Cherry का उपयोग करके चलता है।', - link: '<1> ClojureScript आधिकारिक वेबसाइट Clojure आधिकारिक वेबसाइट Cherry रेपो X को Y मिनटों में सीखें, जहां X=clojure LiveCodes दस्तावेज़ीकरण स्टार्टर टेम्पलेट लोड करें ', + desc: 'ClojureScript <1>Clojure के लिए एक कंपाइलर है जो JavaScript को लक्षित करता है। <2>LiveCodes में, यह ब्राउज़र में <3>Cherry का उपयोग करके चलता है।', + link: '<1> <2>ClojureScript आधिकारिक वेबसाइट <3> <4>Clojure आधिकारिक वेबसाइट <5> <6>Cherry रेपो <7> <8>X को Y मिनटों में सीखें, जहां X=clojure <9> <10>LiveCodes दस्तावेज़ीकरण <11> <12>स्टार्टर टेम्पलेट लोड करें ', name: 'ClojureScript (CLJS)', }, coffeescript: { desc: 'सरल जावास्क्रिप्ट।', - link: '<1> CoffeeScript आधिकारिक वेबसाइट X को Y मिनटों में सीखें, जहां X=coffeescript स्टार्टर टेम्पलेट लोड करें ', + link: '<1> <2>CoffeeScript आधिकारिक वेबसाइट <3> <4>X को Y मिनटों में सीखें, जहां X=coffeescript <5> <6>स्टार्टर टेम्पलेट लोड करें ', name: 'CoffeeScript', }, commonlisp: { desc: 'JSCL (Common Lisp से बूटस्ट्रैप किया गया एक Lisp-to-Javascript कंपाइलर) का उपयोग करके Javascript पर एक Common Lisp कार्यान्वयन।', - link: '<1> Common-Lisp.net JSCL प्रोजेक्ट Common Lisp संसाधन X को Y मिनटों में सीखें, जहां X=Common Lisp स्टार्टर टेम्पलेट लोड करें ', + link: '<1> <2>Common-Lisp.net <3> <4>JSCL प्रोजेक्ट <5> <6>Common Lisp संसाधन <7> <8>X को Y मिनटों में सीखें, जहां X=Common Lisp <9> <10>स्टार्टर टेम्पलेट लोड करें ', name: 'Common Lisp', }, cpp: { desc1: 'JSCPP (JavaScript में लिखा गया एक सरल C++ इंटरप्रेटर) का उपयोग करके C++ समर्थन।', desc2: - 'यह C++ का पूर्ण कार्यान्वयन नहीं है। कृपया विवरण के लिए <1>JSCPP दस्तावेज़ीकरण देखें।', - link: '<1> मानक C++ फाउंडेशन JSCPP X को Y मिनटों में सीखें, जहां X=C++ स्टार्टर टेम्पलेट लोड करें ', + 'यह C++ का पूर्ण कार्यान्वयन नहीं है। कृपया विवरण के लिए <1>JSCPP दस्तावेज़ीकरण देखें।', + link: '<1> <2>मानक C++ फाउंडेशन <3> <4>JSCPP <5> <6>X को Y मिनटों में सीखें, जहां X=C++ <7> <8>स्टार्टर टेम्पलेट लोड करें ', name: 'C++', }, cppWasm: { - desc: '<2>polylang.io द्वारा अनुकूलित wasm-clang का उपयोग करके WebAssembly पर चलने वाला Clang C/C++ कंपाइलर।', - link: '<1> मानक C++ फाउंडेशन Clang आधिकारिक वेबसाइट X को Y मिनटों में सीखें, जहां X=C++ स्टार्टर टेम्पलेट लोड करें ', + desc: '<2>polylang.io द्वारा अनुकूलित <1>wasm-clang का उपयोग करके WebAssembly पर चलने वाला Clang C/C++ कंपाइलर।', + link: '<1> <2>मानक C++ फाउंडेशन <3> <4>Clang आधिकारिक वेबसाइट <5> <6>X को Y मिनटों में सीखें, जहां X=C++ <7> <8>स्टार्टर टेम्पलेट लोड करें ', name: 'C/C++ (Wasm)', }, diagrams: { desc1: '(प्रायोगिक)', desc2: 'कोड के रूप में आरेख। समर्थन करता है:', desc3: - '<1> Cytoscape ELK (elkjs का उपयोग करके) Gnuplot (gnuplot-JS का उपयोग करके) Graphviz (@hpcc-js/wasm का उपयोग करके) Mermaid Nomnoml Pintora Plotly Svgbob Vega VegaLite WaveDrom ', - link: '<1> स्टार्टर टेम्पलेट लोड करें LiveCodes दस्तावेज़ीकरण ', + '<1> <2>Cytoscape <3> <4>ELK (<5>elkjs का उपयोग करके) <6> <7>Gnuplot (<8>gnuplot-JS का उपयोग करके) <9> <10>Graphviz (<11>@hpcc-js/wasm का उपयोग करके) <12> <13>Mermaid <14> <15>Nomnoml <16> <17>Pintora <18> <19>Plotly <20> <21>Svgbob <22> <23>Vega <24> <25>VegaLite <26> <27>WaveDrom ', + link: '<1> <2>स्टार्टर टेम्पलेट लोड करें <3> <4>LiveCodes दस्तावेज़ीकरण ', name: 'आरेख', }, dot: { desc: 'Node.js और ब्राउज़रों के लिए सबसे तेज़ + संक्षिप्त जावास्क्रिप्ट टेम्पलेट इंजन।', - link: '<1> आधिकारिक वेबसाइट LiveCodes दस्तावेज़ीकरण ', + link: '<1> <2>आधिकारिक वेबसाइट <3> <4>LiveCodes दस्तावेज़ीकरण ', name: 'doT.js', }, ejs: { desc: 'एम्बेडेड जावास्क्रिप्ट टेम्प्लेटिंग।', - link: '<1>आधिकारिक वेबसाइट LiveCodes दस्तावेज़ीकरण ', + link: '<1><2>आधिकारिक वेबसाइट <3> <4>LiveCodes दस्तावेज़ीकरण ', name: 'EJS', }, eta: { desc: 'Node, Deno, और ब्राउज़र के लिए एम्बेडेड JS टेम्पलेट इंजन। हल्का, तेज़, और प्लगेबल। TypeScript में लिखा गया।', - link: '<1>आधिकारिक वेबसाइट दस्तावेज़ीकरण LiveCodes दस्तावेज़ीकरण ', + link: '<1><2>आधिकारिक वेबसाइट <3> <4>दस्तावेज़ीकरण <5> <6>LiveCodes दस्तावेज़ीकरण ', name: 'Eta', }, fennel: { desc: 'Fennel एक प्रोग्रामिंग भाषा है जो Lua की गति, सरलता, और पहुंच को लिस्प सिंटैक्स और मैक्रो सिस्टम की लचीलेपन के साथ जोड़ती है।', - link: '<1> Fennel आधिकारिक वेबसाइट Fennel के साथ शुरुआत करना LiveCodes दस्तावेज़ीकरण स्टार्टर टेम्पलेट लोड करें ', + link: '<1> <2>Fennel आधिकारिक वेबसाइट <3> <4>Fennel के साथ शुरुआत करना <5> <6>LiveCodes दस्तावेज़ीकरण <7> <8>स्टार्टर टेम्पलेट लोड करें ', name: 'Fennel', }, flow: { desc: 'Flow जावास्क्रिप्ट के लिए एक स्थैतिक टाइप चेकर है।', - link: '<1> Flow आधिकारिक वेबसाइट Flow दस्तावेज़ीकरण ', + link: '<1> <2>Flow आधिकारिक वेबसाइट <3> <4>Flow दस्तावेज़ीकरण ', name: 'Flow', }, gleam: { desc1: 'Gleam एक मित्रवत भाषा है जो स्केलेबल टाइप-सेफ सिस्टम बनाने के लिए है!', desc2: 'Gleam एक स्थैतिक रूप से टाइप की गई कार्यात्मक प्रोग्रामिंग भाषा है, जो Erlang या JavaScript में कंपाइल होती है।', - link: '<1>Gleam वेबसाइट Gleam दस्तावेज़ीकरण Gleam भाषा टूर स्टार्टर टेम्पलेट लोड करें ', + link: '<1><2>Gleam वेबसाइट <3> <4>Gleam दस्तावेज़ीकरण <5> <6>Gleam भाषा टूर <7> <8>स्टार्टर टेम्पलेट लोड करें ', name: 'Gleam', }, go: { desc1: 'Go (Golang) एक ओपन सोर्स प्रोग्रामिंग भाषा है जो सरल, विश्वसनीय और कुशल सॉफ्टवेयर बनाना आसान बनाती है।', desc2: 'यहाँ, यह GopherJS का उपयोग करके JavaScript में कंपाइल किया जाता है।', - link: '<1>Go वेबसाइट Go दस्तावेज़ीकरण GopherJS रेपो X को Y मिनटों में सीखें, जहां X=Go स्टार्टर टेम्पलेट लोड करें', + link: '<1><2>Go वेबसाइट <3><4>Go दस्तावेज़ीकरण <5> <6>GopherJS रेपो <7> <8>X को Y मिनटों में सीखें, जहां X=Go <9><10>स्टार्टर टेम्पलेट लोड करें', name: 'Go', }, haml: { desc: 'क्लाइंटसाइड-haml-js का उपयोग करके क्लाइंट साइड जावास्क्रिप्ट व्यू टेम्प्लेट्स के लिए Haml कंपाइलर।', - link: '<1>Haml आधिकारिक वेबसाइट Haml दस्तावेज़ीकरण clientside-haml-js GitHub रेपो X को Y मिनटों में सीखें, जहां X=haml LiveCodes दस्तावेज़ीकरण ', + link: '<1><2>Haml आधिकारिक वेबसाइट <3> <4>Haml दस्तावेज़ीकरण <5> <6>clientside-haml-js GitHub रेपो <7> <8>X को Y मिनटों में सीखें, जहां X=haml <9> <10>LiveCodes दस्तावेज़ीकरण ', name: 'Haml', }, handlebars: { desc: 'स्टेरॉयड्स पर न्यूनतम टेम्प्लेटिंग।', - link: '<1>आधिकारिक वेबसाइट LiveCodes दस्तावेज़ीकरण ', + link: '<1><2>आधिकारिक वेबसाइट <3> <4>LiveCodes दस्तावेज़ीकरण ', name: 'Handlebars', }, imba: { desc: 'मित्रवत फुल-स्टैक भाषा।', - link: '<1>आधिकारिक वेबसाइट', + link: '<1><2>आधिकारिक वेबसाइट', name: 'Imba', }, jsx: { desc: 'LiveCodes में JSX को TypeScript कंपाइलर का उपयोग करके JavaScript में कंपाइल किया जाता है। डिफ़ॉल्ट रूप से यह JSX रनटाइम के रूप में React का उपयोग करता है।', - link: '<1> React आधिकारिक वेबसाइट React दस्तावेज़ीकरण में JSX LiveCodes दस्तावेज़ीकरण स्टार्टर टेम्पलेट लोड करें ', + link: '<1> <2>React आधिकारिक वेबसाइट <3> <4>React दस्तावेज़ीकरण में JSX <5> <6>LiveCodes दस्तावेज़ीकरण <7> <8>स्टार्टर टेम्पलेट लोड करें ', name: 'JSX', }, julia: { desc1: '(LiveCodes में Julia भाषा समर्थन अभी भी प्रयोगात्मक है)', desc2: - '<2>polylang.io द्वारा अनुकूलित julia-wasm का उपयोग करके WASM पर चलने वाला Julia कंपाइलर और Julia Base।', - link: '<1> Julia आधिकारिक वेबसाइट Julia दस्तावेज़ीकरण X को Y मिनटों में सीखें, जहां X=Julia स्टार्टर टेम्पलेट लोड करें ', + '<2>polylang.io द्वारा अनुकूलित <1>julia-wasm का उपयोग करके WASM पर चलने वाला Julia कंपाइलर और Julia Base।', + link: '<1> <2>Julia आधिकारिक वेबसाइट <3> <4>Julia दस्तावेज़ीकरण <5> <6>X को Y मिनटों में सीखें, जहां X=Julia <7> <8>स्टार्टर टेम्पलेट लोड करें ', name: 'Julia', }, less: { desc: 'यह CSS है, बस थोड़ा और के साथ।', - link: '<1>Less आधिकारिक वेबसाइट X को Y मिनटों में सीखें, जहां X=less ', + link: '<1><2>Less आधिकारिक वेबसाइट <3> <4>X को Y मिनटों में सीखें, जहां X=less ', name: 'Less', }, liquid: { desc: 'एक सरल, अभिव्यंजक और सुरक्षित टेम्पलेट इंजन।', - link: '<1> LiquidJS आधिकारिक वेबसाइट LiquidJS दस्तावेज़ीकरण LiveCodes दस्तावेज़ीकरण ', + link: '<1> <2>LiquidJS आधिकारिक वेबसाइट <3> <4>LiquidJS दस्तावेज़ीकरण <5> <6>LiveCodes दस्तावेज़ीकरण ', name: 'LiquidJS', }, livescript: { desc: 'एक भाषा जो JavaScript में कंपाइल होती है।', - link: '<1> LiveScript आधिकारिक वेबसाइट X को Y मिनटों में सीखें, जहां X=LiveScript स्टार्टर टेम्पलेट लोड करें ', + link: '<1> <2>LiveScript आधिकारिक वेबसाइट <3> <4>X को Y मिनटों में सीखें, जहां X=LiveScript <5> <6>स्टार्टर टेम्पलेट लोड करें ', name: 'LiveScript', }, lua: { desc: 'fengari-web का उपयोग करके ब्राउज़र में चलने वाला Lua।', - link: '<1>Lua आधिकारिक वेबसाइट Lua दस्तावेज़ीकरण Fengari आधिकारिक वेबसाइट fengari-web GitHub रेपो X को Y मिनटों में सीखें, जहां X=Lua LiveCodes दस्तावेज़ीकरण स्टार्टर टेम्पलेट लोड करें', + link: '<1><2>Lua आधिकारिक वेबसाइट <3> <4>Lua दस्तावेज़ीकरण <5> <6>Fengari आधिकारिक वेबसाइट <7> <8>fengari-web GitHub रेपो <9> <10>X को Y मिनटों में सीखें, जहां X=Lua <11> <12>LiveCodes दस्तावेज़ीकरण <13><14>स्टार्टर टेम्पलेट लोड करें', name: 'Lua', }, luaWasm: { desc: 'Wasmoon का उपयोग करके ब्राउज़र में चलने वाला Lua, जो WebAssembly के साथ बनाया गया JS बाइंडिंग्स के साथ एक वास्तविक lua 5.4 VM है।', - link: '<1>Lua आधिकारिक वेबसाइट Lua दस्तावेज़ीकरण Wasmoon GitHub रेपो X को Y मिनटों में सीखें, जहां X=Lua LiveCodes दस्तावेज़ीकरण स्टार्टर टेम्पलेट लोड करें ', + link: '<1><2>Lua आधिकारिक वेबसाइट <3> <4>Lua दस्तावेज़ीकरण <5> <6>Wasmoon GitHub रेपो <7> <8>X को Y मिनटों में सीखें, जहां X=Lua <9> <10>LiveCodes दस्तावेज़ीकरण <11> <12>स्टार्टर टेम्पलेट लोड करें ', name: 'Lua (Wasm)', }, malina: { desc: 'Svelte से प्रेरित फ्रंटएंड कंपाइलर।', - link: '<1> Malina.js रेपो Malina.js दस्तावेज़ीकरण स्टार्टर टेम्पलेट लोड करें ', + link: '<1> <2>Malina.js रेपो <3> <4>Malina.js दस्तावेज़ीकरण <5> <6>स्टार्टर टेम्पलेट लोड करें ', name: 'Malina.js', }, markdown: { desc: 'Marked का उपयोग करके HTML में संकलित Markdown।', - link: '<1> Markdown आधिकारिक वेबसाइट Marked दस्तावेज़ीकरण X को Y मिनटों में सीखें, जहां X=markdown स्टार्टर टेम्पलेट लोड करें ', + link: '<1> <2>Markdown आधिकारिक वेबसाइट <3> <4>Marked दस्तावेज़ीकरण <5> <6>X को Y मिनटों में सीखें, जहां X=markdown <7> <8>स्टार्टर टेम्पलेट लोड करें ', name: 'Markdown', }, mdx: { - desc: 'कंपोनेंट युग के लिए Markdown। <1>MDX आपको अपने Markdown दस्तावेज़ों में सहजता से JSX लिखने की अनुमति देता है।', - link: '<1>MDX दस्तावेज़ीकरण स्टार्टर टेम्पलेट लोड करें', + desc: 'कंपोनेंट युग के लिए Markdown। <1>MDX आपको अपने Markdown दस्तावेज़ों में सहजता से JSX लिखने की अनुमति देता है।', + link: '<1><2>MDX दस्तावेज़ीकरण <3><4>स्टार्टर टेम्पलेट लोड करें', name: 'MDX', }, mjml: { desc: 'MJML एक मार्कअप भाषा है जिसे प्रतिक्रियाशील ईमेल को कोड करने की पीड़ा को कम करने के लिए डिज़ाइन किया गया है।', - link: '<1>MJML आधिकारिक वेबसाइट MJML दस्तावेज़ीकरण MJML आधिकारिक टेम्पलेट्स LiveCodes दस्तावेज़ीकरण ', + link: '<1><2>MJML आधिकारिक वेबसाइट <3> <4>MJML दस्तावेज़ीकरण <5> <6>MJML आधिकारिक टेम्पलेट्स <7> <8>LiveCodes दस्तावेज़ीकरण ', name: 'MJML', }, mustache: { desc: 'तर्करहित टेम्पलेट्स।', - link: '<1> आधिकारिक वेबसाइट mustache(5) मैनुअल JavaScript कार्यान्वयन LiveCodes दस्तावेज़ीकरण ', + link: '<1> <2>आधिकारिक वेबसाइट <3> <4>mustache(5) मैनुअल <5> <6>JavaScript कार्यान्वयन <7> <8>LiveCodes दस्तावेज़ीकरण ', name: 'Mustache', }, nunjucks: { - desc: 'JavaScript के लिए एक समृद्ध और शक्तिशाली टेम्प्लेटिंग भाषा। Nunjucks अनिवार्य रूप से <1>jinja2 का एक पोर्ट है।', - link: '<1> आधिकारिक वेबसाइट LiveCodes दस्तावेज़ीकरण ', + desc: 'JavaScript के लिए एक समृद्ध और शक्तिशाली टेम्प्लेटिंग भाषा। Nunjucks अनिवार्य रूप से <1>jinja2 का एक पोर्ट है।', + link: '<1> <2>आधिकारिक वेबसाइट <3> <4>LiveCodes दस्तावेज़ीकरण ', name: 'Nunjucks', }, ocaml: { @@ -209,64 +209,64 @@ const languageInfo: I18nLangInfoTranslation = { 'OCaml एक औद्योगिक-स्तरीय प्रोग्रामिंग भाषा है जो कार्यात्मक, आदेशात्मक और ऑब्जेक्ट-उन्मुख शैलियों का समर्थन करती है।', desc2: 'यहाँ OCaml को JavaScript में कंपाइल करने के लिए ReScript कंपाइलर का उपयोग किया जाता है।', - link: '<1>OCaml वेबसाइट OCaml दस्तावेज़ीकरण ReScript वेबसाइट X को Y मिनटों में सीखें, जहां X=OCaml स्टार्टर टेम्पलेट लोड करें ', + link: '<1><2>OCaml वेबसाइट <3> <4>OCaml दस्तावेज़ीकरण <5> <6>ReScript वेबसाइट <7> <8>X को Y मिनटों में सीखें, जहां X=OCaml <9> <10>स्टार्टर टेम्पलेट लोड करें ', name: 'OCaml', }, perl: { desc: 'Perlito का उपयोग करके ब्राउज़र में चलने वाला Perl।', - link: '<1> Perl आधिकारिक वेबसाइट Perl दस्तावेज़ीकरण Perlito5 रीडमी X को Y मिनटों में सीखें, जहां X=perl स्टार्टर टेम्पलेट लोड करें ', + link: '<1> <2>Perl आधिकारिक वेबसाइट <3> <4>Perl दस्तावेज़ीकरण <5> <6>Perlito5 रीडमी <7> <8>X को Y मिनटों में सीखें, जहां X=perl <9> <10>स्टार्टर टेम्पलेट लोड करें ', name: 'Perl', }, php: { desc: 'Uniter का उपयोग करके ब्राउज़र में चलने वाला PHP।', - link: '<1>PHP आधिकारिक वेबसाइट PHP दस्तावेज़ीकरण Uniter GitHub रेपो X को Y मिनटों में सीखें, जहां X=PHP LiveCodes दस्तावेज़ीकरण स्टार्टर टेम्पलेट लोड करें', + link: '<1><2>PHP आधिकारिक वेबसाइट <3> <4>PHP दस्तावेज़ीकरण <5> <6>Uniter GitHub रेपो <7> <8>X को Y मिनटों में सीखें, जहां X=PHP <9> <10>LiveCodes दस्तावेज़ीकरण <11><12>स्टार्टर टेम्पलेट लोड करें', name: 'PHP', }, phpWasm: { desc: 'php-wasm का उपयोग करके WebAssembly द्वारा संचालित ब्राउज़र में PHP।', - link: '<1>PHP आधिकारिक वेबसाइट PHP दस्तावेज़ीकरण php-wasm GitHub रेपो X को Y मिनटों में सीखें, जहां X=PHP LiveCodes दस्तावेज़ीकरण स्टार्टर टेम्पलेट लोड करें ', + link: '<1><2>PHP आधिकारिक वेबसाइट <3> <4>PHP दस्तावेज़ीकरण <5> <6>php-wasm GitHub रेपो <7> <8>X को Y मिनटों में सीखें, जहां X=PHP <9> <10>LiveCodes दस्तावेज़ीकरण <11> <12>स्टार्टर टेम्पलेट लोड करें ', name: 'PHP (Wasm)', }, postgresql: { desc: 'PGlite का उपयोग करके WASM के रूप में पैकेज किया गया PostgreSQL', - link: '<1> PostgreSQL आधिकारिक वेबसाइट PostgreSQL दस्तावेज़ीकरण PGlite GitHub रेपो X को Y मिनटों में सीखें, जहां X=SQL स्टार्टर टेम्पलेट लोड करें ', + link: '<1> <2>PostgreSQL आधिकारिक वेबसाइट <3> <4>PostgreSQL दस्तावेज़ीकरण <5> <6>PGlite GitHub रेपो <7> <8>X को Y मिनटों में सीखें, जहां X=SQL <9> <10>स्टार्टर टेम्पलेट लोड करें ', name: 'PostgreSQL', }, prolog: { desc: 'JavaScript में एक ओपन सोर्स Prolog इंटरप्रेटर।', - link: '<1> Tau Prolog आधिकारिक वेबसाइट Tau Prolog दस्तावेज़ीकरण SWI-Prolog X को Y मिनटों में सीखें, जहां X=Prolog स्टार्टर टेम्पलेट लोड करें ', + link: '<1> <2>Tau Prolog आधिकारिक वेबसाइट <3> <4>Tau Prolog दस्तावेज़ीकरण <5> <6>SWI-Prolog <7> <8>X को Y मिनटों में सीखें, जहां X=Prolog <9> <10>स्टार्टर टेम्पलेट लोड करें ', name: 'Tau Prolog', }, pug: { desc: 'मजबूत, सुंदर, सुविधा संपन्न टेम्पलेट इंजन।', - link: '<1> Pug दस्तावेज़ीकरण X को Y मिनटों में सीखें, जहां X=Pug LiveCodes दस्तावेज़ीकरण ', + link: '<1> <2>Pug दस्तावेज़ीकरण <3> <4>X को Y मिनटों में सीखें, जहां X=Pug <5> <6>LiveCodes दस्तावेज़ीकरण ', name: 'Pug', }, python: { desc: 'Brython का उपयोग करके ब्राउज़र में चलने वाला Python।', - link: '<1> Python आधिकारिक वेबसाइट Python दस्तावेज़ीकरण Brython दस्तावेज़ीकरण X को Y मिनटों में सीखें, जहां X=Python LiveCodes दस्तावेज़ीकरण स्टार्टर टेम्पलेट लोड करें ', + link: '<1> <2>Python आधिकारिक वेबसाइट <3> <4>Python दस्तावेज़ीकरण <5> <6>Brython दस्तावेज़ीकरण <7> <8>X को Y मिनटों में सीखें, जहां X=Python <9> <10>LiveCodes दस्तावेज़ीकरण <11> <12>स्टार्टर टेम्पलेट लोड करें ', name: 'Python', }, pythonWasm: { desc1: 'Pyodide का उपयोग करके WebAssembly में कंपाइल किए गए वैज्ञानिक स्टैक के साथ Python।', desc2: 'Pyodide NumPy, Pandas, Matplotlib, SciPy, scikit-learn और बहुत कुछ सहित Python वैज्ञानिक स्टैक का उपयोग करने की अनुमति देता है। इसके अतिरिक्त PyPi से शुद्ध Python व्हील्स को इंस्टॉल करना संभव है।', - link: '<1> Python आधिकारिक वेबसाइट Python दस्तावेज़ीकरण Pyodide दस्तावेज़ीकरण X को Y मिनटों में सीखें, जहां X=Python LiveCodes दस्तावेज़ीकरण स्टार्टर टेम्पलेट लोड करें ', + link: '<1> <2>Python आधिकारिक वेबसाइट <3> <4>Python दस्तावेज़ीकरण <5><6>Pyodide दस्तावेज़ीकरण <7> <8>X को Y मिनटों में सीखें, जहां X=Python <9> <10>LiveCodes दस्तावेज़ीकरण <11> <12>स्टार्टर टेम्पलेट लोड करें ', name: 'Python (Wasm)', }, r: { desc: 'WebR का उपयोग करके ब्राउज़र में चलने वाला R।', - link: '<1> R प्रोजेक्ट की आधिकारिक वेबसाइट R मैनुअल्स डेटा विज्ञान के लिए R (2e) WebR दस्तावेज़ीकरण X को Y मिनट में सीखें, जहाँ X=R LiveCodes दस्तावेज़ीकरण स्टार्टर टेम्पलेट लोड करें ', + link: '<1> <2>R प्रोजेक्ट की आधिकारिक वेबसाइट <3> <4>R मैनुअल्स <5> <6>डेटा विज्ञान के लिए R (2e) <7> <8>WebR दस्तावेज़ीकरण <9> <10>X को Y मिनट में सीखें, जहाँ X=R <11> <12>LiveCodes दस्तावेज़ीकरण <13> <14>स्टार्टर टेम्पलेट लोड करें ', name: 'R', }, reactNative: { desc: 'React Native for Web, React Native के कंपोनेंट्स और API का एक सुलभ कार्यान्वयन है जो React DOM के साथ अंतरसंचालनीय है।', - link: '<1> React की आधिकारिक वेबसाइट React Native वेबसाइट React Native for Web वेबसाइट React Native दस्तावेज़ीकरण LiveCodes दस्तावेज़ीकरण स्टार्टर टेम्पलेट लोड करें ', + link: '<1> <2>React की आधिकारिक वेबसाइट <3> <4>React Native वेबसाइट <5> <6>React Native for Web वेबसाइट <7> <8>React Native दस्तावेज़ीकरण <9> <10>LiveCodes दस्तावेज़ीकरण <11> <12>स्टार्टर टेम्पलेट लोड करें ', name: 'React Native for Web', }, reactNativeTsx: { desc: 'React Native for Web, React Native के कंपोनेंट्स और API का एक सुलभ कार्यान्वयन है जो React DOM के साथ अंतरसंचालनीय है।', - link: '<1> React की आधिकारिक वेबसाइट React Native वेबसाइट React Native for Web वेबसाइट React Native दस्तावेज़ीकरण TypeScript वेबसाइट TypeScript दस्तावेज़ीकरण LiveCodes दस्तावेज़ीकरण स्टार्टर टेम्पलेट लोड करें (JSX) ', + link: '<1> <2>React की आधिकारिक वेबसाइट <3> <4>React Native वेबसाइट <5> <6>React Native for Web वेबसाइट <7> <8>React Native दस्तावेज़ीकरण <9> <10>TypeScript वेबसाइट <11> <12>TypeScript दस्तावेज़ीकरण <13> <14>LiveCodes दस्तावेज़ीकरण <15> <16>स्टार्टर टेम्पलेट लोड करें (JSX) ', name: 'React Native for Web (TypeScript के साथ)', }, reason: { @@ -274,132 +274,132 @@ const languageInfo: I18nLangInfoTranslation = { 'Reason आपको JavaScript और OCaml दोनों पारिस्थितिकी तंत्रों का लाभ उठाते हुए सरल, तेज़ और गुणवत्तापूर्ण प्रकार-सुरक्षित कोड लिखने देता है।', desc2: 'यहाँ Reason को JavaScript में कंपाइल करने के लिए ReScript कंपाइलर का उपयोग किया जाता है।', - link: '<1>Reason वेबसाइट Reason दस्तावेज़ीकरण ReasonReact ReScript वेबसाइट X को Y मिनट में सीखें, जहाँ X=reason स्टार्टर टेम्पलेट लोड करें ', + link: '<1><2>Reason वेबसाइट <3> <4>Reason दस्तावेज़ीकरण <5> <6>ReasonReact <7> <8>ReScript वेबसाइट <9> <10>X को Y मिनट में सीखें, जहाँ X=reason <11> <12>स्टार्टर टेम्पलेट लोड करें ', name: 'Reason', }, rescript: { desc: 'ReScript एक मजबूती से टाइप की गई भाषा है जो कुशल और मानव-पठनीय JavaScript में कंपाइल होती है।', - link: '<1> ReScript वेबसाइट ReScript / React स्टार्टर टेम्पलेट लोड करें ', + link: '<1> <2>ReScript वेबसाइट <3> <4>ReScript / React <5> <6>स्टार्टर टेम्पलेट लोड करें ', name: 'ReScript', }, richtext: { desc1: 'Quill का उपयोग करके:', desc2: 'आपका शक्तिशाली रिच टेक्स्ट एडिटर।', - link: '<1> Quill की आधिकारिक वेबसाइट ', + link: '<1> <2>Quill की आधिकारिक वेबसाइट ', name: 'रिच टेक्स्ट एडिटर', }, riot: { desc: 'सरल और सुंदर कंपोनेंट-आधारित UI लाइब्रेरी।', - link: '<1> Riot.js की आधिकारिक वेबसाइट Riot.js दस्तावेज़ीकरण स्टार्टर टेम्पलेट लोड करें ', + link: '<1> <2>Riot.js की आधिकारिक वेबसाइट <3> <4>Riot.js दस्तावेज़ीकरण <5> <6>स्टार्टर टेम्पलेट लोड करें ', name: 'Riot.js', }, ruby: { desc: 'Opal का उपयोग करके ब्राउज़र में चलने वाला Ruby।', - link: '<1> Ruby की आधिकारिक वेबसाइट Ruby दस्तावेज़ीकरण Opal की आधिकारिक वेबसाइट Opal मानक पुस्तकालय CDN X को Y मिनट में सीखें, जहां X=ruby LiveCodes दस्तावेज़ीकरण स्टार्टर टेम्पलेट लोड करें ', + link: '<1> <2>Ruby की आधिकारिक वेबसाइट <3> <4>Ruby दस्तावेज़ीकरण <5><6>Opal की आधिकारिक वेबसाइट <7> <8>Opal मानक पुस्तकालय CDN <9> <10>X को Y मिनट में सीखें, जहां X=ruby <11> <12>LiveCodes दस्तावेज़ीकरण <13> <14>स्टार्टर टेम्पलेट लोड करें ', name: 'Ruby', }, rubyWasm: { desc: 'ruby-wasm (CRuby के WebAssembly पोर्ट्स का एक संग्रह) का उपयोग करके ब्राउज़र में चलने वाला Ruby।', - link: '<1> Ruby की आधिकारिक वेबसाइट Ruby दस्तावेज़ीकरण ruby.wasm वेबसाइट CRuby X को Y मिनट में सीखें, जहां X=ruby LiveCodes दस्तावेज़ीकरण स्टार्टर टेम्पलेट लोड करें ', + link: '<1> <2>Ruby की आधिकारिक वेबसाइट <3> <4>Ruby दस्तावेज़ीकरण <5> <6>ruby.wasm वेबसाइट <7><8>CRuby <9> <10>X को Y मिनट में सीखें, जहां X=ruby <11> <12>LiveCodes दस्तावेज़ीकरण <13> <14>स्टार्टर टेम्पलेट लोड करें ', name: 'Ruby (WASM)', }, sass: { desc: 'वाक्यरचनात्मक रूप से अद्भुत स्टाइल शीट्स।', - link: '<1> Sass की आधिकारिक वेबसाइट Sass दस्तावेज़ीकरण Sass (इंडेंटेड) वाक्यरचना X को Y मिनट में सीखें, जहां X=sass ', + link: '<1> <2>Sass की आधिकारिक वेबसाइट <3> <4>Sass दस्तावेज़ीकरण <5> <6>Sass (इंडेंटेड) वाक्यरचना <7> <8>X को Y मिनट में सीखें, जहां X=sass ', name: 'Sass', }, scheme: { desc: 'biwascheme का उपयोग करके ब्राउज़र में चलने वाला Scheme।', - link: '<1> Scheme प्रोग्रामिंग भाषा BiwaScheme की आधिकारिक वेबसाइट BiwaScheme संदर्भ स्टार्टर टेम्पलेट लोड करें ', + link: '<1> <2>Scheme प्रोग्रामिंग भाषा <3> <4>BiwaScheme की आधिकारिक वेबसाइट <5> <6>BiwaScheme संदर्भ <7> <8>स्टार्टर टेम्पलेट लोड करें ', name: 'Scheme', }, scss: { desc: 'वाक्यरचनात्मक रूप से अद्भुत स्टाइल शीट्स।', - link: '<1> Sass की आधिकारिक वेबसाइट Sass दस्तावेज़ीकरण SCSS वाक्यरचना X को Y मिनट में सीखें, जहां X=sass ', + link: '<1> <2>Sass की आधिकारिक वेबसाइट <3> <4>Sass दस्तावेज़ीकरण <5> <6>SCSS वाक्यरचना <7> <8>X को Y मिनट में सीखें, जहां X=sass ', name: 'SCSS', }, solid: { desc: 'उपयोगकर्ता इंटरफेस बनाने के लिए एक घोषणात्मक, कुशल और लचीली JavaScript लाइब्रेरी।', - link: '<1>आधिकारिक वेबसाइट दस्तावेज़ीकरण LiveCodes दस्तावेज़ीकरण स्टार्टर टेम्पलेट लोड करें (TSX) ', + link: '<1><2>आधिकारिक वेबसाइट <3><4>दस्तावेज़ीकरण <5> <6>LiveCodes दस्तावेज़ीकरण <7> <8>स्टार्टर टेम्पलेट लोड करें (TSX) ', name: 'Solid', tsx: { desc: 'उपयोगकर्ता इंटरफेस बनाने के लिए एक घोषणात्मक, कुशल और लचीली JavaScript लाइब्रेरी।', - link: '<1>आधिकारिक वेबसाइट Solid दस्तावेज़ीकरण TypeScript वेबसाइट TypeScript दस्तावेज़ीकरण LiveCodes दस्तावेज़ीकरण स्टार्टर टेम्पलेट लोड करें ', + link: '<1><2>आधिकारिक वेबसाइट <3> <4>Solid दस्तावेज़ीकरण <5> <6>TypeScript वेबसाइट <7> <8>TypeScript दस्तावेज़ीकरण <9> <10>LiveCodes दस्तावेज़ीकरण <11> <12>स्टार्टर टेम्पलेट लोड करें ', name: 'Solid (TypeScript के साथ)', }, }, sql: { desc: 'SQL.js का उपयोग करके JavaScript में संकलित SQLite', - link: '<1> SQLite आधिकारिक वेबसाइट SQLite सिंटैक्स दस्तावेज़ीकरण SQL.js आधिकारिक वेबसाइट X को Y मिनटों में सीखें, जहां X=SQL स्टार्टर टेम्पलेट लोड करें', + link: '<1> <2>SQLite आधिकारिक वेबसाइट <3> <4>SQLite सिंटैक्स दस्तावेज़ीकरण <5> <6>SQL.js आधिकारिक वेबसाइट <7> <8>X को Y मिनटों में सीखें, जहां X=SQL <9><10>स्टार्टर टेम्पलेट लोड करें', name: 'SQLite', }, stencil: { desc: 'वेब कंपोनेंट्स और उच्च प्रदर्शन वाले वेब ऐप्स के लिए एक कंपाइलर।', - link: '<1> Stencil आधिकारिक वेबसाइट Stencil दस्तावेज़ीकरण स्टार्टर टेम्पलेट लोड करें ', + link: '<1> <2>Stencil आधिकारिक वेबसाइट <3> <4>Stencil दस्तावेज़ीकरण <5> <6>स्टार्टर टेम्पलेट लोड करें ', name: 'Stencil', }, styleProcessors: { - link: '<1> Tailwind CSS Windi CSS UnoCSS Lightning CSS PostCSS प्लगइन्स: Autoprefixer postcss-preset-env postcss-import-url postcss-modules ', + link: '<1> <2>Tailwind CSS <3> <4>Windi CSS <5> <6>UnoCSS <7> <8>Lightning CSS <9> <10>PostCSS प्लगइन्स: <11> <12> <13>Autoprefixer <14> <15>postcss-preset-env <16> <17>postcss-import-url <18> <19>postcss-modules ', name: 'CSS फ्रेमवर्क और प्रोसेसर', }, stylis: { desc: 'हल्का css प्रीप्रोसेसर।', - link: '<1> Stylis आधिकारिक वेबसाइट ', + link: '<1> <2>Stylis आधिकारिक वेबसाइट ', name: 'Stylis', }, stylus: { desc: 'अभिव्यंजक, गतिशील, मजबूत CSS।', - link: '<1> Stylus आधिकारिक वेबसाइट X को Y मिनटों में सीखें, जहां X=stylus ', + link: '<1> <2>Stylus आधिकारिक वेबसाइट <3> <4>X को Y मिनटों में सीखें, जहां X=stylus ', name: 'Stylus', }, sucrase: { desc: 'आधुनिक JS रनटाइम को लक्षित कर सकने के लिए Babel का सुपर-फास्ट विकल्प।', - link: '<1> Sucrase आधिकारिक वेबसाइट Sucrase GitHub रेपो LiveCodes दस्तावेज़ीकरण ', + link: '<1> <2>Sucrase आधिकारिक वेबसाइट <3> <4>Sucrase GitHub रेपो <5> <6>LiveCodes दस्तावेज़ीकरण ', name: 'Sucrase', }, svelte: { desc: 'साइबरनेटिक रूप से उन्नत वेब ऐप्स।', - link: '<1> Svelte आधिकारिक वेबसाइट Svelte दस्तावेज़ीकरण स्टार्टर टेम्पलेट लोड करें ', + link: '<1> <2>Svelte आधिकारिक वेबसाइट <3> <4>Svelte दस्तावेज़ीकरण <5> <6>स्टार्टर टेम्पलेट लोड करें ', name: 'Svelte', }, tcl: { - desc: '<1>wacl का उपयोग करके ब्राउज़र में चलने वाला Tcl।', - link: '<1> Tcl आधिकारिक वेबसाइट wacl रेपो X को Y मिनटों में सीखें, जहां X=Tcl स्टार्टर टेम्पलेट लोड करें ', + desc: '<1>wacl का उपयोग करके ब्राउज़र में चलने वाला Tcl।', + link: '<1> <2>Tcl आधिकारिक वेबसाइट <3> <4>wacl रेपो <5> <6>X को Y मिनटों में सीखें, जहां X=Tcl <7> <8>स्टार्टर टेम्पलेट लोड करें ', name: 'Tcl (टूल कमांड लैंग्वेज)', }, teal: { desc: 'Lua की एक टाइप की गई बोली।', - link: '<1> Teal GitHub रेपो Teal दस्तावेज़ Teal ट्यूटोरियल LiveCodes दस्तावेज़ीकरण स्टार्टर टेम्पलेट लोड करें ', + link: '<1> <2>Teal GitHub रेपो <3> <4>Teal दस्तावेज़ <5> <6>Teal ट्यूटोरियल <7> <8>LiveCodes दस्तावेज़ीकरण <9> <10>स्टार्टर टेम्पलेट लोड करें ', name: 'Teal', }, tsx: { desc: 'JSX में TypeScript। TSX को LiveCodes में TypeScript कंपाइलर का उपयोग करके JavaScript में कंपाइल किया जाता है। डिफ़ॉल्ट रूप से यह JSX रनटाइम के रूप में React का उपयोग करता है।', - link: '<1> React आधिकारिक वेबसाइट React दस्तावेज़ीकरण में JSX Typescript दस्तावेज़ीकरण LiveCodes दस्तावेज़ीकरण ', + link: '<1> <2>React आधिकारिक वेबसाइट <3> <4>React दस्तावेज़ीकरण में JSX <5> <6>Typescript दस्तावेज़ीकरण <7> <8>LiveCodes दस्तावेज़ीकरण ', name: 'TSX', }, twig: { - desc: '<2>Twig.js द्वारा PHP टेम्प्लेटिंग भाषा Twig का एक JavaScript कार्यान्वयन।', - link: '<1> Twig आधिकारिक वेबसाइट Twig दस्तावेज़ीकरण Twig.js रेपो Twig.js दस्तावेज़ीकरण LiveCodes दस्तावेज़ीकरण ', + desc: '<2>Twig.js द्वारा PHP टेम्प्लेटिंग भाषा <1>Twig का एक JavaScript कार्यान्वयन।', + link: '<1> <2>Twig आधिकारिक वेबसाइट <3> <4>Twig दस्तावेज़ीकरण <5> <6>Twig.js रेपो <7> <8>Twig.js दस्तावेज़ीकरण <9> <10>LiveCodes दस्तावेज़ीकरण ', name: 'Twig', }, typescript: { desc: 'JavaScript का एक टाइप किया गया सुपरसेट।', - link: '<1> आधिकारिक वेबसाइट TypeScript दस्तावेज़ीकरण X को Y मिनटों में सीखें, जहां X=TypeScript स्टार्टर टेम्पलेट लोड करें ', + link: '<1> <2>आधिकारिक वेबसाइट <3> <4>TypeScript दस्तावेज़ीकरण <5> <6>X को Y मिनटों में सीखें, जहां X=TypeScript <7> <8>स्टार्टर टेम्पलेट लोड करें ', name: 'TypeScript', }, vue: { - link: '<1> Vue.js v3 आधिकारिक वेबसाइट Vue3 दस्तावेज़ीकरण Vue3 सिंगल फाइल कंपोनेंट्स LiveCodes दस्तावेज़ीकरण स्टार्टर टेम्पलेट लोड करें', + link: '<1> <2>Vue.js v3 आधिकारिक वेबसाइट <3> <4>Vue3 दस्तावेज़ीकरण <5> <6>Vue3 सिंगल फाइल कंपोनेंट्स <7> <8>LiveCodes दस्तावेज़ीकरण <9><10>स्टार्टर टेम्पलेट लोड करें', name: 'Vue3 सिंगल फाइल कंपोनेंट्स', }, vue2: { desc: 'vue3-sfc-loader का उपयोग करके लोड किया गया।', - link: '<1>Vue.js आधिकारिक वेबसाइट Vue2 दस्तावेज़ीकरण Vue2 सिंगल फाइल कंपोनेंट्स vue3-sfc-loader GitHub रेपो LiveCodes दस्तावेज़ीकरण ', + link: '<1><2>Vue.js आधिकारिक वेबसाइट <3> <4>Vue2 दस्तावेज़ीकरण <5> <6>Vue2 सिंगल फाइल कंपोनेंट्स <7> <8>vue3-sfc-loader GitHub रेपो <9> <10>LiveCodes दस्तावेज़ीकरण ', name: 'Vue2 सिंगल फाइल कंपोनेंट्स', }, wat: { desc1: 'WebAssembly (wasm) बाइनरी फॉर्मेट का निम्न-स्तरीय पाठ्य प्रतिनिधित्व।', desc2: 'इसे wabt.js का उपयोग करके wasm में परिवर्तित किया जाता है।', - link: '<1>WebAssembly.org WebAssembly टेक्स्ट स्पेक्स MDN पर WebAssembly WebAssembly टेक्स्ट फॉर्मेट को समझना wabt.js दस्तावेज़ीकरण X को Y मिनटों में सीखें, जहां X=WebAssembly स्टार्टर टेम्पलेट लोड करें', + link: '<1><2>WebAssembly.org <3> <4>WebAssembly टेक्स्ट स्पेक्स <5> <6>MDN पर WebAssembly <7> <8>WebAssembly टेक्स्ट फॉर्मेट को समझना <9> <10>wabt.js दस्तावेज़ीकरण <11> <12>X को Y मिनटों में सीखें, जहां X=WebAssembly <13><14>स्टार्टर टेम्पलेट लोड करें', name: 'WebAssembly टेक्स्ट फॉर्मेट', }, }; diff --git a/src/livecodes/i18n/locales/hi/translation.ts b/src/livecodes/i18n/locales/hi/translation.ts index 9f5478bb2..9c2ee7a5d 100644 --- a/src/livecodes/i18n/locales/hi/translation.ts +++ b/src/livecodes/i18n/locales/hi/translation.ts @@ -14,9 +14,9 @@ const translation: I18nTranslation = { heading: 'LiveCodes के बारे में', livecodes: { para1: - '<1>LiveCodes एक ओपन-सोर्स, सुविधा-संपन्न, क्लाइंट-साइड कोड प्लेग्राउंड है। वर्तमान में, 80+ भाषाओं/फ्रेमवर्क समर्थित हैं। इसका उपयोग एक स्टैंडअलोन ऐप के रूप में किया जा सकता है या किसी भी वेब पेज में एम्बेड किया जा सकता है। कोड के साथ प्लेग्राउंड को पूर्व-भरने के कई तरीके हैं।', + '<1><2>LiveCodes एक <3>ओपन-सोर्स, <4>सुविधा-संपन्न, <5>क्लाइंट-साइड कोड प्लेग्राउंड है। वर्तमान में, <6>80+ भाषाओं/<7>फ्रेमवर्क समर्थित हैं। इसका उपयोग एक स्टैंडअलोन ऐप के रूप में किया जा सकता है या किसी भी वेब पेज में <8>एम्बेड किया जा सकता है। कोड के साथ प्लेग्राउंड को <9>पूर्व-भरने के कई तरीके हैं।', para2: - 'विस्तृत <1>कॉन्फ़िगरेशन विकल्प इसे बहुत लचीला बनाते हैं। एक शक्तिशाली SDK (JS/TS, React, Vue और Svelte के लिए) प्लेग्राउंड को एम्बेड करने और उनके साथ संवाद करने की सुविधा प्रदान करता है। कोड नमूनों, लाइव डेमो और स्क्रीनशॉट के साथ व्यापक दस्तावेज़ीकरण उपलब्ध हैं।', + 'विस्तृत <1>कॉन्फ़िगरेशन विकल्प इसे बहुत लचीला बनाते हैं। एक शक्तिशाली <2>SDK (<3>JS/TS, <4>React, <5>Vue और <6>Svelte के लिए) प्लेग्राउंड को <7>एम्बेड करने और उनके साथ <8>संवाद करने की सुविधा प्रदान करता है। कोड नमूनों, लाइव डेमो और स्क्रीनशॉट के साथ <9>व्यापक दस्तावेज़ीकरण उपलब्ध हैं।', }, version: { app: 'ऐप संस्करण: {{APP_VERSION}}', @@ -28,6 +28,9 @@ const translation: I18nTranslation = { }, }, app: { + consoleMessage: { + learnMore: 'अधिक जानें! {{docsUrl}} 🚀', + }, copy: { hint: 'कॉपी करें (Ctrl/Cmd + A, Ctrl/Cmd + C)', }, @@ -81,12 +84,12 @@ const translation: I18nTranslation = { assets: { add: { dataURL: { - desc: 'संपत्ति को base64-एन्कोडेड <1>डेटा url के रूप में जोड़ें।', + desc: 'संपत्ति को base64-एन्कोडेड <1>डेटा url के रूप में जोड़ें।', heading: 'डेटा URL', label: 'फ़ाइल जोड़ें', }, githubPages: { - desc: 'संपत्ति को GitHub Pages पर तैनात करें। फ़ाइल को आपके GitHub खाते पर <2>livecodes-assets रेपो की gh-pages शाखा में पुश किया जाता है। यदि रेपो पहले से मौजूद नहीं है, तो एक सार्वजनिक रेपो बनाया जाएगा।', + desc: 'संपत्ति को GitHub Pages पर तैनात करें। फ़ाइल को आपके GitHub खाते पर <2>livecodes-assets रेपो की <1>gh-pages शाखा में पुश किया जाता है। यदि रेपो पहले से मौजूद नहीं है, तो एक सार्वजनिक रेपो बनाया जाएगा।', heading: 'GitHub पेजेज', label: 'फ़ाइल अपलोड करें', }, @@ -157,7 +160,7 @@ const translation: I18nTranslation = { backup: { assets: 'संपत्तियाँ', button: 'बैकअप', - desc: 'LiveCodes डेटा का बैकअप लें, ताकि इसे बाद में इस या अन्य उपकरणों पर पुनर्स्थापित किया जा सके। <1> कृपया विवरण के लिए दस्तावेज़ीकरण देखें।', + desc: 'LiveCodes डेटा का बैकअप लें, ताकि इसे बाद में इस या अन्य उपकरणों पर पुनर्स्थापित किया जा सके। <1> कृपया विवरण के लिए <2>दस्तावेज़ीकरण देखें।', heading: 'बैकअप', projects: 'प्रोजेक्ट्स', settings: 'उपयोगकर्ता सेटिंग्स', @@ -173,7 +176,7 @@ const translation: I18nTranslation = { heading: 'बैकअप / पुनर्स्थापना', inProgress: 'प्रगति में...', restore: { - desc: 'पहले बैकअप किए गए LiveCodes डेटा को पुनर्स्थापित करें। <1> यदि आप वर्तमान सामग्री को बदलना चाहते हैं, तो आप पहले उसका बैकअप लेना चाह सकते हैं। कृपया विवरण के लिए दस्तावेज़ीकरण देखें।', + desc: 'पहले बैकअप किए गए LiveCodes डेटा को पुनर्स्थापित करें। <1> यदि आप वर्तमान सामग्री को बदलना चाहते हैं, तो आप पहले उसका बैकअप लेना चाह सकते हैं। <2> कृपया विवरण के लिए <3>दस्तावेज़ीकरण देखें।', fromFile: 'फ़ाइल से पुनर्स्थापित करें', heading: 'पुनर्स्थापित करें', mode: { @@ -191,7 +194,7 @@ const translation: I18nTranslation = { broadcasting: 'प्रसारण हो रहा है...', channelURL: 'चैनल URL', connecting: 'कनेक्ट हो रहा है...', - desc: 'परिणाम पेज को वास्तविक समय में अन्य ब्राउज़रों/उपकरणों पर प्रसारित करें। कृपया विवरण के लिए <1>दस्तावेज़ीकरण देखें।', + desc: 'परिणाम पेज को वास्तविक समय में अन्य ब्राउज़रों/उपकरणों पर प्रसारित करें। कृपया विवरण के लिए <1>दस्तावेज़ीकरण देखें।', error: { generic: 'प्रसारण विफल!', serverURLRequired: 'सर्वर URL आवश्यक है!', @@ -291,9 +294,9 @@ const translation: I18nTranslation = { }, deploy: { create: { - desc: 'एक नया <1>सार्वजनिक रेपो बनाया जाएगा। परिणाम पेज को gh-pages शाखा में पुश किया जाएगा।', + desc: 'एक नया <1>सार्वजनिक रेपो बनाया जाएगा। परिणाम पेज को <2>gh-pages शाखा में पुश किया जाएगा।', heading: 'नया रेपो बनाएं', - repoName: 'रेपो का नाम <1>', + repoName: 'रेपो का नाम <1>', }, error: { generic: 'डिप्लॉयमेंट विफल!', @@ -301,7 +304,7 @@ const translation: I18nTranslation = { repoNameRequired: 'रेपो का नाम आवश्यक है', }, existing: { - desc: '<1>gh-pages शाखा में एक नया कमिट जोड़ा जाएगा।', + desc: '<1>gh-pages शाखा में एक नया कमिट जोड़ा जाएगा।', heading: 'मौजूदा रेपो', repoName: 'रेपो का नाम', }, @@ -322,7 +325,7 @@ const translation: I18nTranslation = { closeBrackets: 'कोष्ठक और उद्धरण चिह्न स्वचालित रूप से बंद करें', codeJarDesc: '* चिह्नित सुविधाएँ CodeJar में उपलब्ध नहीं हैं।', default: 'डिफ़ॉल्ट', - desc: 'कृपया विवरण के लिए <1>दस्तावेज़ीकरण देखें।', + desc: 'कृपया विवरण के लिए <1>दस्तावेज़ीकरण देखें।', editor: { codejar: 'CodeJar', codemirror: 'CodeMirror', @@ -338,7 +341,7 @@ const translation: I18nTranslation = { emmet: 'Emmet सक्षम करें *', enableAI: { heading: 'AI कोड सहायक सक्षम करें', - note: '<1> द्वारा संचालित', + note: '<1><2> द्वारा संचालित', }, fontFamily: 'फ़ॉन्ट परिवार', fontSize: 'फ़ॉन्ट आकार', @@ -376,7 +379,7 @@ const translation: I18nTranslation = { copy: 'कोड कॉपी करें', heading: 'कोड', }, - desc: 'उन्नत कॉन्फ़िगरेशन के लिए कृपया <1>दस्तावेज़ीकरण देखें।', + desc: 'उन्नत कॉन्फ़िगरेशन के लिए कृपया <1>दस्तावेज़ीकरण देखें।', embedType: { cdn: 'स्क्रिप्ट (CDN)', heading: 'एम्बेड प्रकार', @@ -447,17 +450,18 @@ const translation: I18nTranslation = { more: 'और अधिक...', optional: 'वैकल्पिक', required: 'आवश्यक', + tagline: 'एक कोड प्लेग्राउंड जो बस काम करता है!', }, import: { bulk: { - desc: 'अपने सहेजे गए प्रोजेक्ट्स में कई प्रोजेक्ट्स को सामूहिक रूप से आयात करें। प्रोजेक्ट्स को <1>सहेजे गए प्रोजेक्ट्स स्क्रीन से निर्यात किया जा सकता है।', + desc: 'अपने सहेजे गए प्रोजेक्ट्स में कई प्रोजेक्ट्स को सामूहिक रूप से आयात करें। प्रोजेक्ट्स को <1>सहेजे गए प्रोजेक्ट्स स्क्रीन से निर्यात किया जा सकता है।', fromFile: 'स्थानीय फ़ाइल से सामूहिक आयात', fromURL: 'URL से सामूहिक आयात', heading: 'सामूहिक आयात', started: 'सामूहिक आयात शुरू हुआ...', }, code: { - desc: 'समर्थित स्रोत: <1> GitHub gist GitHub फ़ाइल GitHub रेपो में निर्देशिका Gitlab स्निपेट Gitlab फ़ाइल Gitlab रेपो में निर्देशिका JS Bin कच्चा कोड वेब पेज DOM में कोड ज़िप फ़ाइल में कोड आधिकारिक प्लेग्राउंड(TypeScript, Vue और Svelte) कृपया विवरण के लिए दस्तावेज़ीकरण देखें।', + desc: 'समर्थित स्रोत: <1> <2>GitHub gist <3>GitHub फ़ाइल <4>GitHub रेपो में निर्देशिका <5>Gitlab स्निपेट <6>Gitlab फ़ाइल <7>Gitlab रेपो में निर्देशिका <8>JS Bin <9>कच्चा कोड <10>वेब पेज DOM में कोड <11>ज़िप फ़ाइल में कोड <12>आधिकारिक प्लेग्राउंड<13>(TypeScript, Vue और Svelte) कृपया विवरण के लिए <14>दस्तावेज़ीकरण देखें।', fromFile: 'स्थानीय फ़ाइलें आयात करें', fromURL: 'URL से आयात करें', heading: 'कोड आयात करें', @@ -482,7 +486,7 @@ const translation: I18nTranslation = { }, login: { accessAllowed: 'इन तक पहुँच की अनुमति दें:', - desc: '<1>लॉगिन करके, आप सहमत होते हैं कि आपके उपकरण पर कुकीज़ संग्रहीत की जा सकती हैं। ये अनुमतियाँ क्यों आवश्यक हैं? अनुमतियों को कैसे बदलें/रद्द करें? ', + desc: '<1>लॉगिन करके, आप सहमत होते हैं कि आपके उपकरण पर <2>कुकीज़ संग्रहीत की जा सकती हैं। <3> <4>ये अनुमतियाँ क्यों आवश्यक हैं? <5> <6>अनुमतियों को कैसे बदलें/रद्द करें? ', gist: 'Gists', heading: 'GitHub के साथ लॉगिन करें', loginAs: '{{name}} के रूप में लॉग इन किया गया', @@ -500,7 +504,7 @@ const translation: I18nTranslation = { broadcast: 'प्रसारण …', customSettings: 'कस्टम सेटिंग्स …', delay: { - heading: 'विलंब: <1>1.5स', + heading: 'विलंब: <1>1.5स', hint: 'स्वतः अपडेट से पहले विलंब', }, deploy: 'तैनात करें …', @@ -537,7 +541,7 @@ const translation: I18nTranslation = { hint: 'Alt/Option दबाएं और अपना कर्सर परिणाम पृष्ठ पर ले जाएं', }, snippets: 'कोड स्निपेट्स …', - sync: 'सिंक (बीटा) … <1> ⏳', + sync: 'सिंक (बीटा) … <1> ⏳', theme: 'डार्क थीम', welcome: { heading: 'स्वागत …', @@ -590,11 +594,11 @@ const translation: I18nTranslation = { recoverPrompt: { desc: 'आपके पिछले प्रोजेक्ट में अरक्षित परिवर्तन हैं!', heading: 'अरक्षित प्रोजेक्ट पुनर्प्राप्त करें?', - meta: 'शीर्षक: <1> अंतिम संशोधित: ', + meta: 'शीर्षक: <1> <2> अंतिम संशोधित: <3>', notShowAgain: 'इसे फिर न दिखाएं।', prompt: { discard: 'अरक्षित प्रोजेक्ट त्यागें', - heading: '<1>क्या आप इसे अभी पुनर्प्राप्त करना चाहते हैं?', + heading: '<1>क्या आप इसे अभी पुनर्प्राप्त करना चाहते हैं?', recover: 'प्रोजेक्ट को संपादक में पुनर्प्राप्त करें', save: 'डिवाइस पर सहेजें और जारी रखें', }, @@ -613,13 +617,13 @@ const translation: I18nTranslation = { }, fonts: { add: 'जोड़ें', - heading: 'फ़ॉन्ट्स <1>(Google Fonts द्वारा संचालित)', + heading: 'फ़ॉन्ट्स <1>(Google Fonts द्वारा संचालित)', select: 'फ़ॉन्ट चुनें ...', }, heading: 'बाहरी संसाधन', scripts: 'बाहरी स्क्रिप्ट्स', search: { - heading: 'पैकेज खोजें <1>(jsDelivr द्वारा संचालित)', + heading: 'पैकेज खोजें <1>(jsDelivr द्वारा संचालित)', placeholder: 'उदा. jquery, lodash@4, bootstrap@5.2.3, ...', }, stylesheets: 'बाहरी स्टाइलशीट्स', @@ -631,7 +635,7 @@ const translation: I18nTranslation = { cancel: 'रद्द करें', discard: 'सहेजें नहीं', heading: - 'आपके द्वारा किए गए परिवर्तन सहेजे नहीं जा सकते हैं। <1> क्या आप अभी सहेजना चाहते हैं?', + 'आपके द्वारा किए गए परिवर्तन सहेजे नहीं जा सकते हैं। <1> क्या आप अभी सहेजना चाहते हैं?', save: 'सहेजें', }, }, @@ -729,7 +733,7 @@ const translation: I18nTranslation = { sync: { autoSync: 'स्वतः सिंक', create: { - desc: 'एक नया <1>निजी रेपो बनाया जाएगा। आपका LiveCodes स्थानीय डेटा main शाखा के साथ सिंक्रनाइज़ किया जाएगा।', + desc: 'एक नया <1>निजी रेपो बनाया जाएगा। आपका LiveCodes स्थानीय डेटा <2>main शाखा के साथ सिंक्रनाइज़ किया जाएगा।', heading: 'नया रेपो बनाएं', repoName: 'रेपो का नाम', }, @@ -738,7 +742,7 @@ const translation: I18nTranslation = { repoNameRequired: 'रेपो का नाम आवश्यक है', }, existing: { - desc: 'आपका LiveCodes स्थानीय डेटा <1>main शाखा के साथ सिंक्रनाइज़ किया जाएगा।', + desc: 'आपका LiveCodes स्थानीय डेटा <1>main शाखा के साथ सिंक्रनाइज़ किया जाएगा।', heading: 'मौजूदा रेपो', repoName: 'रेपो का नाम', }, @@ -752,7 +756,7 @@ const translation: I18nTranslation = { templates: { heading: 'नया प्रोजेक्ट', noUserTemplates: { - desc: 'आप किसी प्रोजेक्ट को टेम्पलेट के रूप में <1>(ऐप मेनू > इस रूप में सहेजें > टेम्पलेट) से सहेज सकते हैं।', + desc: 'आप किसी प्रोजेक्ट को टेम्पलेट के रूप में <1>(ऐप मेनू > इस रूप में सहेजें > टेम्पलेट) से सहेज सकते हैं।', heading: 'आपके पास कोई सहेजे गए टेम्पलेट नहीं हैं।', }, starter: { @@ -839,16 +843,16 @@ const translation: I18nTranslation = { }, test: { edit: 'संपादित करें', - error: '<1>परीक्षण त्रुटि!', - loading: '<1>परीक्षण लोड हो रहे हैं...', - noTest: '<1>इस प्रोजेक्ट में कोई परीक्षण नहीं है!', + error: '<1><2>परीक्षण त्रुटि!', + loading: '<1>परीक्षण लोड हो रहे हैं...', + noTest: '<1>इस प्रोजेक्ट में कोई परीक्षण नहीं है!', reset: 'रीसेट करें', run: { desc: 'Ctrl/Cmd + Alt + T', heading: 'चलाएं', }, summary: { - desc: 'परीक्षण: {{failed}}\n {{passed}}\n {{skipped}}\n {{total}}<1>\nसमय: {{duration}}स', + desc: 'परीक्षण: {{failed}}\n {{passed}}\n {{skipped}}\n {{total}}<1>\nसमय: {{duration}}स', failed: '{{failedNum}} असफल', passed: '{{passedNum}} सफल', skipped: '{{skippedNum}} छोड़े गए', @@ -873,7 +877,7 @@ const translation: I18nTranslation = { recover: { cancel: 'रद्द करें', heading: 'पुनर्प्राप्त करें', - lastModified: 'अंतिम संशोधित: <1>', + lastModified: 'अंतिम संशोधित: <1>', recover: 'पुनर्प्राप्त करें', save: 'सहेजें', unsavedChanges: 'आपके पिछले प्रोजेक्ट में असुरक्षित परिवर्तन थे:', diff --git a/src/livecodes/i18n/locales/it/language-info.ts b/src/livecodes/i18n/locales/it/language-info.ts index 1fac99264..1b65cfc6d 100644 --- a/src/livecodes/i18n/locales/it/language-info.ts +++ b/src/livecodes/i18n/locales/it/language-info.ts @@ -5,399 +5,399 @@ import type { I18nLangInfoTranslation } from '../models'; const languageInfo: I18nLangInfoTranslation = { artTemplate: { desc: 'Motore di templating JavaScript ad alte prestazioni.', - link: '<1> Sito ufficiale di art-template Documentazione di art-template ', + link: '<1> <2>Sito ufficiale di art-template <3> <4>Documentazione di art-template ', name: 'art-template', }, asciidoc: { desc: 'AsciiDoc compilato in HTML utilizzando Asciidoctor.', - link: '<1> Sito ufficiale di AsciiDoc Sito ufficiale di Asciidoctor Documentazione di Asciidoctor Impara X in Y minuti, dove X=asciidoc ', + link: '<1> <2>Sito ufficiale di AsciiDoc <3> <4>Sito ufficiale di Asciidoctor <5> <6>Documentazione di Asciidoctor <7> <8>Impara X in Y minuti, dove X=asciidoc ', name: 'AsciiDoc', }, assemblyscript: { desc: 'Un linguaggio simile a TypeScript per WebAssembly.', - link: '<1> Sito ufficiale di AssemblyScript Documentazione di AssemblyScript Carica il modello di partenza ', + link: '<1> <2>Sito ufficiale di AssemblyScript <3> <4>Documentazione di AssemblyScript <5> <6>Carica il modello di partenza ', name: 'AssemblyScript', }, astro: { desc: 'Costruisci siti web più veloci con meno Javascript lato client. (Ancora in Beta)', - link: '<1> Sito ufficiale di Astro Documentazione di Astro Carica il modello di partenza ', + link: '<1> <2>Sito ufficiale di Astro <3> <4>Documentazione di Astro <5> <6>Carica il modello di partenza ', name: 'Astro', }, babel: { desc: 'Il compilatore JavaScript', - link: '<1>Sito ufficiale Documentazione di Babel ', + link: '<1><2>Sito ufficiale <3> <4>Documentazione di Babel ', name: 'Babel', }, bbcode: { desc: 'BBCode ("Bulletin Board Code") è un linguaggio di markup leggero utilizzato per formattare i messaggi in molti software di forum su Internet.', - link: '<1>bbcode.org Guida BBCode BBCode su Wikipedia ', + link: '<1><2>bbcode.org <3> <4>Guida BBCode <5> <6>BBCode su Wikipedia ', name: 'BBCode', }, blockly: { desc: 'Una libreria JavaScript per la creazione di editor di programmazione visuale.', - link: '<1> Sito ufficiale Guide Riferimento Esempi Carica il modello di partenza ', + link: '<1> <2>Sito ufficiale <3> <4>Guide <5> <6>Riferimento <7> <8>Esempi <9> <10>Carica il modello di partenza ', name: 'Blockly', }, civet: { desc: 'Civet è un linguaggio di programmazione che compila in TypeScript o JavaScript, così puoi utilizzare gli strumenti esistenti ma abilitare una sintassi concisa e potente.', - link: '<1> Sito ufficiale di Civet Cheatsheet di Civet Carica il modello di partenza ', + link: '<1> <2>Sito ufficiale di Civet <3> <4>Cheatsheet di Civet <5> <6>Carica il modello di partenza ', name: 'Civet', }, clio: { desc: 'Clio è un linguaggio di programmazione funzionale veloce e distribuito che compila in JavaScript.', - link: '<1> Sito ufficiale di Clio Documentazione di Clio Carica il modello di partenza ', + link: '<1> <2>Sito ufficiale di Clio <3> <4>Documentazione di Clio <5> <6>Carica il modello di partenza ', name: 'Clio', }, clojurescript: { - desc: 'ClojureScript è un compilatore per <1>Clojure che ha come target JavaScript. In LiveCodes, funziona nel browser utilizzando Cherry.', - link: '<1> Sito ufficiale di ClojureScript Sito ufficiale di Clojure Repository di Cherry Impara X in Y minuti, dove X=clojure Documentazione di LiveCodes Carica il modello di partenza ', + desc: 'ClojureScript è un compilatore per <1>Clojure che ha come target JavaScript. <2>In LiveCodes, funziona nel browser utilizzando <3>Cherry.', + link: '<1> <2>Sito ufficiale di ClojureScript <3> <4>Sito ufficiale di Clojure <5> <6>Repository di Cherry <7> <8>Impara X in Y minuti, dove X=clojure <9> <10>Documentazione di LiveCodes <11> <12>Carica il modello di partenza ', name: 'ClojureScript (CLJS)', }, coffeescript: { desc: 'JavaScript senza fronzoli.', - link: '<1> Sito ufficiale di CoffeeScript Impara X in Y minuti, dove X=coffeescript Carica il modello di partenza ', + link: '<1> <2>Sito ufficiale di CoffeeScript <3> <4>Impara X in Y minuti, dove X=coffeescript <5> <6>Carica il modello di partenza ', name: 'CoffeeScript', }, commonlisp: { desc: "Un'implementazione di Common Lisp su Javascript utilizzando JSCL (un compilatore Lisp-to-Javascript avviato da Common Lisp).", - link: '<1> Common-Lisp.net Progetto JSCL Risorse Common Lisp Impara X in Y minuti, dove X=Common Lisp Carica il modello di partenza ', + link: '<1> <2>Common-Lisp.net <3> <4>Progetto JSCL <5> <6>Risorse Common Lisp <7> <8>Impara X in Y minuti, dove X=Common Lisp <9> <10>Carica il modello di partenza ', name: 'Common Lisp', }, cpp: { desc1: 'Supporto C++ utilizzando JSCPP (un semplice interprete C++ scritto in JavaScript).', desc2: - "Non è un'implementazione completa di C++. Si prega di fare riferimento alla <1>documentazione di JSCPP per i dettagli.", - link: '<1> Fondazione Standard C++ JSCPP Impara X in Y minuti, dove X=C++ Carica il modello di partenza ', + "Non è un'implementazione completa di C++. Si prega di fare riferimento alla <1>documentazione di JSCPP per i dettagli.", + link: '<1> <2>Fondazione Standard C++ <3> <4>JSCPP <5> <6>Impara X in Y minuti, dove X=C++ <7> <8>Carica il modello di partenza ', name: 'C++', }, cppWasm: { - desc: 'Compilatore Clang C/C++ in esecuzione su WebAssembly, utilizzando <1>wasm-clang adattato da polylang.io.', - link: '<1> Fondazione Standard C++ Sito ufficiale di Clang Impara X in Y minuti, dove X=C++ Carica il modello di partenza ', + desc: 'Compilatore Clang C/C++ in esecuzione su WebAssembly, utilizzando <1>wasm-clang adattato da <2>polylang.io.', + link: '<1> <2>Fondazione Standard C++ <3> <4>Sito ufficiale di Clang <5> <6>Impara X in Y minuti, dove X=C++ <7> <8>Carica il modello di partenza ', name: 'C/C++ (Wasm)', }, diagrams: { desc1: '(Sperimentale)', desc2: 'Diagrammi come codice. Supporta:', desc3: - '<1> Cytoscape ELK (utilizzando elkjs) Gnuplot (utilizzando gnuplot-JS) Graphviz (utilizzando @hpcc-js/wasm) Mermaid Nomnoml Pintora Plotly Svgbob Vega VegaLite WaveDrom ', - link: '<1> Carica il modello di partenza Documentazione LiveCodes ', + '<1> <2>Cytoscape <3> <4>ELK (utilizzando <5>elkjs) <6> <7>Gnuplot (utilizzando <8>gnuplot-JS) <9> <10>Graphviz (utilizzando <11>@hpcc-js/wasm) <12> <13>Mermaid <14> <15>Nomnoml <16> <17>Pintora <18> <19>Plotly <20> <21>Svgbob <22> <23>Vega <24> <25>VegaLite <26> <27>WaveDrom ', + link: '<1> <2>Carica il modello di partenza <3> <4>Documentazione LiveCodes ', name: 'Diagrammi', }, dot: { desc: 'Il motore di template javascript più veloce + conciso per Node.js e browser.', - link: '<1> Sito ufficiale Documentazione LiveCodes ', + link: '<1> <2>Sito ufficiale <3> <4>Documentazione LiveCodes ', name: 'doT.js', }, ejs: { desc: 'Templating JavaScript incorporato.', - link: '<1>Sito ufficiale Documentazione LiveCodes ', + link: '<1><2>Sito ufficiale <3> <4>Documentazione LiveCodes ', name: 'EJS', }, eta: { desc: 'Motore di template JS incorporato per Node, Deno e il browser. Leggero, veloce e modulare. Scritto in TypeScript.', - link: '<1>Sito ufficiale Documentazione Documentazione LiveCodes ', + link: '<1><2>Sito ufficiale <3> <4>Documentazione <5> <6>Documentazione LiveCodes ', name: 'Eta', }, fennel: { desc: 'Fennel è un linguaggio di programmazione che unisce la velocità, la semplicità e la portata di Lua con la flessibilità di una sintassi lisp e un sistema di macro.', - link: '<1> Sito ufficiale di Fennel Iniziare con Fennel Documentazione LiveCodes Carica modello di partenza ', + link: '<1> <2>Sito ufficiale di Fennel <3> <4>Iniziare con Fennel <5> <6>Documentazione LiveCodes <7> <8>Carica modello di partenza ', name: 'Fennel', }, flow: { desc: 'Flow è un controllo di tipo statico per JavaScript.', - link: '<1> Sito ufficiale di Flow Documentazione di Flow ', + link: '<1> <2>Sito ufficiale di Flow <3> <4>Documentazione di Flow ', name: 'Flow', }, gleam: { desc1: 'Gleam è un linguaggio amichevole per costruire sistemi type-safe che scalano!', desc2: 'Gleam è un linguaggio di programmazione funzionale staticamente tipizzato, che compila in Erlang o JavaScript.', - link: '<1>Sito web di Gleam Documentazione di Gleam Tour del linguaggio Gleam Carica modello di partenza ', + link: '<1><2>Sito web di Gleam <3> <4>Documentazione di Gleam <5> <6>Tour del linguaggio Gleam <7> <8>Carica modello di partenza ', name: 'Gleam', }, go: { desc1: 'Go (Golang) è un linguaggio di programmazione open source che facilita la creazione di software semplice, affidabile ed efficiente.', desc2: 'Qui, viene compilato in JavaScript utilizzando GopherJS.', - link: '<1>Sito web di Go Documentazione di Go Repository di GopherJS Impara X in Y minuti, dove X=Go Carica modello di partenza', + link: '<1><2>Sito web di Go <3><4>Documentazione di Go <5> <6>Repository di GopherJS <7> <8>Impara X in Y minuti, dove X=Go <9><10>Carica modello di partenza', name: 'Go', }, haml: { desc: 'Compilatore Haml per template di vista JavaScript lato client utilizzando clientside-haml-js.', - link: '<1>Sito ufficiale di Haml Documentazione di Haml Repository GitHub di clientside-haml-js Impara X in Y minuti, dove X=haml Documentazione LiveCodes ', + link: '<1><2>Sito ufficiale di Haml <3> <4>Documentazione di Haml <5> <6>Repository GitHub di clientside-haml-js <7> <8>Impara X in Y minuti, dove X=haml <9> <10>Documentazione LiveCodes ', name: 'Haml', }, handlebars: { desc: 'Template minimalista potenziato.', - link: '<1>Sito ufficiale Documentazione LiveCodes ', + link: '<1><2>Sito ufficiale <3> <4>Documentazione LiveCodes ', name: 'Handlebars', }, imba: { desc: 'Il linguaggio full-stack amichevole.', - link: '<1>Sito ufficiale', + link: '<1><2>Sito ufficiale', name: 'Imba', }, jsx: { desc: 'JSX viene compilato in JavaScript in LiveCodes utilizzando il Compilatore TypeScript. Per impostazione predefinita, usa React come runtime JSX.', - link: '<1> Sito ufficiale di React Documentazione JSX in React Documentazione LiveCodes Carica modello di partenza ', + link: '<1> <2>Sito ufficiale di React <3> <4>Documentazione JSX in React <5> <6>Documentazione LiveCodes <7> <8>Carica modello di partenza ', name: 'JSX', }, julia: { desc1: '(Il supporto per il linguaggio Julia in LiveCodes è ancora sperimentale)', desc2: - 'Compilatore Julia e Julia Base in esecuzione su WASM, utilizzando <1>julia-wasm adattato da polylang.io.', - link: '<1> Sito ufficiale di Julia Documentazione di Julia Impara X in Y minuti, dove X=Julia Carica modello di partenza ', + 'Compilatore Julia e Julia Base in esecuzione su WASM, utilizzando <1>julia-wasm adattato da <2>polylang.io.', + link: '<1> <2>Sito ufficiale di Julia <3> <4>Documentazione di Julia <5> <6>Impara X in Y minuti, dove X=Julia <7> <8>Carica modello di partenza ', name: 'Julia', }, less: { desc: "È CSS, con un po' di più.", - link: '<1>Sito ufficiale di Less Impara X in Y minuti, dove X=less ', + link: '<1><2>Sito ufficiale di Less <3> <4>Impara X in Y minuti, dove X=less ', name: 'Less', }, liquid: { desc: 'Un motore di template semplice, espressivo e sicuro.', - link: '<1> Sito ufficiale di LiquidJS Documentazione di LiquidJS Documentazione LiveCodes ', + link: '<1> <2>Sito ufficiale di LiquidJS <3> <4>Documentazione di LiquidJS <5> <6>Documentazione LiveCodes ', name: 'LiquidJS', }, livescript: { desc: 'Un linguaggio che compila in JavaScript.', - link: '<1> Sito ufficiale di LiveScript Impara X in Y minuti, dove X=LiveScript Carica modello di partenza ', + link: '<1> <2>Sito ufficiale di LiveScript <3> <4>Impara X in Y minuti, dove X=LiveScript <5> <6>Carica modello di partenza ', name: 'LiveScript', }, lua: { desc: 'Lua in esecuzione nel browser utilizzando fengari-web.', - link: '<1>Sito ufficiale di Lua Documentazione di Lua Sito ufficiale di Fengari Repository GitHub di fengari-web Impara X in Y minuti, dove X=Lua Documentazione LiveCodes Carica modello di partenza', + link: '<1><2>Sito ufficiale di Lua <3> <4>Documentazione di Lua <5> <6>Sito ufficiale di Fengari <7> <8>Repository GitHub di fengari-web <9> <10>Impara X in Y minuti, dove X=Lua <11> <12>Documentazione LiveCodes <13><14>Carica modello di partenza', name: 'Lua', }, luaWasm: { desc: 'Lua in esecuzione nel browser utilizzando Wasmoon, una vera VM lua 5.4 con binding JS realizzati con WebAssembly.', - link: '<1>Sito ufficiale di Lua Documentazione di Lua Repository GitHub di Wasmoon Impara X in Y minuti, dove X=Lua Documentazione LiveCodes Carica modello di partenza ', + link: '<1><2>Sito ufficiale di Lua <3> <4>Documentazione di Lua <5> <6>Repository GitHub di Wasmoon <7> <8>Impara X in Y minuti, dove X=Lua <9> <10>Documentazione LiveCodes <11> <12>Carica modello di partenza ', name: 'Lua (Wasm)', }, malina: { desc: 'Compilatore frontend, ispirato a Svelte.', - link: '<1> Repository di Malina.js Documentazione di Malina.js Carica modello di partenza ', + link: '<1> <2>Repository di Malina.js <3> <4>Documentazione di Malina.js <5> <6>Carica modello di partenza ', name: 'Malina.js', }, markdown: { desc: 'Markdown compilato in HTML utilizzando Marked.', - link: '<1> Sito ufficiale di Markdown Documentazione di Marked Impara X in Y minuti, dove X=markdown Carica modello di partenza ', + link: '<1> <2>Sito ufficiale di Markdown <3> <4>Documentazione di Marked <5> <6>Impara X in Y minuti, dove X=markdown <7> <8>Carica modello di partenza ', name: 'Markdown', }, mdx: { - desc: "Markdown per l'era dei componenti. <1>MDX ti permette di scrivere senza problemi JSX nei tuoi documenti Markdown.", - link: '<1>Documentazione MDX Carica modello di partenza', + desc: "Markdown per l'era dei componenti. <1>MDX ti permette di scrivere senza problemi JSX nei tuoi documenti Markdown.", + link: '<1><2>Documentazione MDX <3><4>Carica modello di partenza', name: 'MDX', }, mjml: { desc: "MJML è un linguaggio di markup progettato per ridurre la fatica di codifica di un'email responsive.", - link: '<1>Sito ufficiale di MJML Documentazione di MJML Modelli ufficiali di MJML Documentazione LiveCodes ', + link: '<1><2>Sito ufficiale di MJML <3> <4>Documentazione di MJML <5> <6>Modelli ufficiali di MJML <7> <8>Documentazione LiveCodes ', name: 'MJML', }, mustache: { desc: 'Template senza logica.', - link: '<1> Sito ufficiale Manuale mustache(5) Implementazione JavaScript Documentazione LiveCodes ', + link: '<1> <2>Sito ufficiale <3> <4>Manuale mustache(5) <5> <6>Implementazione JavaScript <7> <8>Documentazione LiveCodes ', name: 'Mustache', }, nunjucks: { - desc: 'Un linguaggio di templating ricco e potente per JavaScript. Nunjucks è essenzialmente una porta di <1>jinja2.', - link: '<1> Sito ufficiale Documentazione LiveCodes ', + desc: 'Un linguaggio di templating ricco e potente per JavaScript. Nunjucks è essenzialmente una porta di <1>jinja2.', + link: '<1> <2>Sito ufficiale <3> <4>Documentazione LiveCodes ', name: 'Nunjucks', }, ocaml: { desc1: 'OCaml è un linguaggio di programmazione di livello industriale che supporta stili funzionali, imperativi e orientati agli oggetti.', desc2: 'Il compilatore ReScript viene utilizzato qui per compilare OCaml in JavaScript.', - link: '<1>Sito web di OCaml Documentazione di OCaml Sito web di ReScript Impara X in Y minuti, dove X=OCaml Carica modello di partenza ', + link: '<1><2>Sito web di OCaml <3> <4>Documentazione di OCaml <5> <6>Sito web di ReScript <7> <8>Impara X in Y minuti, dove X=OCaml <9> <10>Carica modello di partenza ', name: 'OCaml', }, perl: { desc: 'Perl in esecuzione nel browser utilizzando Perlito.', - link: '<1> Sito ufficiale di Perl Documentazione di Perl Readme di Perlito5 Impara X in Y minuti, dove X=perl Carica modello di partenza ', + link: '<1> <2>Sito ufficiale di Perl <3> <4>Documentazione di Perl <5> <6>Readme di Perlito5 <7> <8>Impara X in Y minuti, dove X=perl <9> <10>Carica modello di partenza ', name: 'Perl', }, php: { desc: 'PHP in esecuzione nel browser utilizzando Uniter.', - link: '<1>Sito ufficiale di PHP Documentazione di PHP Repository GitHub di Uniter Impara X in Y minuti, dove X=PHP Documentazione LiveCodes Carica modello di partenza', + link: '<1><2>Sito ufficiale di PHP <3> <4>Documentazione di PHP <5> <6>Repository GitHub di Uniter <7> <8>Impara X in Y minuti, dove X=PHP <9> <10>Documentazione LiveCodes <11><12>Carica modello di partenza', name: 'PHP', }, phpWasm: { desc: 'PHP nel browser, alimentato da WebAssembly, utilizzando php-wasm.', - link: '<1>Sito ufficiale di PHP Documentazione di PHP Repository GitHub di php-wasm Impara X in Y minuti, dove X=PHP Documentazione LiveCodes Carica modello di partenza ', + link: '<1><2>Sito ufficiale di PHP <3> <4>Documentazione di PHP <5> <6>Repository GitHub di php-wasm <7> <8>Impara X in Y minuti, dove X=PHP <9> <10>Documentazione LiveCodes <11> <12>Carica modello di partenza ', name: 'PHP (Wasm)', }, postgresql: { desc: 'PostgreSQL impacchettato come WASM utilizzando PGlite', - link: '<1> Sito ufficiale di PostgreSQL Documentazione di PostgreSQL Repository GitHub di PGlite Impara X in Y minuti, dove X=SQL Carica modello di partenza ', + link: '<1> <2>Sito ufficiale di PostgreSQL <3> <4>Documentazione di PostgreSQL <5> <6>Repository GitHub di PGlite <7> <8>Impara X in Y minuti, dove X=SQL <9> <10>Carica modello di partenza ', name: 'PostgreSQL', }, prolog: { desc: 'Un interprete Prolog open source in JavaScript.', - link: '<1> Sito ufficiale di Tau Prolog Documentazione di Tau Prolog SWI-Prolog Impara X in Y minuti, dove X=Prolog Carica modello di partenza ', + link: '<1> <2>Sito ufficiale di Tau Prolog <3> <4>Documentazione di Tau Prolog <5> <6>SWI-Prolog <7> <8>Impara X in Y minuti, dove X=Prolog <9> <10>Carica modello di partenza ', name: 'Tau Prolog', }, pug: { desc: 'Motore di template robusto, elegante e ricco di funzionalità.', - link: '<1> Documentazione di Pug Impara X in Y minuti, dove X=Pug Documentazione LiveCodes ', + link: '<1> <2>Documentazione di Pug <3> <4>Impara X in Y minuti, dove X=Pug <5> <6>Documentazione LiveCodes ', name: 'Pug', }, python: { desc: 'Python in esecuzione nel browser utilizzando Brython.', - link: '<1> Sito ufficiale di Python Documentazione di Python Documentazione di Brython Impara X in Y minuti, dove X=Python Documentazione LiveCodes Carica modello di partenza ', + link: '<1> <2>Sito ufficiale di Python <3> <4>Documentazione di Python <5> <6>Documentazione di Brython <7> <8>Impara X in Y minuti, dove X=Python <9> <10>Documentazione LiveCodes <11> <12>Carica modello di partenza ', name: 'Python', }, pythonWasm: { desc1: 'Python con lo stack scientifico, compilato in WebAssembly utilizzando Pyodide.', desc2: 'Pyodide consente di utilizzare lo stack scientifico di Python inclusi NumPy, Pandas, Matplotlib, SciPy, scikit-learn e molti altri. Inoltre, è possibile installare pacchetti Python puri da PyPi.', - link: '<1> Sito ufficiale di Python Documentazione di Python Documentazione di Pyodide Impara X in Y minuti, dove X=Python Documentazione LiveCodes Carica modello di partenza ', + link: '<1> <2>Sito ufficiale di Python <3> <4>Documentazione di Python <5><6>Documentazione di Pyodide <7> <8>Impara X in Y minuti, dove X=Python <9> <10>Documentazione LiveCodes <11> <12>Carica modello di partenza ', name: 'Python (Wasm)', }, r: { desc: 'R in esecuzione nel browser utilizzando WebR.', - link: '<1> Sito ufficiale del progetto R I manuali di R R per Data Science (2a ed.) Documentazione WebR Impara X in Y minuti, dove X=R Documentazione LiveCodes Carica modello di partenza ', + link: '<1> <2>Sito ufficiale del progetto R <3> <4>I manuali di R <5> <6>R per Data Science (2a ed.) <7> <8>Documentazione WebR <9> <10>Impara X in Y minuti, dove X=R <11> <12>Documentazione LiveCodes <13> <14>Carica modello di partenza ', name: 'R', }, reactNative: { desc: "React Native for Web è un'implementazione accessibile dei componenti e delle API di React Native che è interoperabile con React DOM.", - link: '<1> Sito ufficiale di React Sito web di React Native Sito web di React Native for Web Documentazione di React Native Documentazione LiveCodes Carica modello di partenza ', + link: '<1> <2>Sito ufficiale di React <3> <4>Sito web di React Native <5> <6>Sito web di React Native for Web <7> <8>Documentazione di React Native <9> <10>Documentazione LiveCodes <11> <12>Carica modello di partenza ', name: 'React Native for Web', }, reactNativeTsx: { desc: "React Native for Web è un'implementazione accessibile dei componenti e delle API di React Native che è interoperabile con React DOM.", - link: '<1> Sito ufficiale di React Sito web di React Native Sito web di React Native for Web Documentazione di React Native Sito web di TypeScript Documentazione di TypeScript Documentazione LiveCodes Carica modello di partenza (JSX) ', + link: '<1> <2>Sito ufficiale di React <3> <4>Sito web di React Native <5> <6>Sito web di React Native for Web <7> <8>Documentazione di React Native <9> <10>Sito web di TypeScript <11> <12>Documentazione di TypeScript <13> <14>Documentazione LiveCodes <15> <16>Carica modello di partenza (JSX) ', name: 'React Native for Web (con TypeScript)', }, reason: { desc1: "Reason ti permette di scrivere codice sicuro, veloce e di qualità, sfruttando sia l'ecosistema JavaScript che quello OCaml.", desc2: 'Il compilatore ReScript viene utilizzato qui per compilare Reason in JavaScript.', - link: '<1>Sito web di Reason Documentazione di Reason ReasonReact Sito web di ReScript Impara X in Y minuti, dove X=reason Carica modello di partenza ', + link: '<1><2>Sito web di Reason <3> <4>Documentazione di Reason <5> <6>ReasonReact <7> <8>Sito web di ReScript <9> <10>Impara X in Y minuti, dove X=reason <11> <12>Carica modello di partenza ', name: 'Reason', }, rescript: { desc: 'ReScript è un linguaggio fortemente tipizzato che compila in JavaScript efficiente e leggibile.', - link: '<1> Sito web di ReScript ReScript / React Carica modello di partenza ', + link: '<1> <2>Sito web di ReScript <3> <4>ReScript / React <5> <6>Carica modello di partenza ', name: 'ReScript', }, richtext: { desc1: 'Utilizzo di Quill:', desc2: 'Il tuo potente editor di testo ricco.', - link: '<1> Sito ufficiale di Quill ', + link: '<1> <2>Sito ufficiale di Quill ', name: 'Editor di testo ricco', }, riot: { desc: 'Libreria UI basata su componenti semplice ed elegante.', - link: '<1> Sito ufficiale di Riot.js Documentazione di Riot.js Carica modello di partenza ', + link: '<1> <2>Sito ufficiale di Riot.js <3> <4>Documentazione di Riot.js <5> <6>Carica modello di partenza ', name: 'Riot.js', }, ruby: { desc: 'Ruby in esecuzione nel browser utilizzando Opal.', - link: '<1> Sito ufficiale di Ruby Documentazione di Ruby Sito ufficiale di Opal CDN della libreria standard di Opal Impara X in Y minuti, dove X=ruby Documentazione LiveCodes Carica modello di partenza ', + link: '<1> <2>Sito ufficiale di Ruby <3> <4>Documentazione di Ruby <5><6>Sito ufficiale di Opal <7> <8>CDN della libreria standard di Opal <9> <10>Impara X in Y minuti, dove X=ruby <11> <12>Documentazione LiveCodes <13> <14>Carica modello di partenza ', name: 'Ruby', }, rubyWasm: { desc: 'Ruby in esecuzione nel browser utilizzando ruby-wasm (una collezione di porting WebAssembly di CRuby).', - link: '<1> Sito ufficiale di Ruby Documentazione di Ruby Sito web di ruby.wasm CRuby Impara X in Y minuti, dove X=ruby Documentazione LiveCodes Carica modello di partenza ', + link: '<1> <2>Sito ufficiale di Ruby <3> <4>Documentazione di Ruby <5> <6>Sito web di ruby.wasm <7><8>CRuby <9> <10>Impara X in Y minuti, dove X=ruby <11> <12>Documentazione LiveCodes <13> <14>Carica modello di partenza ', name: 'Ruby (WASM)', }, sass: { desc: 'Fogli di stile sintatticamente fantastici.', - link: '<1> Sito ufficiale di Sass Documentazione di Sass Sintassi Sass (indentata) Impara X in Y minuti, dove X=sass ', + link: '<1> <2>Sito ufficiale di Sass <3> <4>Documentazione di Sass <5> <6>Sintassi Sass (indentata) <7> <8>Impara X in Y minuti, dove X=sass ', name: 'Sass', }, scheme: { desc: 'Scheme in esecuzione nel browser utilizzando biwascheme.', - link: '<1> Il linguaggio di programmazione Scheme Sito ufficiale di BiwaScheme Riferimento di BiwaScheme Carica modello di partenza ', + link: '<1> <2>Il linguaggio di programmazione Scheme <3> <4>Sito ufficiale di BiwaScheme <5> <6>Riferimento di BiwaScheme <7> <8>Carica modello di partenza ', name: 'Scheme', }, scss: { desc: 'Fogli di stile sintatticamente fantastici.', - link: '<1> Sito ufficiale di Sass Documentazione di Sass Sintassi SCSS Impara X in Y minuti, dove X=sass ', + link: '<1> <2>Sito ufficiale di Sass <3> <4>Documentazione di Sass <5> <6>Sintassi SCSS <7> <8>Impara X in Y minuti, dove X=sass ', name: 'SCSS', }, solid: { desc: 'Una libreria JavaScript dichiarativa, efficiente e flessibile per la costruzione di interfacce utente.', - link: '<1>Sito ufficiale Documentazione Documentazione LiveCodes Carica modello di partenza (TSX) ', + link: '<1><2>Sito ufficiale <3><4>Documentazione <5> <6>Documentazione LiveCodes <7> <8>Carica modello di partenza (TSX) ', name: 'Solid', tsx: { desc: 'Una libreria JavaScript dichiarativa, efficiente e flessibile per la costruzione di interfacce utente.', - link: '<1>Sito ufficiale Documentazione di Solid Sito web di TypeScript Documentazione di TypeScript Documentazione LiveCodes Carica modello di partenza ', + link: '<1><2>Sito ufficiale <3> <4>Documentazione di Solid <5> <6>Sito web di TypeScript <7> <8>Documentazione di TypeScript <9> <10>Documentazione LiveCodes <11> <12>Carica modello di partenza ', name: 'Solid (con TypeScript)', }, }, sql: { desc: 'SQLite compilato in JavaScript usando SQL.js', - link: '<1> Sito ufficiale di SQLite Documentazione della sintassi SQLite Sito ufficiale di SQL.js Impara X in Y minuti, dove X=SQL Carica modello di partenza', + link: '<1> <2>Sito ufficiale di SQLite <3> <4>Documentazione della sintassi SQLite <5> <6>Sito ufficiale di SQL.js <7> <8>Impara X in Y minuti, dove X=SQL <9><10>Carica modello di partenza', name: 'SQLite', }, stencil: { desc: 'Un compilatore per Web Components e applicazioni web ad alte prestazioni.', - link: '<1> Sito ufficiale di Stencil Documentazione di Stencil Carica modello di partenza ', + link: '<1> <2>Sito ufficiale di Stencil <3> <4>Documentazione di Stencil <5> <6>Carica modello di partenza ', name: 'Stencil', }, styleProcessors: { - link: '<1> Tailwind CSS Windi CSS UnoCSS Lightning CSS PostCSS Plugin: Autoprefixer postcss-preset-env postcss-import-url postcss-modules ', + link: '<1> <2>Tailwind CSS <3> <4>Windi CSS <5> <6>UnoCSS <7> <8>Lightning CSS <9> <10>PostCSS Plugin: <11> <12> <13>Autoprefixer <14> <15>postcss-preset-env <16> <17>postcss-import-url <18> <19>postcss-modules ', name: 'Framework e processori CSS', }, stylis: { desc: 'Preprocessore CSS leggero.', - link: '<1> Sito ufficiale di Stylis ', + link: '<1> <2>Sito ufficiale di Stylis ', name: 'Stylis', }, stylus: { desc: 'CSS espressivo, dinamico e robusto.', - link: '<1> Sito ufficiale di Stylus Impara X in Y minuti, dove X=stylus ', + link: '<1> <2>Sito ufficiale di Stylus <3> <4>Impara X in Y minuti, dove X=stylus ', name: 'Stylus', }, sucrase: { desc: 'Alternativa super veloce a Babel quando puoi avere come target runtime JS moderni.', - link: '<1> Sito ufficiale di Sucrase Repository GitHub di Sucrase Documentazione LiveCodes ', + link: '<1> <2>Sito ufficiale di Sucrase <3> <4>Repository GitHub di Sucrase <5> <6>Documentazione LiveCodes ', name: 'Sucrase', }, svelte: { desc: 'Applicazioni web ciberneticamente potenziate.', - link: '<1> Sito ufficiale di Svelte Documentazione di Svelte Carica modello di partenza ', + link: '<1> <2>Sito ufficiale di Svelte <3> <4>Documentazione di Svelte <5> <6>Carica modello di partenza ', name: 'Svelte', }, tcl: { - desc: 'Tcl in esecuzione nel browser, utilizzando <1>wacl.', - link: '<1> Sito ufficiale di Tcl Repository di wacl Impara X in Y minuti, dove X=Tcl Carica modello di partenza ', + desc: 'Tcl in esecuzione nel browser, utilizzando <1>wacl.', + link: '<1> <2>Sito ufficiale di Tcl <3> <4>Repository di wacl <5> <6>Impara X in Y minuti, dove X=Tcl <7> <8>Carica modello di partenza ', name: 'Tcl (Tool Command Language)', }, teal: { desc: 'Un dialetto tipizzato di Lua.', - link: '<1> Repository GitHub di Teal Documentazione di Teal Tutorial di Teal Documentazione LiveCodes Carica modello di partenza ', + link: '<1> <2>Repository GitHub di Teal <3> <4>Documentazione di Teal <5> <6>Tutorial di Teal <7> <8>Documentazione LiveCodes <9> <10>Carica modello di partenza ', name: 'Teal', }, tsx: { desc: 'TypeScript in JSX. TSX viene compilato in JavaScript in LiveCodes utilizzando il compilatore TypeScript. Di default usa React come runtime JSX.', - link: '<1> Sito ufficiale di React Documentazione JSX in React Documentazione di TypeScript Documentazione LiveCodes ', + link: '<1> <2>Sito ufficiale di React <3> <4>Documentazione JSX in React <5> <6>Documentazione di TypeScript <7> <8>Documentazione LiveCodes ', name: 'TSX', }, twig: { - desc: "Un'implementazione JavaScript del linguaggio di templating PHP <1>Twig di Twig.js.", - link: '<1> Sito ufficiale di Twig Documentazione di Twig Repository di Twig.js Documentazione di Twig.js Documentazione LiveCodes ', + desc: "Un'implementazione JavaScript del linguaggio di templating PHP <1>Twig di <2>Twig.js.", + link: '<1> <2>Sito ufficiale di Twig <3> <4>Documentazione di Twig <5> <6>Repository di Twig.js <7> <8>Documentazione di Twig.js <9> <10>Documentazione LiveCodes ', name: 'Twig', }, typescript: { desc: 'Un superset tipizzato di JavaScript.', - link: '<1> Sito ufficiale Documentazione di TypeScript Impara X in Y minuti, dove X=TypeScript Carica modello di partenza ', + link: '<1> <2>Sito ufficiale <3> <4>Documentazione di TypeScript <5> <6>Impara X in Y minuti, dove X=TypeScript <7> <8>Carica modello di partenza ', name: 'TypeScript', }, vue: { - link: '<1> Sito ufficiale di Vue.js v3 Documentazione di Vue3 Componenti a file singolo di Vue3 Documentazione LiveCodes Carica modello di partenza', + link: '<1> <2>Sito ufficiale di Vue.js v3 <3> <4>Documentazione di Vue3 <5> <6>Componenti a file singolo di Vue3 <7> <8>Documentazione LiveCodes <9><10>Carica modello di partenza', name: 'Componenti a file singolo Vue3', }, vue2: { desc: 'Caricato utilizzando vue3-sfc-loader.', - link: '<1>Sito ufficiale di Vue.js Documentazione di Vue2 Componenti a file singolo di Vue2 Repository GitHub di vue3-sfc-loader Documentazione LiveCodes ', + link: '<1><2>Sito ufficiale di Vue.js <3> <4>Documentazione di Vue2 <5> <6>Componenti a file singolo di Vue2 <7> <8>Repository GitHub di vue3-sfc-loader <9> <10>Documentazione LiveCodes ', name: 'Componenti a file singolo Vue2', }, wat: { desc1: 'Rappresentazione testuale di basso livello del formato binario WebAssembly (wasm).', desc2: 'Viene convertito in wasm utilizzando wabt.js.', - link: '<1>WebAssembly.org Specifiche del formato testuale WebAssembly WebAssembly su MDN Comprendere il formato testuale WebAssembly Documentazione di wabt.js Impara X in Y minuti, dove X=WebAssembly Carica modello di partenza', + link: '<1><2>WebAssembly.org <3> <4>Specifiche del formato testuale WebAssembly <5> <6>WebAssembly su MDN <7> <8>Comprendere il formato testuale WebAssembly <9> <10>Documentazione di wabt.js <11> <12>Impara X in Y minuti, dove X=WebAssembly <13><14>Carica modello di partenza', name: 'Formato testuale WebAssembly', }, }; diff --git a/src/livecodes/i18n/locales/it/translation.ts b/src/livecodes/i18n/locales/it/translation.ts index 1333952eb..d637e6b75 100644 --- a/src/livecodes/i18n/locales/it/translation.ts +++ b/src/livecodes/i18n/locales/it/translation.ts @@ -14,9 +14,9 @@ const translation: I18nTranslation = { heading: 'Informazioni su LiveCodes', livecodes: { para1: - '<1>LiveCodes è un playground di codice open-source, ricco di funzionalità, lato client. Attualmente, sono supportati oltre 80 linguaggi/framework. Può essere utilizzato come app autonoma o può essere incorporato in qualsiasi pagina web. Ci sono molti modi per precompilare i playground con il codice.', + '<1><2>LiveCodes è un playground di codice <3>open-source, <4>ricco di funzionalità, <5>lato client. Attualmente, sono supportati <6>oltre 80 linguaggi/<7>framework. Può essere utilizzato come app autonoma o può essere <8>incorporato in qualsiasi pagina web. Ci sono molti modi per <9>precompilare i playground con il codice.', para2: - "Un'ampia gamma di <1>opzioni di configurazione lo rende molto flessibile. Un potente SDK (per JS/TS, React, Vue e Svelte) facilita l'incorporazione e la comunicazione con i playground. È disponibile una documentazione completa con esempi di codice, demo dal vivo e screenshot.", + "Un'ampia gamma di <1>opzioni di configurazione lo rende molto flessibile. Un potente <2>SDK (per <3>JS/TS, <4>React, <5>Vue e <6>Svelte) facilita l'<7>incorporazione e la <8>comunicazione con i playground. È disponibile una <9>documentazione completa con esempi di codice, demo dal vivo e screenshot.", }, version: { app: "Versione dell'app: {{APP_VERSION}}", @@ -28,6 +28,9 @@ const translation: I18nTranslation = { }, }, app: { + consoleMessage: { + learnMore: 'Scopri di più! {{docsUrl}} 🚀', + }, copy: { hint: 'Copia (Ctrl/Cmd + A, Ctrl/Cmd + C)', }, @@ -81,12 +84,12 @@ const translation: I18nTranslation = { assets: { add: { dataURL: { - desc: 'Aggiungi risorsa come <1>URL dati codificato in base64.', + desc: 'Aggiungi risorsa come <1>URL dati codificato in base64.', heading: 'URL dati', label: 'Aggiungi file', }, githubPages: { - desc: 'Distribuisci la risorsa su GitHub Pages. Il file viene inviato al ramo <1>gh-pages del repository livecodes-assets sul tuo account GitHub. Se il repository non esiste già, verrà creato un repository pubblico.', + desc: 'Distribuisci la risorsa su GitHub Pages. Il file viene inviato al ramo <1>gh-pages del repository <2>livecodes-assets sul tuo account GitHub. Se il repository non esiste già, verrà creato un repository pubblico.', heading: 'GitHub Pages', label: 'Carica file', }, @@ -157,7 +160,7 @@ const translation: I18nTranslation = { backup: { assets: 'Risorse', button: 'Backup', - desc: 'Esegui il backup dei dati di LiveCodes, in modo che possano essere ripristinati successivamente su questo o altri dispositivi. <1> Visita la documentazione per i dettagli.', + desc: 'Esegui il backup dei dati di LiveCodes, in modo che possano essere ripristinati successivamente su questo o altri dispositivi. <1> Visita la <2>documentazione per i dettagli.', heading: 'Backup', projects: 'Progetti', settings: 'Impostazioni utente', @@ -173,7 +176,7 @@ const translation: I18nTranslation = { heading: 'Backup / Ripristino', inProgress: 'In corso...', restore: { - desc: 'Ripristina i dati di LiveCodes precedentemente sottoposti a backup. <1> Se scegli di sostituire il contenuto attuale, potresti voler eseguire prima un backup. Visita la documentazione per i dettagli.', + desc: 'Ripristina i dati di LiveCodes precedentemente sottoposti a backup. <1> Se scegli di sostituire il contenuto attuale, potresti voler eseguire prima un backup. <2> Visita la <3>documentazione per i dettagli.', fromFile: 'Ripristina da file', heading: 'Ripristina', mode: { @@ -191,7 +194,7 @@ const translation: I18nTranslation = { broadcasting: 'Trasmissione in corso...', channelURL: 'URL del canale', connecting: 'Connessione in corso...', - desc: 'Trasmetti la pagina dei risultati ad altri browser/dispositivi in tempo reale. Visita la <1>documentazione per i dettagli.', + desc: 'Trasmetti la pagina dei risultati ad altri browser/dispositivi in tempo reale. Visita la <1>documentazione per i dettagli.', error: { generic: 'Trasmissione fallita!', serverURLRequired: "L'URL del server è richiesto!", @@ -291,9 +294,9 @@ const translation: I18nTranslation = { }, deploy: { create: { - desc: 'Un nuovo repository <1>pubblico verrà creato. La pagina dei risultati sarà inviata al ramo gh-pages.', + desc: 'Un nuovo repository <1>pubblico verrà creato. La pagina dei risultati sarà inviata al ramo <2>gh-pages.', heading: 'Crea nuovo repository', - repoName: 'Nome del repository <1>', + repoName: 'Nome del repository <1>', }, error: { generic: 'Distribuzione fallita!', @@ -301,7 +304,7 @@ const translation: I18nTranslation = { repoNameRequired: 'Il nome del repository è obbligatorio', }, existing: { - desc: 'Un nuovo commit sarà aggiunto al ramo <1>gh-pages.', + desc: 'Un nuovo commit sarà aggiunto al ramo <1>gh-pages.', heading: 'Repository esistente', repoName: 'Nome del repository', }, @@ -322,7 +325,7 @@ const translation: I18nTranslation = { closeBrackets: 'Chiudi automaticamente parentesi e virgolette', codeJarDesc: '* Le funzionalità contrassegnate non sono disponibili in CodeJar.', default: 'Predefinito', - desc: 'Si prega di consultare la <1>documentazione per i dettagli.', + desc: 'Si prega di consultare la <1>documentazione per i dettagli.', editor: { codejar: 'CodeJar', codemirror: 'CodeMirror', @@ -338,7 +341,7 @@ const translation: I18nTranslation = { emmet: 'Abilita Emmet *', enableAI: { heading: 'Abilita Assistente AI per il Codice', - note: 'Alimentato da <1>', + note: 'Alimentato da <1><2>', }, fontFamily: 'Famiglia di caratteri', fontSize: 'Dimensione carattere', @@ -376,7 +379,7 @@ const translation: I18nTranslation = { copy: 'Copia Codice', heading: 'Codice', }, - desc: 'Si prega di consultare la <1>documentazione per configurazioni avanzate.', + desc: 'Si prega di consultare la <1>documentazione per configurazioni avanzate.', embedType: { cdn: 'Script (CDN)', heading: 'Tipo di Incorporamento', @@ -447,17 +450,18 @@ const translation: I18nTranslation = { more: 'Altro...', optional: 'Opzionale', required: 'Obbligatorio', + tagline: 'Un Parco Giochi per il Codice Che Funziona e Basta!', }, import: { bulk: { - desc: 'Importa in blocco più progetti nei tuoi progetti salvati. I progetti possono essere esportati dalla schermata <1>Progetti Salvati.', + desc: 'Importa in blocco più progetti nei tuoi progetti salvati. I progetti possono essere esportati dalla schermata <1>Progetti Salvati.', fromFile: 'Importazione in blocco da file locale', fromURL: 'Importazione in blocco da URL', heading: 'Importazione in Blocco', started: 'Importazione in blocco avviata...', }, code: { - desc: 'Fonti supportate: <1> Gist GitHub File GitHub Directory in un repository GitHub Snippet Gitlab File Gitlab Directory in un repository Gitlab JS Bin Codice grezzo Codice nel DOM della pagina web Codice in file zip Playground ufficiali(TypeScript, Vue e Svelte) Si prega di visitare la documentazione per i dettagli.', + desc: 'Fonti supportate: <1> <2>Gist GitHub <3>File GitHub <4>Directory in un repository GitHub <5>Snippet Gitlab <6>File Gitlab <7>Directory in un repository Gitlab <8>JS Bin <9>Codice grezzo <10>Codice nel DOM della pagina web <11>Codice in file zip <12>Playground ufficiali<13>(TypeScript, Vue e Svelte) Si prega di visitare la <14>documentazione per i dettagli.', fromFile: 'Importa file locali', fromURL: 'Importa da URL', heading: 'Importa Codice', @@ -482,7 +486,7 @@ const translation: I18nTranslation = { }, login: { accessAllowed: 'Consenti accesso a:', - desc: "<1>Effettuando l'accesso, accetti che i cookie possano essere memorizzati sul tuo dispositivo. Perché sono richieste queste autorizzazioni? Come modificare/revocare le autorizzazioni? ", + desc: "<1>Effettuando l'accesso, accetti che i <2>cookie possano essere memorizzati sul tuo dispositivo. <3> <4>Perché sono richieste queste autorizzazioni? <5> <6>Come modificare/revocare le autorizzazioni? ", gist: 'Gist', heading: 'Accedi con GitHub', loginAs: 'Accesso effettuato come {{name}}', @@ -500,7 +504,7 @@ const translation: I18nTranslation = { broadcast: 'Trasmissione …', customSettings: 'Impostazioni personalizzate …', delay: { - heading: 'Ritardo: <1>1.5s', + heading: 'Ritardo: <1>1.5s', hint: "Ritardo prima dell'aggiornamento automatico", }, deploy: 'Distribuzione …', @@ -537,7 +541,7 @@ const translation: I18nTranslation = { hint: 'Premi Alt/Option e muovi il cursore sulla pagina dei risultati', }, snippets: 'Frammenti di codice …', - sync: 'Sincronizzazione (beta) … <1> ⏳', + sync: 'Sincronizzazione (beta) … <1> ⏳', theme: 'Tema scuro', welcome: { heading: 'Benvenuto …', @@ -590,11 +594,11 @@ const translation: I18nTranslation = { recoverPrompt: { desc: 'Il tuo ultimo progetto ha modifiche non salvate!', heading: 'Recuperare il progetto non salvato?', - meta: 'Titolo: <1> Ultima modifica: ', + meta: 'Titolo: <1> <2> Ultima modifica: <3>', notShowAgain: 'Non mostrare più questo messaggio.', prompt: { discard: 'Scarta progetto non salvato', - heading: '<1>Vuoi recuperarlo ora?', + heading: '<1>Vuoi recuperarlo ora?', recover: "Recupera progetto nell'editor", save: 'Salva sul dispositivo e continua', }, @@ -613,13 +617,13 @@ const translation: I18nTranslation = { }, fonts: { add: 'Aggiungi', - heading: 'Font <1>(forniti da Google Fonts)', + heading: 'Font <1>(forniti da Google Fonts)', select: 'Seleziona font ...', }, heading: 'Risorse esterne', scripts: 'Script esterni', search: { - heading: 'Cerca pacchetti <1>(forniti da jsDelivr)', + heading: 'Cerca pacchetti <1>(forniti da jsDelivr)', placeholder: 'es. jquery, lodash@4, bootstrap@5.2.3, ...', }, stylesheets: 'Fogli di stile esterni', @@ -631,8 +635,7 @@ const translation: I18nTranslation = { prompt: { cancel: 'Annulla', discard: 'Non salvare', - heading: - 'Le modifiche apportate potrebbero non essere salvate. <1> Vuoi salvare ora?', + heading: 'Le modifiche apportate potrebbero non essere salvate. <1> Vuoi salvare ora?', save: 'Salva', }, }, @@ -730,7 +733,7 @@ const translation: I18nTranslation = { sync: { autoSync: 'Sincronizzazione automatica', create: { - desc: 'Verrà creato un nuovo repository <1>privato. I tuoi dati locali di LiveCodes saranno sincronizzati con il ramo main.', + desc: 'Verrà creato un nuovo repository <1>privato. I tuoi dati locali di LiveCodes saranno sincronizzati con il ramo <2>main.', heading: 'Crea nuovo repository', repoName: 'Nome del repository', }, @@ -739,7 +742,7 @@ const translation: I18nTranslation = { repoNameRequired: 'Il nome del repository è obbligatorio', }, existing: { - desc: 'I tuoi dati locali di LiveCodes saranno sincronizzati con il ramo <1>main.', + desc: 'I tuoi dati locali di LiveCodes saranno sincronizzati con il ramo <1>main.', heading: 'Repository esistente', repoName: 'Nome del repository', }, @@ -753,7 +756,7 @@ const translation: I18nTranslation = { templates: { heading: 'Nuovo Progetto', noUserTemplates: { - desc: 'Puoi salvare un progetto come modello da <1>(Menu App > Salva come > Modello).', + desc: 'Puoi salvare un progetto come modello da <1>(Menu App > Salva come > Modello).', heading: 'Non hai modelli salvati.', }, starter: { @@ -840,16 +843,16 @@ const translation: I18nTranslation = { }, test: { edit: 'Modifica', - error: '<1>Errore nel test!', - loading: '<1>Caricamento dei test...', - noTest: '<1>Questo progetto non ha test!', + error: '<1><2>Errore nel test!', + loading: '<1>Caricamento dei test...', + noTest: '<1>Questo progetto non ha test!', reset: 'Reimposta', run: { desc: 'Ctrl/Cmd + Alt + T', heading: 'Esegui', }, summary: { - desc: 'Test: {{failed}}\n {{passed}}\n {{skipped}}\n {{total}}<1>\nTempo: {{duration}}s', + desc: 'Test: {{failed}}\n {{passed}}\n {{skipped}}\n {{total}}<1>\nTempo: {{duration}}s', failed: '{{failedNum}} falliti', passed: '{{passedNum}} passati', skipped: '{{skippedNum}} saltati', @@ -874,7 +877,7 @@ const translation: I18nTranslation = { recover: { cancel: 'Annulla', heading: 'Recupera', - lastModified: 'Ultima modifica: <1>', + lastModified: 'Ultima modifica: <1>', recover: 'Recupera', save: 'Salva', unsavedChanges: 'Il tuo ultimo progetto aveva modifiche non salvate:', diff --git a/src/livecodes/i18n/locales/ja/language-info.ts b/src/livecodes/i18n/locales/ja/language-info.ts index 91826c15c..e35c87f72 100644 --- a/src/livecodes/i18n/locales/ja/language-info.ts +++ b/src/livecodes/i18n/locales/ja/language-info.ts @@ -5,203 +5,203 @@ import type { I18nLangInfoTranslation } from '../models'; const languageInfo: I18nLangInfoTranslation = { artTemplate: { desc: '高性能な JavaScript テンプレートエンジン。', - link: '<1> art-template 公式ウェブサイト art-template ドキュメント ', + link: '<1> <2>art-template 公式ウェブサイト <3> <4>art-template ドキュメント ', name: 'art-template', }, asciidoc: { desc: 'Asciidoctor を使用して HTML にコンパイルされた AsciiDoc。', - link: '<1> AsciiDoc 公式ウェブサイト Asciidoctor 公式ウェブサイト Asciidoctor ドキュメント X分でYを学ぶ、X=asciidoc ', + link: '<1> <2>AsciiDoc 公式ウェブサイト <3> <4>Asciidoctor 公式ウェブサイト <5> <6>Asciidoctor ドキュメント <7> <8>X分でYを学ぶ、X=asciidoc ', name: 'AsciiDoc', }, assemblyscript: { desc: 'WebAssembly 用の TypeScript に似た言語。', - link: '<1> AssemblyScript 公式ウェブサイト AssemblyScript ドキュメント スターターテンプレートを読み込む ', + link: '<1> <2>AssemblyScript 公式ウェブサイト <3> <4>AssemblyScript ドキュメント <5> <6>スターターテンプレートを読み込む ', name: 'AssemblyScript', }, astro: { desc: 'クライアントサイドの JavaScript を減らしてより高速なウェブサイトを構築します。(まだベータ版)', - link: '<1> Astro 公式ウェブサイト Astro ドキュメント スターターテンプレートを読み込む ', + link: '<1> <2>Astro 公式ウェブサイト <3> <4>Astro ドキュメント <5> <6>スターターテンプレートを読み込む ', name: 'Astro', }, babel: { desc: 'JavaScript コンパイラ', - link: '<1>公式ウェブサイト Babel ドキュメント ', + link: '<1><2>公式ウェブサイト <3> <4>Babel ドキュメント ', name: 'Babel', }, bbcode: { desc: 'BBCode(「Bulletin Board Code」)は、多くのインターネットフォーラムソフトウェアでメッセージをフォーマットするために使用される軽量マークアップ言語です。', - link: '<1>bbcode.org BBCode ガイド Wikipedia の BBCode ', + link: '<1><2>bbcode.org <3> <4>BBCode ガイド <5> <6>Wikipedia の BBCode ', name: 'BBCode', }, blockly: { desc: 'ビジュアルプログラミングエディタを構築するための JavaScript ライブラリ。', - link: '<1> 公式ウェブサイト ガイド リファレンス サンプル スターターテンプレートを読み込む ', + link: '<1> <2>公式ウェブサイト <3> <4>ガイド <5> <6>リファレンス <7> <8>サンプル <9> <10>スターターテンプレートを読み込む ', name: 'Blockly', }, civet: { desc: 'Civet は TypeScript または JavaScript にコンパイルされるプログラミング言語で、既存のツールを使用しながら簡潔で強力な構文を可能にします。', - link: '<1> Civet 公式ウェブサイト Civet チートシート スターターテンプレートを読み込む ', + link: '<1> <2>Civet 公式ウェブサイト <3> <4>Civet チートシート <5> <6>スターターテンプレートを読み込む ', name: 'Civet', }, clio: { desc: 'Clio は、JavaScript にコンパイルされる高速で分散型の関数型プログラミング言語です。', - link: '<1> Clio 公式ウェブサイト Clio ドキュメント スターターテンプレートを読み込む ', + link: '<1> <2>Clio 公式ウェブサイト <3> <4>Clio ドキュメント <5> <6>スターターテンプレートを読み込む ', name: 'Clio', }, clojurescript: { - desc: 'ClojureScript は JavaScript をターゲットとする<1>Clojureのコンパイラです。LiveCodes では、Cherryを使用してブラウザで実行されます。', - link: '<1> ClojureScript 公式ウェブサイト Clojure 公式ウェブサイト Cherry リポジトリ X分でYを学ぶ、X=clojure LiveCodes ドキュメント スターターテンプレートを読み込む ', + desc: 'ClojureScript は JavaScript をターゲットとする<1>Clojureのコンパイラです。<2>LiveCodes では、<3>Cherryを使用してブラウザで実行されます。', + link: '<1> <2>ClojureScript 公式ウェブサイト <3> <4>Clojure 公式ウェブサイト <5> <6>Cherry リポジトリ <7> <8>X分でYを学ぶ、X=clojure <9> <10>LiveCodes ドキュメント <11> <12>スターターテンプレートを読み込む ', name: 'ClojureScript (CLJS)', }, coffeescript: { desc: '飾り気のない JavaScript。', - link: '<1> CoffeeScript 公式ウェブサイト X分でYを学ぶ、X=coffeescript スターターテンプレートを読み込む ', + link: '<1> <2>CoffeeScript 公式ウェブサイト <3> <4>X分でYを学ぶ、X=coffeescript <5> <6>スターターテンプレートを読み込む ', name: 'CoffeeScript', }, commonlisp: { desc: 'JSCL(Common Lispからブートストラップされた Lisp-to-Javascript コンパイラ)を使用した JavaScript 上の Common Lisp 実装。', - link: '<1> Common-Lisp.net JSCL プロジェクト Common Lisp リソース X分でYを学ぶ、X=Common Lisp スターターテンプレートを読み込む ', + link: '<1> <2>Common-Lisp.net <3> <4>JSCL プロジェクト <5> <6>Common Lisp リソース <7> <8>X分でYを学ぶ、X=Common Lisp <9> <10>スターターテンプレートを読み込む ', name: 'Common Lisp', }, cpp: { desc1: 'JSCPP(JavaScript で書かれた簡単な C++ インタプリタ)を使用した C++ サポート。', desc2: - 'これは C++ の完全な実装ではありません。詳細については<1>JSCPP ドキュメントを参照してください。', - link: '<1> Standard C++ 財団 JSCPP X分でYを学ぶ、X=C++ スターターテンプレートを読み込む ', + 'これは C++ の完全な実装ではありません。詳細については<1>JSCPP ドキュメントを参照してください。', + link: '<1> <2>Standard C++ 財団 <3> <4>JSCPP <5> <6>X分でYを学ぶ、X=C++ <7> <8>スターターテンプレートを読み込む ', name: 'C++', }, cppWasm: { - desc: '<2>polylang.ioによって適応されたwasm-clangを使用して、WebAssembly上で動作するClang C/C++コンパイラ。', - link: '<1> Standard C++ 財団 Clang 公式ウェブサイト X分でYを学ぶ、X=C++ スターターテンプレートを読み込む ', + desc: '<2>polylang.ioによって適応された<1>wasm-clangを使用して、WebAssembly上で動作するClang C/C++コンパイラ。', + link: '<1> <2>Standard C++ 財団 <3> <4>Clang 公式ウェブサイト <5> <6>X分でYを学ぶ、X=C++ <7> <8>スターターテンプレートを読み込む ', name: 'C/C++ (Wasm)', }, diagrams: { desc1: '(実験的)', desc2: 'コードとしての図表。サポート:', desc3: - '<1> Cytoscape ELK (elkjsを使用) Gnuplot (gnuplot-JSを使用) Graphviz (@hpcc-js/wasmを使用) Mermaid Nomnoml Pintora Plotly Svgbob Vega VegaLite WaveDrom ', - link: '<1> スターターテンプレートを読み込む LiveCodes ドキュメント ', + '<1> <2>Cytoscape <3> <4>ELK (<5>elkjsを使用) <6> <7>Gnuplot (<8>gnuplot-JSを使用) <9> <10>Graphviz (<11>@hpcc-js/wasmを使用) <12> <13>Mermaid <14> <15>Nomnoml <16> <17>Pintora <18> <19>Plotly <20> <21>Svgbob <22> <23>Vega <24> <25>VegaLite <26> <27>WaveDrom ', + link: '<1> <2>スターターテンプレートを読み込む <3> <4>LiveCodes ドキュメント ', name: 'ダイアグラム', }, dot: { desc: 'Node.js とブラウザ向けの最速かつ簡潔な JavaScript テンプレートエンジン。', - link: '<1> 公式ウェブサイト LiveCodes ドキュメント ', + link: '<1> <2>公式ウェブサイト <3> <4>LiveCodes ドキュメント ', name: 'doT.js', }, ejs: { desc: '埋め込み JavaScript テンプレート。', - link: '<1>公式ウェブサイト LiveCodes ドキュメント ', + link: '<1><2>公式ウェブサイト <3> <4>LiveCodes ドキュメント ', name: 'EJS', }, eta: { desc: 'Node、Deno、ブラウザ用の埋め込み JS テンプレートエンジン。軽量、高速、プラガブル。TypeScript で書かれています。', - link: '<1>公式ウェブサイト ドキュメント LiveCodes ドキュメント ', + link: '<1><2>公式ウェブサイト <3> <4>ドキュメント <5> <6>LiveCodes ドキュメント ', name: 'Eta', }, fennel: { desc: 'Fennel は、Lua のスピード、シンプルさ、リーチと、Lisp 構文とマクロシステムの柔軟性を組み合わせたプログラミング言語です。', - link: '<1> Fennel 公式ウェブサイト Fennel 入門 LiveCodes ドキュメント スターターテンプレートを読み込む ', + link: '<1> <2>Fennel 公式ウェブサイト <3> <4>Fennel 入門 <5> <6>LiveCodes ドキュメント <7> <8>スターターテンプレートを読み込む ', name: 'Fennel', }, flow: { desc: 'Flow は JavaScript 用の静的型チェッカーです。', - link: '<1> Flow 公式ウェブサイト Flow ドキュメント ', + link: '<1> <2>Flow 公式ウェブサイト <3> <4>Flow ドキュメント ', name: 'Flow', }, gleam: { desc1: 'Gleam は、スケーラブルな型安全システムを構築するためのフレンドリーな言語です!', desc2: 'Gleam は静的型付け関数型プログラミング言語で、Erlang または JavaScript にコンパイルされます。', - link: '<1>Gleam ウェブサイト Gleam ドキュメント Gleam 言語ツアー スターターテンプレートを読み込む ', + link: '<1><2>Gleam ウェブサイト <3> <4>Gleam ドキュメント <5> <6>Gleam 言語ツアー <7> <8>スターターテンプレートを読み込む ', name: 'Gleam', }, go: { desc1: 'Go(Golang)は、シンプルで信頼性が高く効率的なソフトウェアを簡単に構築できるオープンソースのプログラミング言語です。', desc2: 'ここでは、GopherJS を使用して JavaScript にコンパイルされます。', - link: '<1>Go ウェブサイト Go ドキュメント GopherJS リポジトリ X分でYを学ぶ、X=Go スターターテンプレートを読み込む', + link: '<1><2>Go ウェブサイト <3><4>Go ドキュメント <5> <6>GopherJS リポジトリ <7> <8>X分でYを学ぶ、X=Go <9><10>スターターテンプレートを読み込む', name: 'Go', }, haml: { desc: 'clientside-haml-js を使用したクライアントサイド JavaScript ビューテンプレート用の Haml コンパイラ。', - link: '<1>Haml 公式ウェブサイト Haml ドキュメント clientside-haml-js GitHub リポジトリ X分でYを学ぶ、X=haml LiveCodes ドキュメント ', + link: '<1><2>Haml 公式ウェブサイト <3> <4>Haml ドキュメント <5> <6>clientside-haml-js GitHub リポジトリ <7> <8>X分でYを学ぶ、X=haml <9> <10>LiveCodes ドキュメント ', name: 'Haml', }, handlebars: { desc: 'ステロイドを使用したミニマルなテンプレートエンジン。', - link: '<1>公式ウェブサイト LiveCodes ドキュメント ', + link: '<1><2>公式ウェブサイト <3> <4>LiveCodes ドキュメント ', name: 'Handlebars', }, imba: { desc: 'フレンドリーなフルスタック言語。', - link: '<1>公式ウェブサイト', + link: '<1><2>公式ウェブサイト', name: 'Imba', }, jsx: { desc: 'JSX は LiveCodes で TypeScript コンパイラを使用して JavaScript にコンパイルされます。デフォルトでは React を JSX ランタイムとして使用します。', - link: '<1> React 公式ウェブサイト React ドキュメントの JSX LiveCodes ドキュメント スターターテンプレートを読み込む ', + link: '<1> <2>React 公式ウェブサイト <3> <4>React ドキュメントの JSX <5> <6>LiveCodes ドキュメント <7> <8>スターターテンプレートを読み込む ', name: 'JSX', }, julia: { desc1: '(LiveCodes での Julia 言語サポートはまだ実験的です)', desc2: - '<2>polylang.ioによって適応されたjulia-wasmを使用して、WASM上で動作するJuliaコンパイラとJulia Base。', - link: '<1> Julia 公式ウェブサイト Julia ドキュメント X分でYを学ぶ、X=Julia スターターテンプレートを読み込む ', + '<2>polylang.ioによって適応された<1>julia-wasmを使用して、WASM上で動作するJuliaコンパイラとJulia Base。', + link: '<1> <2>Julia 公式ウェブサイト <3> <4>Julia ドキュメント <5> <6>X分でYを学ぶ、X=Julia <7> <8>スターターテンプレートを読み込む ', name: 'Julia', }, less: { desc: 'CSS に少し機能を追加したもの。', - link: '<1>Less 公式ウェブサイト X分でYを学ぶ、X=less ', + link: '<1><2>Less 公式ウェブサイト <3> <4>X分でYを学ぶ、X=less ', name: 'Less', }, liquid: { desc: 'シンプルで表現力豊かで安全なテンプレートエンジン。', - link: '<1> LiquidJS 公式ウェブサイト LiquidJS ドキュメント LiveCodes ドキュメント ', + link: '<1> <2>LiquidJS 公式ウェブサイト <3> <4>LiquidJS ドキュメント <5> <6>LiveCodes ドキュメント ', name: 'LiquidJS', }, livescript: { desc: 'JavaScript にコンパイルされる言語。', - link: '<1> LiveScript 公式ウェブサイト X分でYを学ぶ、X=LiveScript スターターテンプレートを読み込む ', + link: '<1> <2>LiveScript 公式ウェブサイト <3> <4>X分でYを学ぶ、X=LiveScript <5> <6>スターターテンプレートを読み込む ', name: 'LiveScript', }, lua: { desc: 'fengari-web を使用してブラウザで動作する Lua。', - link: '<1>Lua 公式ウェブサイト Lua ドキュメント Fengari 公式ウェブサイト fengari-web GitHub リポジトリ X分でYを学ぶ、X=Lua LiveCodes ドキュメント スターターテンプレートを読み込む', + link: '<1><2>Lua 公式ウェブサイト <3> <4>Lua ドキュメント <5> <6>Fengari 公式ウェブサイト <7> <8>fengari-web GitHub リポジトリ <9> <10>X分でYを学ぶ、X=Lua <11> <12>LiveCodes ドキュメント <13><14>スターターテンプレートを読み込む', name: 'Lua', }, luaWasm: { desc: 'WebAssembly で作成された JS バインディングを持つ実際の Lua 5.4 VM である Wasmoon を使用してブラウザで動作する Lua。', - link: '<1>Lua 公式ウェブサイト Lua ドキュメント Wasmoon GitHub リポジトリ X分でYを学ぶ、X=Lua LiveCodes ドキュメント スターターテンプレートを読み込む ', + link: '<1><2>Lua 公式ウェブサイト <3> <4>Lua ドキュメント <5> <6>Wasmoon GitHub リポジトリ <7> <8>X分でYを学ぶ、X=Lua <9> <10>LiveCodes ドキュメント <11> <12>スターターテンプレートを読み込む ', name: 'Lua (Wasm)', }, malina: { desc: 'Svelte にインスパイアされたフロントエンドコンパイラ。', - link: '<1> Malina.js リポジトリ Malina.js ドキュメント スターターテンプレートを読み込む ', + link: '<1> <2>Malina.js リポジトリ <3> <4>Malina.js ドキュメント <5> <6>スターターテンプレートを読み込む ', name: 'Malina.js', }, markdown: { desc: 'Marked を使用して HTML にコンパイルされた Markdown。', - link: '<1> Markdown 公式ウェブサイト Marked ドキュメント X分でYを学ぶ、X=markdown スターターテンプレートを読み込む ', + link: '<1> <2>Markdown 公式ウェブサイト <3> <4>Marked ドキュメント <5> <6>X分でYを学ぶ、X=markdown <7> <8>スターターテンプレートを読み込む ', name: 'Markdown', }, mdx: { - desc: 'コンポーネント時代の Markdown。<1>MDX を使用すると、Markdown ドキュメント内でシームレスに JSX を記述できます。', - link: '<1>MDX ドキュメント スターターテンプレートを読み込む', + desc: 'コンポーネント時代の Markdown。<1>MDX を使用すると、Markdown ドキュメント内でシームレスに JSX を記述できます。', + link: '<1><2>MDX ドキュメント <3><4>スターターテンプレートを読み込む', name: 'MDX', }, mjml: { desc: 'MJML は、レスポンシブなメールのコーディングの苦痛を軽減するために設計されたマークアップ言語です。', - link: '<1>MJML 公式ウェブサイト MJML ドキュメント MJML 公式テンプレート LiveCodes ドキュメント ', + link: '<1><2>MJML 公式ウェブサイト <3> <4>MJML ドキュメント <5> <6>MJML 公式テンプレート <7> <8>LiveCodes ドキュメント ', name: 'MJML', }, mustache: { desc: 'ロジックレステンプレート。', - link: '<1> 公式ウェブサイト mustache(5) マニュアル JavaScript 実装 LiveCodes ドキュメント ', + link: '<1> <2>公式ウェブサイト <3> <4>mustache(5) マニュアル <5> <6>JavaScript 実装 <7> <8>LiveCodes ドキュメント ', name: 'Mustache', }, nunjucks: { - desc: 'JavaScript 用の豊富で強力なテンプレート言語。Nunjucks は本質的に<1>jinja2のポートです。', - link: '<1> 公式ウェブサイト LiveCodes ドキュメント ', + desc: 'JavaScript 用の豊富で強力なテンプレート言語。Nunjucks は本質的に<1>jinja2のポートです。', + link: '<1> <2>公式ウェブサイト <3> <4>LiveCodes ドキュメント ', name: 'Nunjucks', }, ocaml: { @@ -209,196 +209,196 @@ const languageInfo: I18nLangInfoTranslation = { 'OCaml は、関数型、命令型、オブジェクト指向スタイルをサポートする産業用プログラミング言語です。', desc2: 'ここでは、OCaml を JavaScript にコンパイルするために ReScript コンパイラが使用されています。', - link: '<1>OCaml ウェブサイト OCaml ドキュメント ReScript ウェブサイト X分でYを学ぶ、X=OCaml スターターテンプレートを読み込む ', + link: '<1><2>OCaml ウェブサイト <3> <4>OCaml ドキュメント <5> <6>ReScript ウェブサイト <7> <8>X分でYを学ぶ、X=OCaml <9> <10>スターターテンプレートを読み込む ', name: 'OCaml', }, perl: { desc: 'Perlito を使用してブラウザで動作する Perl。', - link: '<1> Perl 公式ウェブサイト Perl ドキュメント Perlito5 Readme X分でYを学ぶ、X=perl スターターテンプレートを読み込む ', + link: '<1> <2>Perl 公式ウェブサイト <3> <4>Perl ドキュメント <5> <6>Perlito5 Readme <7> <8>X分でYを学ぶ、X=perl <9> <10>スターターテンプレートを読み込む ', name: 'Perl', }, php: { desc: 'Uniter を使用してブラウザで動作する PHP。', - link: '<1>PHP 公式ウェブサイト PHP ドキュメント Uniter GitHub リポジトリ X分でYを学ぶ、X=PHP LiveCodes ドキュメント スターターテンプレートを読み込む', + link: '<1><2>PHP 公式ウェブサイト <3> <4>PHP ドキュメント <5> <6>Uniter GitHub リポジトリ <7> <8>X分でYを学ぶ、X=PHP <9> <10>LiveCodes ドキュメント <11><12>スターターテンプレートを読み込む', name: 'PHP', }, phpWasm: { desc: 'php-wasm を使用し、WebAssembly を利用したブラウザ内の PHP。', - link: '<1>PHP 公式ウェブサイト PHP ドキュメント php-wasm GitHub リポジトリ X分でYを学ぶ、X=PHP LiveCodes ドキュメント スターターテンプレートを読み込む ', + link: '<1><2>PHP 公式ウェブサイト <3> <4>PHP ドキュメント <5> <6>php-wasm GitHub リポジトリ <7> <8>X分でYを学ぶ、X=PHP <9> <10>LiveCodes ドキュメント <11> <12>スターターテンプレートを読み込む ', name: 'PHP (Wasm)', }, postgresql: { desc: 'PGlite を使用して WASM としてパッケージ化された PostgreSQL', - link: '<1> PostgreSQL 公式ウェブサイト PostgreSQL ドキュメント PGlite GitHub リポジトリ X分でYを学ぶ、X=SQL スターターテンプレートを読み込む ', + link: '<1> <2>PostgreSQL 公式ウェブサイト <3> <4>PostgreSQL ドキュメント <5> <6>PGlite GitHub リポジトリ <7> <8>X分でYを学ぶ、X=SQL <9> <10>スターターテンプレートを読み込む ', name: 'PostgreSQL', }, prolog: { desc: 'JavaScript で書かれたオープンソースの Prolog インタプリタ。', - link: '<1> Tau Prolog 公式ウェブサイト Tau Prolog ドキュメント SWI-Prolog X分でYを学ぶ、X=Prolog スターターテンプレートを読み込む ', + link: '<1> <2>Tau Prolog 公式ウェブサイト <3> <4>Tau Prolog ドキュメント <5> <6>SWI-Prolog <7> <8>X分でYを学ぶ、X=Prolog <9> <10>スターターテンプレートを読み込む ', name: 'Tau Prolog', }, pug: { desc: '堅牢で、エレガントで、機能豊富なテンプレートエンジン。', - link: '<1> Pug ドキュメント X分でYを学ぶ、X=Pug LiveCodes ドキュメント ', + link: '<1> <2>Pug ドキュメント <3> <4>X分でYを学ぶ、X=Pug <5> <6>LiveCodes ドキュメント ', name: 'Pug', }, python: { desc: 'Brython を使用してブラウザで動作する Python。', - link: '<1> Python 公式ウェブサイト Python ドキュメント Brython ドキュメント X分でYを学ぶ、X=Python LiveCodes ドキュメント スターターテンプレートを読み込む ', + link: '<1> <2>Python 公式ウェブサイト <3> <4>Python ドキュメント <5> <6>Brython ドキュメント <7> <8>X分でYを学ぶ、X=Python <9> <10>LiveCodes ドキュメント <11> <12>スターターテンプレートを読み込む ', name: 'Python', }, pythonWasm: { desc1: 'Pyodide を使用して WebAssembly にコンパイルされた科学計算スタック付きの Python。', desc2: 'Pyodide を使用すると、NumPy、Pandas、Matplotlib、SciPy、scikit-learn などを含む Python の科学計算スタックを使用できます。さらに、PyPi からピュアな Python ホイールをインストールすることも可能です。', - link: '<1> Python 公式ウェブサイト Python ドキュメント Pyodide ドキュメント X分でYを学ぶ、X=Python LiveCodes ドキュメント スターターテンプレートを読み込む ', + link: '<1> <2>Python 公式ウェブサイト <3> <4>Python ドキュメント <5><6>Pyodide ドキュメント <7> <8>X分でYを学ぶ、X=Python <9> <10>LiveCodes ドキュメント <11> <12>スターターテンプレートを読み込む ', name: 'Python (Wasm)', }, r: { desc: 'WebRを使用してブラウザで実行されるR。', - link: '<1> Rプロジェクト公式ウェブサイト Rマニュアル Rによるデータサイエンス(第2版) WebRドキュメント X分でわかるR(X in Y minutes) LiveCodesドキュメント スターターテンプレートを読み込む ', + link: '<1> <2>Rプロジェクト公式ウェブサイト <3> <4>Rマニュアル <5> <6>Rによるデータサイエンス(第2版) <7> <8>WebRドキュメント <9> <10>X分でわかるR(X in Y minutes) <11> <12>LiveCodesドキュメント <13> <14>スターターテンプレートを読み込む ', name: 'R', }, reactNative: { desc: 'React Native for WebはReact DOMと相互運用可能なReact NativeのコンポーネントとAPIのアクセシブルな実装です。', - link: '<1> React公式ウェブサイト React Nativeウェブサイト React Native for Webウェブサイト React Nativeドキュメント LiveCodesドキュメント スターターテンプレートを読み込む ', + link: '<1> <2>React公式ウェブサイト <3> <4>React Nativeウェブサイト <5> <6>React Native for Webウェブサイト <7> <8>React Nativeドキュメント <9> <10>LiveCodesドキュメント <11> <12>スターターテンプレートを読み込む ', name: 'React Native for Web', }, reactNativeTsx: { desc: 'React Native for WebはReact DOMと相互運用可能なReact NativeのコンポーネントとAPIのアクセシブルな実装です。', - link: '<1> React公式ウェブサイト React Nativeウェブサイト React Native for Webウェブサイト React Nativeドキュメント TypeScriptウェブサイト TypeScriptドキュメント LiveCodesドキュメント スターターテンプレートを読み込む(JSX) ', + link: '<1> <2>React公式ウェブサイト <3> <4>React Nativeウェブサイト <5> <6>React Native for Webウェブサイト <7> <8>React Nativeドキュメント <9> <10>TypeScriptウェブサイト <11> <12>TypeScriptドキュメント <13> <14>LiveCodesドキュメント <15> <16>スターターテンプレートを読み込む(JSX) ', name: 'React Native for Web(TypeScript使用)', }, reason: { desc1: 'ReasonはJavaScriptとOCamlの両方のエコシステムを活用しながら、シンプルで高速かつ品質の高い型安全なコードを書くことができます。', desc2: 'ここではReasonをJavaScriptにコンパイルするためにReScriptコンパイラが使用されています。', - link: '<1>Reasonウェブサイト Reasonドキュメント ReasonReact ReScriptウェブサイト X分でわかるReason(X in Y minutes) スターターテンプレートを読み込む ', + link: '<1><2>Reasonウェブサイト <3> <4>Reasonドキュメント <5> <6>ReasonReact <7> <8>ReScriptウェブサイト <9> <10>X分でわかるReason(X in Y minutes) <11> <12>スターターテンプレートを読み込む ', name: 'Reason', }, rescript: { desc: 'ReScriptは、効率的で読みやすいJavaScriptにコンパイルされる堅牢に型付けされた言語です。', - link: '<1> ReScriptウェブサイト ReScript / React スターターテンプレートを読み込む ', + link: '<1> <2>ReScriptウェブサイト <3> <4>ReScript / React <5> <6>スターターテンプレートを読み込む ', name: 'ReScript', }, richtext: { desc1: 'Quillを使用:', desc2: '強力なリッチテキストエディター。', - link: '<1> Quill公式ウェブサイト ', + link: '<1> <2>Quill公式ウェブサイト ', name: 'リッチテキストエディター', }, riot: { desc: 'シンプルでエレガントなコンポーネントベースのUIライブラリ。', - link: '<1> Riot.js公式ウェブサイト Riot.jsドキュメント スターターテンプレートを読み込む ', + link: '<1> <2>Riot.js公式ウェブサイト <3> <4>Riot.jsドキュメント <5> <6>スターターテンプレートを読み込む ', name: 'Riot.js', }, ruby: { desc: 'Opalを使用してブラウザで実行されるRuby。', - link: '<1> Ruby公式ウェブサイト Rubyドキュメント Opal公式ウェブサイト Opal標準ライブラリCDN X分でわかるRuby(X in Y minutes) LiveCodesドキュメント スターターテンプレートを読み込む ', + link: '<1> <2>Ruby公式ウェブサイト <3> <4>Rubyドキュメント <5><6>Opal公式ウェブサイト <7> <8>Opal標準ライブラリCDN <9> <10>X分でわかるRuby(X in Y minutes) <11> <12>LiveCodesドキュメント <13> <14>スターターテンプレートを読み込む ', name: 'Ruby', }, rubyWasm: { desc: 'ruby-wasm(CRubyのWebAssemblyポートのコレクション)を使用してブラウザで実行されるRuby。', - link: '<1> Ruby公式ウェブサイト Rubyドキュメント ruby.wasmウェブサイト CRuby X分でわかるRuby(X in Y minutes) LiveCodesドキュメント スターターテンプレートを読み込む ', + link: '<1> <2>Ruby公式ウェブサイト <3> <4>Rubyドキュメント <5> <6>ruby.wasmウェブサイト <7><8>CRuby <9> <10>X分でわかるRuby(X in Y minutes) <11> <12>LiveCodesドキュメント <13> <14>スターターテンプレートを読み込む ', name: 'Ruby(WASM)', }, sass: { desc: '構文的にすばらしいスタイルシート。', - link: '<1> Sass公式ウェブサイト Sassドキュメント Sass(インデント)構文 X分でわかるSass(X in Y minutes) ', + link: '<1> <2>Sass公式ウェブサイト <3> <4>Sassドキュメント <5> <6>Sass(インデント)構文 <7> <8>X分でわかるSass(X in Y minutes) ', name: 'Sass', }, scheme: { desc: 'biwaschemeを使用してブラウザで実行されるScheme。', - link: '<1> Schemeプログラミング言語 BiwaScheme公式ウェブサイト BiwaSchemeリファレンス スターターテンプレートを読み込む ', + link: '<1> <2>Schemeプログラミング言語 <3> <4>BiwaScheme公式ウェブサイト <5> <6>BiwaSchemeリファレンス <7> <8>スターターテンプレートを読み込む ', name: 'Scheme', }, scss: { desc: '構文的にすばらしいスタイルシート。', - link: '<1> Sass公式ウェブサイト Sassドキュメント SCSS構文 X分でわかるSass(X in Y minutes) ', + link: '<1> <2>Sass公式ウェブサイト <3> <4>Sassドキュメント <5> <6>SCSS構文 <7> <8>X分でわかるSass(X in Y minutes) ', name: 'SCSS', }, solid: { desc: 'ユーザーインターフェースを構築するための宣言的、効率的、柔軟なJavaScriptライブラリ。', - link: '<1>公式ウェブサイト ドキュメント LiveCodesドキュメント スターターテンプレートを読み込む(TSX) ', + link: '<1><2>公式ウェブサイト <3><4>ドキュメント <5> <6>LiveCodesドキュメント <7> <8>スターターテンプレートを読み込む(TSX) ', name: 'Solid', tsx: { desc: 'ユーザーインターフェースを構築するための宣言的、効率的、柔軟なJavaScriptライブラリ。', - link: '<1>公式ウェブサイト Solidドキュメント TypeScriptウェブサイト TypeScriptドキュメント LiveCodesドキュメント スターターテンプレートを読み込む ', + link: '<1><2>公式ウェブサイト <3> <4>Solidドキュメント <5> <6>TypeScriptウェブサイト <7> <8>TypeScriptドキュメント <9> <10>LiveCodesドキュメント <11> <12>スターターテンプレートを読み込む ', name: 'Solid(TypeScript使用)', }, }, sql: { desc: 'SQL.js を使用して JavaScript にコンパイルされた SQLite', - link: '<1> SQLite 公式ウェブサイト SQLite 構文ドキュメント SQL.js 公式ウェブサイト X分でYを学ぶ、X=SQL スターターテンプレートを読み込む', + link: '<1> <2>SQLite 公式ウェブサイト <3> <4>SQLite 構文ドキュメント <5> <6>SQL.js 公式ウェブサイト <7> <8>X分でYを学ぶ、X=SQL <9><10>スターターテンプレートを読み込む', name: 'SQLite', }, stencil: { desc: 'Web コンポーネントと高性能 Web アプリのためのコンパイラ。', - link: '<1> Stencil 公式ウェブサイト Stencil ドキュメント スターターテンプレートを読み込む ', + link: '<1> <2>Stencil 公式ウェブサイト <3> <4>Stencil ドキュメント <5> <6>スターターテンプレートを読み込む ', name: 'Stencil', }, styleProcessors: { - link: '<1> Tailwind CSS Windi CSS UnoCSS Lightning CSS PostCSS プラグイン: Autoprefixer postcss-preset-env postcss-import-url postcss-modules ', + link: '<1> <2>Tailwind CSS <3> <4>Windi CSS <5> <6>UnoCSS <7> <8>Lightning CSS <9> <10>PostCSS プラグイン: <11> <12> <13>Autoprefixer <14> <15>postcss-preset-env <16> <17>postcss-import-url <18> <19>postcss-modules ', name: 'CSS フレームワークとプロセッサ', }, stylis: { desc: '軽量な CSS プリプロセッサ。', - link: '<1> Stylis 公式ウェブサイト ', + link: '<1> <2>Stylis 公式ウェブサイト ', name: 'Stylis', }, stylus: { desc: '表現力豊かで、動的で、堅牢な CSS。', - link: '<1> Stylus 公式ウェブサイト X分でYを学ぶ、X=stylus ', + link: '<1> <2>Stylus 公式ウェブサイト <3> <4>X分でYを学ぶ、X=stylus ', name: 'Stylus', }, sucrase: { desc: '最新の JS ランタイムをターゲットにできる場合のための、超高速な Babel の代替品。', - link: '<1> Sucrase 公式ウェブサイト Sucrase GitHub リポジトリ LiveCodes ドキュメント ', + link: '<1> <2>Sucrase 公式ウェブサイト <3> <4>Sucrase GitHub リポジトリ <5> <6>LiveCodes ドキュメント ', name: 'Sucrase', }, svelte: { desc: 'サイバネティカリーに強化された Web アプリ。', - link: '<1> Svelte 公式ウェブサイト Svelte ドキュメント スターターテンプレートを読み込む ', + link: '<1> <2>Svelte 公式ウェブサイト <3> <4>Svelte ドキュメント <5> <6>スターターテンプレートを読み込む ', name: 'Svelte', }, tcl: { - desc: '<1>waclを使用してブラウザで動作する Tcl。', - link: '<1> Tcl 公式ウェブサイト wacl リポジトリ X分でYを学ぶ、X=Tcl スターターテンプレートを読み込む ', + desc: '<1>waclを使用してブラウザで動作する Tcl。', + link: '<1> <2>Tcl 公式ウェブサイト <3> <4>wacl リポジトリ <5> <6>X分でYを学ぶ、X=Tcl <7> <8>スターターテンプレートを読み込む ', name: 'Tcl(ツール・コマンド言語)', }, teal: { desc: 'Lua の型付き方言。', - link: '<1> Teal GitHub リポジトリ Teal ドキュメント Teal チュートリアル LiveCodes ドキュメント スターターテンプレートを読み込む ', + link: '<1> <2>Teal GitHub リポジトリ <3> <4>Teal ドキュメント <5> <6>Teal チュートリアル <7> <8>LiveCodes ドキュメント <9> <10>スターターテンプレートを読み込む ', name: 'Teal', }, tsx: { desc: 'JSX での TypeScript。TSX は LiveCodes で TypeScript コンパイラを使用して JavaScript にコンパイルされます。デフォルトでは React を JSX ランタイムとして使用します。', - link: '<1> React 公式ウェブサイト React ドキュメントの JSX Typescript ドキュメント LiveCodes ドキュメント ', + link: '<1> <2>React 公式ウェブサイト <3> <4>React ドキュメントの JSX <5> <6>Typescript ドキュメント <7> <8>LiveCodes ドキュメント ', name: 'TSX', }, twig: { - desc: '<2>Twig.jsによるTwig PHP テンプレート言語の JavaScript 実装。', - link: '<1> Twig 公式ウェブサイト Twig ドキュメント Twig.js リポジトリ Twig.js ドキュメント LiveCodes ドキュメント ', + desc: '<2>Twig.jsによる<1>Twig PHP テンプレート言語の JavaScript 実装。', + link: '<1> <2>Twig 公式ウェブサイト <3> <4>Twig ドキュメント <5> <6>Twig.js リポジトリ <7> <8>Twig.js ドキュメント <9> <10>LiveCodes ドキュメント ', name: 'Twig', }, typescript: { desc: 'JavaScript の型付きスーパーセット。', - link: '<1> 公式ウェブサイト TypeScript ドキュメント X分でYを学ぶ、X=TypeScript スターターテンプレートを読み込む ', + link: '<1> <2>公式ウェブサイト <3> <4>TypeScript ドキュメント <5> <6>X分でYを学ぶ、X=TypeScript <7> <8>スターターテンプレートを読み込む ', name: 'TypeScript', }, vue: { - link: '<1> Vue.js v3 公式ウェブサイト Vue3 ドキュメント Vue3 単一ファイルコンポーネント LiveCodes ドキュメント スターターテンプレートを読み込む', + link: '<1> <2>Vue.js v3 公式ウェブサイト <3> <4>Vue3 ドキュメント <5> <6>Vue3 単一ファイルコンポーネント <7> <8>LiveCodes ドキュメント <9><10>スターターテンプレートを読み込む', name: 'Vue3 単一ファイルコンポーネント', }, vue2: { desc: 'vue3-sfc-loader を使用して読み込みます。', - link: '<1>Vue.js 公式ウェブサイト Vue2 ドキュメント Vue2 単一ファイルコンポーネント vue3-sfc-loader GitHub リポジトリ LiveCodes ドキュメント ', + link: '<1><2>Vue.js 公式ウェブサイト <3> <4>Vue2 ドキュメント <5> <6>Vue2 単一ファイルコンポーネント <7> <8>vue3-sfc-loader GitHub リポジトリ <9> <10>LiveCodes ドキュメント ', name: 'Vue2 単一ファイルコンポーネント', }, wat: { desc1: 'WebAssembly(wasm)バイナリフォーマットの低レベルテキスト表現。', desc2: 'wabt.js を使用して wasm に変換されます。', - link: '<1>WebAssembly.org WebAssembly テキスト仕様 MDN の WebAssembly WebAssembly テキストフォーマットの理解 wabt.js ドキュメント X分でYを学ぶ、X=WebAssembly スターターテンプレートを読み込む', + link: '<1><2>WebAssembly.org <3> <4>WebAssembly テキスト仕様 <5> <6>MDN の WebAssembly <7> <8>WebAssembly テキストフォーマットの理解 <9> <10>wabt.js ドキュメント <11> <12>X分でYを学ぶ、X=WebAssembly <13><14>スターターテンプレートを読み込む', name: 'WebAssembly テキストフォーマット', }, }; diff --git a/src/livecodes/i18n/locales/ja/translation.ts b/src/livecodes/i18n/locales/ja/translation.ts index f28746c75..eba651e22 100644 --- a/src/livecodes/i18n/locales/ja/translation.ts +++ b/src/livecodes/i18n/locales/ja/translation.ts @@ -14,9 +14,9 @@ const translation: I18nTranslation = { heading: 'LiveCodesについて', livecodes: { para1: - '<1>LiveCodesは、オープンソース機能豊富クライアントサイドのコードプレイグラウンドです。現在、80以上の言語/フレームワークをサポートしています。スタンドアロンアプリとして使用することも、任意のWebページに埋め込むこともできます。プレイグラウンドにコードをプリフィルする方法は多数あります。', + '<1><2>LiveCodesは、<3>オープンソースで<4>機能豊富な<5>クライアントサイドのコードプレイグラウンドです。現在、<6>80以上の言語/<7>フレームワークをサポートしています。スタンドアロンアプリとして使用することも、任意のWebページに<8>埋め込むこともできます。プレイグラウンドに<9>コードをプリフィルする方法は多数あります。', para2: - '幅広い<1>設定オプションにより、非常に柔軟性があります。強力なSDKJS/TSReactVueSvelte用)により、プレイグラウンドの埋め込み通信が容易になります。コードサンプル、ライブデモ、スクリーンショットを含む包括的なドキュメントが利用可能です。', + '幅広い<1>設定オプションにより、非常に柔軟性があります。強力な<2>SDK(<3>JS/TS、<4>React、<5>Vue、<6>Svelte用)により、プレイグラウンドの<7>埋め込みと<8>通信が容易になります。コードサンプル、ライブデモ、スクリーンショットを含む<9>包括的なドキュメントが利用可能です。', }, version: { app: 'アプリバージョン: {{APP_VERSION}}', @@ -28,6 +28,9 @@ const translation: I18nTranslation = { }, }, app: { + consoleMessage: { + learnMore: '詳細はこちら! {{docsUrl}} 🚀', + }, copy: { hint: 'コピー (Ctrl/Cmd + A, Ctrl/Cmd + C)', }, @@ -81,12 +84,12 @@ const translation: I18nTranslation = { assets: { add: { dataURL: { - desc: 'アセットをBase64エンコードされた<1>データURLとして追加します。', + desc: 'アセットをBase64エンコードされた<1>データURLとして追加します。', heading: 'データURL', label: 'ファイルを追加', }, githubPages: { - desc: 'アセットをGitHub Pagesにデプロイします。ファイルはあなたのGitHubアカウントの<2>livecodes-assetsリポジトリのgh-pagesブランチにプッシュされます。リポジトリがまだ存在しない場合は、公開リポジトリが作成されます。', + desc: 'アセットをGitHub Pagesにデプロイします。ファイルはあなたのGitHubアカウントの<2>livecodes-assetsリポジトリの<1>gh-pagesブランチにプッシュされます。リポジトリがまだ存在しない場合は、公開リポジトリが作成されます。', heading: 'GitHub Pages', label: 'ファイルをアップロード', }, @@ -157,7 +160,7 @@ const translation: I18nTranslation = { backup: { assets: 'アセット', button: 'バックアップ', - desc: 'LiveCodesのデータをバックアップして、後でこのデバイスや他のデバイスで復元できるようにします。<1>詳細についてはドキュメントをご覧ください。', + desc: 'LiveCodesのデータをバックアップして、後でこのデバイスや他のデバイスで復元できるようにします。<1>詳細については<2>ドキュメントをご覧ください。', heading: 'バックアップ', projects: 'プロジェクト', settings: 'ユーザー設定', @@ -173,7 +176,7 @@ const translation: I18nTranslation = { heading: 'バックアップ / 復元', inProgress: '進行中...', restore: { - desc: '以前にバックアップしたLiveCodesデータを復元します。<1>現在のコンテンツを置き換える場合は、先にバックアップを取ることをお勧めします。詳細についてはドキュメントをご覧ください。', + desc: '以前にバックアップしたLiveCodesデータを復元します。<1>現在のコンテンツを置き換える場合は、先にバックアップを取ることをお勧めします。<2>詳細については<3>ドキュメントをご覧ください。', fromFile: 'ファイルから復元', heading: '復元', mode: { @@ -191,7 +194,7 @@ const translation: I18nTranslation = { broadcasting: '配信中...', channelURL: 'チャンネルURL', connecting: '接続中...', - desc: '結果ページを他のブラウザやデバイスにリアルタイムで配信します。詳細については<1>ドキュメントをご覧ください。', + desc: '結果ページを他のブラウザやデバイスにリアルタイムで配信します。詳細については<1>ドキュメントをご覧ください。', error: { generic: '配信に失敗しました!', serverURLRequired: 'サーバーURLが必要です!', @@ -291,9 +294,9 @@ const translation: I18nTranslation = { }, deploy: { create: { - desc: '新しい<1>公開リポジトリが作成されます。結果ページはgh-pagesブランチにプッシュされます。', + desc: '新しい<1>公開リポジトリが作成されます。結果ページは<2>gh-pagesブランチにプッシュされます。', heading: '新しいリポジトリを作成', - repoName: 'リポジトリ名 <1>', + repoName: 'リポジトリ名 <1>', }, error: { generic: 'デプロイに失敗しました!', @@ -301,7 +304,7 @@ const translation: I18nTranslation = { repoNameRequired: 'リポジトリ名は必須です', }, existing: { - desc: '新しいコミットが<1>gh-pagesブランチに追加されます。', + desc: '新しいコミットが<1>gh-pagesブランチに追加されます。', heading: '既存のリポジトリ', repoName: 'リポジトリ名', }, @@ -322,7 +325,7 @@ const translation: I18nTranslation = { closeBrackets: '括弧と引用符を自動的に閉じる', codeJarDesc: '* マークされた機能はCodeJarでは利用できません。', default: 'デフォルト', - desc: '詳細については<1>ドキュメントをご確認ください。', + desc: '詳細については<1>ドキュメントをご確認ください。', editor: { codejar: 'CodeJar', codemirror: 'CodeMirror', @@ -338,7 +341,7 @@ const translation: I18nTranslation = { emmet: 'Emmetを有効化 *', enableAI: { heading: 'AIコードアシスタントを有効化', - note: '提供: <1>', + note: '提供: <1><2>', }, fontFamily: 'フォントファミリー', fontSize: 'フォントサイズ', @@ -376,7 +379,7 @@ const translation: I18nTranslation = { copy: 'コードをコピー', heading: 'コード', }, - desc: '高度な設定については<1>ドキュメントをご確認ください。', + desc: '高度な設定については<1>ドキュメントをご確認ください。', embedType: { cdn: 'スクリプト(CDN)', heading: '埋め込みタイプ', @@ -447,17 +450,18 @@ const translation: I18nTranslation = { more: 'もっと見る...', optional: '任意', required: '必須', + tagline: 'シンプルに動作するコードの遊び場!', }, import: { bulk: { - desc: '複数のプロジェクトを一括で保存済みプロジェクトにインポートします。プロジェクトは<1>保存済みプロジェクト画面からエクスポートできます。', + desc: '複数のプロジェクトを一括で保存済みプロジェクトにインポートします。プロジェクトは<1>保存済みプロジェクト画面からエクスポートできます。', fromFile: 'ローカルファイルから一括インポート', fromURL: 'URLから一括インポート', heading: '一括インポート', started: '一括インポートを開始しました...', }, code: { - desc: 'サポートされているソース:<1> GitHub gist GitHubファイル GitHubリポジトリ内のディレクトリ Gitlab snippet Gitlabファイル Gitlabリポジトリ内のディレクトリ JS Bin 生のコード Webページ内のDOM内のコード ZIPファイル内のコード 公式プレイグラウンド(TypeScript、Vue、Svelte) 詳細についてはドキュメントをご覧ください。', + desc: 'サポートされているソース:<1> <2>GitHub gist <3>GitHubファイル <4>GitHubリポジトリ内のディレクトリ <5>Gitlab snippet <6>Gitlabファイル <7>Gitlabリポジトリ内のディレクトリ <8>JS Bin <9>生のコード <10>Webページ内のDOM内のコード <11>ZIPファイル内のコード <12>公式プレイグラウンド<13>(TypeScript、Vue、Svelte) 詳細については<14>ドキュメントをご覧ください。', fromFile: 'ローカルファイルをインポート', fromURL: 'URLからインポート', heading: 'コードのインポート', @@ -482,7 +486,7 @@ const translation: I18nTranslation = { }, login: { accessAllowed: 'アクセスを許可:', - desc: '<1>ログインすることで、お使いのデバイスにクッキーが保存されることに同意したものとみなされます。 これらの権限が必要な理由は? 権限の変更/取り消し方法は? ', + desc: '<1>ログインすることで、お使いのデバイスに<2>クッキーが保存されることに同意したものとみなされます。 <3> <4>これらの権限が必要な理由は? <5> <6>権限の変更/取り消し方法は? ', gist: 'Gist', heading: 'GitHubでログイン', loginAs: '{{name}}としてログイン中', @@ -500,7 +504,7 @@ const translation: I18nTranslation = { broadcast: '配信 …', customSettings: 'カスタム設定 …', delay: { - heading: '遅延: <1>1.5秒', + heading: '遅延: <1>1.5秒', hint: '自動更新前の遅延', }, deploy: 'デプロイ …', @@ -537,7 +541,7 @@ const translation: I18nTranslation = { hint: 'Alt/Optionキーを押しながら結果ページにカーソルを合わせてください', }, snippets: 'コードスニペット …', - sync: '同期(ベータ) … <1> ⏳', + sync: '同期(ベータ) … <1> ⏳', theme: 'ダークテーマ', welcome: { heading: 'ようこそ …', @@ -590,11 +594,11 @@ const translation: I18nTranslation = { recoverPrompt: { desc: '最後のプロジェクトに未保存の変更があります!', heading: '未保存のプロジェクトを復元しますか?', - meta: 'タイトル: <1> 最終更新: ', + meta: 'タイトル: <1> <2> 最終更新: <3>', notShowAgain: '今後表示しない。', prompt: { discard: '未保存のプロジェクトを破棄', - heading: '<1>今すぐ復元しますか?', + heading: '<1>今すぐ復元しますか?', recover: 'プロジェクトをエディターに復元', save: 'デバイスに保存して続行', }, @@ -613,13 +617,13 @@ const translation: I18nTranslation = { }, fonts: { add: '追加', - heading: 'フォント <1>(Google Fontsを利用)', + heading: 'フォント <1>(Google Fontsを利用)', select: 'フォントを選択...', }, heading: '外部リソース', scripts: '外部スクリプト', search: { - heading: 'パッケージを検索 <1>(jsDelivrを利用)', + heading: 'パッケージを検索 <1>(jsDelivrを利用)', placeholder: '例:jquery, lodash@4, bootstrap@5.2.3, ...', }, stylesheets: '外部スタイルシート', @@ -630,7 +634,7 @@ const translation: I18nTranslation = { prompt: { cancel: 'キャンセル', discard: '保存しない', - heading: '変更が保存されていない可能性があります。<1>今すぐ保存しますか?', + heading: '変更が保存されていない可能性があります。<1>今すぐ保存しますか?', save: '保存', }, }, @@ -728,7 +732,7 @@ const translation: I18nTranslation = { sync: { autoSync: '自動同期', create: { - desc: '新しい<1>プライベートリポジトリが作成されます。LiveCodesのローカルデータはmainブランチと同期されます。', + desc: '新しい<1>プライベートリポジトリが作成されます。LiveCodesのローカルデータは<2>mainブランチと同期されます。', heading: '新しいリポジトリを作成', repoName: 'リポジトリ名', }, @@ -737,7 +741,7 @@ const translation: I18nTranslation = { repoNameRequired: 'リポジトリ名は必須です', }, existing: { - desc: 'LiveCodesのローカルデータは<1>mainブランチと同期されます。', + desc: 'LiveCodesのローカルデータは<1>mainブランチと同期されます。', heading: '既存のリポジトリ', repoName: 'リポジトリ名', }, @@ -751,7 +755,7 @@ const translation: I18nTranslation = { templates: { heading: '新規プロジェクト', noUserTemplates: { - desc: 'プロジェクトをテンプレートとして保存するには、<1>(アプリメニュー > 別名で保存 > テンプレート)から行えます。', + desc: 'プロジェクトをテンプレートとして保存するには、<1>(アプリメニュー > 別名で保存 > テンプレート)から行えます。', heading: '保存されたテンプレートはありません。', }, starter: { @@ -838,16 +842,16 @@ const translation: I18nTranslation = { }, test: { edit: '編集', - error: '<1>テストエラー!', - loading: '<1>テストを読み込み中...', - noTest: '<1>このプロジェクトにはテストがありません!', + error: '<1><2>テストエラー!', + loading: '<1>テストを読み込み中...', + noTest: '<1>このプロジェクトにはテストがありません!', reset: 'リセット', run: { desc: 'Ctrl/Cmd + Alt + T', heading: '実行', }, summary: { - desc: 'テスト: {{failed}}\n {{passed}}\n {{skipped}}\n {{total}}<1>\n時間: {{duration}}秒', + desc: 'テスト: {{failed}}\n {{passed}}\n {{skipped}}\n {{total}}<1>\n時間: {{duration}}秒', failed: '{{failedNum}} 失敗', passed: '{{passedNum}} 成功', skipped: '{{skippedNum}} スキップ', @@ -872,7 +876,7 @@ const translation: I18nTranslation = { recover: { cancel: 'キャンセル', heading: '復元', - lastModified: '最終更新: <1>', + lastModified: '最終更新: <1>', recover: '復元', save: '保存', unsavedChanges: '最後のプロジェクトに未保存の変更があります:', diff --git a/src/livecodes/i18n/locales/pt/language-info.ts b/src/livecodes/i18n/locales/pt/language-info.ts index 0b7cb59e6..a1702e85e 100644 --- a/src/livecodes/i18n/locales/pt/language-info.ts +++ b/src/livecodes/i18n/locales/pt/language-info.ts @@ -5,399 +5,399 @@ import type { I18nLangInfoTranslation } from '../models'; const languageInfo: I18nLangInfoTranslation = { artTemplate: { desc: 'Mecanismo de modelagem JavaScript de alto desempenho.', - link: '<1> Site oficial do art-template Documentação do art-template ', + link: '<1> <2>Site oficial do art-template <3> <4>Documentação do art-template ', name: 'art-template', }, asciidoc: { desc: 'AsciiDoc compilado para HTML usando Asciidoctor.', - link: '<1> Site oficial do AsciiDoc Site oficial do Asciidoctor Documentação do Asciidoctor Aprenda X em Y minutos, onde X=asciidoc ', + link: '<1> <2>Site oficial do AsciiDoc <3> <4>Site oficial do Asciidoctor <5> <6>Documentação do Asciidoctor <7> <8>Aprenda X em Y minutos, onde X=asciidoc ', name: 'AsciiDoc', }, assemblyscript: { desc: 'Uma linguagem semelhante ao TypeScript para WebAssembly.', - link: '<1> Site oficial do AssemblyScript Documentação do AssemblyScript Carregar modelo inicial ', + link: '<1> <2>Site oficial do AssemblyScript <3> <4>Documentação do AssemblyScript <5> <6>Carregar modelo inicial ', name: 'AssemblyScript', }, astro: { desc: 'Construa sites mais rápidos com menos Javascript do lado do cliente. (Ainda em Beta)', - link: '<1> Site oficial do Astro Documentação do Astro Carregar modelo inicial ', + link: '<1> <2>Site oficial do Astro <3> <4>Documentação do Astro <5> <6>Carregar modelo inicial ', name: 'Astro', }, babel: { desc: 'O compilador JavaScript', - link: '<1>Site oficial Documentação do Babel ', + link: '<1><2>Site oficial <3> <4>Documentação do Babel ', name: 'Babel', }, bbcode: { desc: 'BBCode ("Bulletin Board Code") é uma linguagem de marcação leve usada para formatar mensagens em muitos softwares de fóruns da Internet.', - link: '<1>bbcode.org Guia do BBCode BBCode na Wikipedia ', + link: '<1><2>bbcode.org <3> <4>Guia do BBCode <5> <6>BBCode na Wikipedia ', name: 'BBCode', }, blockly: { desc: 'Uma biblioteca JavaScript para construir editores de programação visual.', - link: '<1> Site oficial Guias Referência Exemplos Carregar modelo inicial ', + link: '<1> <2>Site oficial <3> <4>Guias <5> <6>Referência <7> <8>Exemplos <9> <10>Carregar modelo inicial ', name: 'Blockly', }, civet: { desc: 'Civet é uma linguagem de programação que compila para TypeScript ou JavaScript, permitindo que você use ferramentas existentes, mas habilite uma sintaxe concisa e poderosa.', - link: '<1> Site oficial do Civet Folha de dicas do Civet Carregar modelo inicial ', + link: '<1> <2>Site oficial do Civet <3> <4>Folha de dicas do Civet <5> <6>Carregar modelo inicial ', name: 'Civet', }, clio: { desc: 'Clio é uma linguagem de programação funcional rápida e distribuída que compila para JavaScript.', - link: '<1> Site oficial do Clio Documentação do Clio Carregar modelo inicial ', + link: '<1> <2>Site oficial do Clio <3> <4>Documentação do Clio <5> <6>Carregar modelo inicial ', name: 'Clio', }, clojurescript: { - desc: 'ClojureScript é um compilador para <1>Clojure que tem como alvo JavaScript. No LiveCodes, ele é executado no navegador usando Cherry.', - link: '<1> Site oficial do ClojureScript Site oficial do Clojure Repositório do Cherry Aprenda X em Y minutos, onde X=clojure Documentação do LiveCodes Carregar modelo inicial ', + desc: 'ClojureScript é um compilador para <1>Clojure que tem como alvo JavaScript. <2>No LiveCodes, ele é executado no navegador usando <3>Cherry.', + link: '<1> <2>Site oficial do ClojureScript <3> <4>Site oficial do Clojure <5> <6>Repositório do Cherry <7> <8>Aprenda X em Y minutos, onde X=clojure <9> <10>Documentação do LiveCodes <11> <12>Carregar modelo inicial ', name: 'ClojureScript (CLJS)', }, coffeescript: { desc: 'JavaScript sem frescura.', - link: '<1> Site oficial do CoffeeScript Aprenda X em Y minutos, onde X=coffeescript Carregar modelo inicial ', + link: '<1> <2>Site oficial do CoffeeScript <3> <4>Aprenda X em Y minutos, onde X=coffeescript <5> <6>Carregar modelo inicial ', name: 'CoffeeScript', }, commonlisp: { desc: 'Uma implementação de Common Lisp em Javascript usando JSCL (um compilador Lisp-para-Javascript inicializado a partir do Common Lisp).', - link: '<1> Common-Lisp.net Projeto JSCL Recursos do Common Lisp Aprenda X em Y minutos, onde X=Common Lisp Carregar modelo inicial ', + link: '<1> <2>Common-Lisp.net <3> <4>Projeto JSCL <5> <6>Recursos do Common Lisp <7> <8>Aprenda X em Y minutos, onde X=Common Lisp <9> <10>Carregar modelo inicial ', name: 'Common Lisp', }, cpp: { desc1: 'Suporte a C++ usando JSCPP (um interpretador C++ simples escrito em JavaScript).', desc2: - 'Não é uma implementação completa de C++. Por favor, consulte a <1>documentação do JSCPP para detalhes.', - link: '<1> Fundação C++ Padrão JSCPP Aprenda X em Y minutos, onde X=C++ Carregar modelo inicial ', + 'Não é uma implementação completa de C++. Por favor, consulte a <1>documentação do JSCPP para detalhes.', + link: '<1> <2>Fundação C++ Padrão <3> <4>JSCPP <5> <6>Aprenda X em Y minutos, onde X=C++ <7> <8>Carregar modelo inicial ', name: 'C++', }, cppWasm: { - desc: 'Compilador Clang C/C++ rodando em WebAssembly, usando <1>wasm-clang adaptado por polylang.io.', - link: '<1> Fundação C++ Padrão Site oficial do Clang Aprenda X em Y minutos, onde X=C++ Carregar modelo inicial ', + desc: 'Compilador Clang C/C++ rodando em WebAssembly, usando <1>wasm-clang adaptado por <2>polylang.io.', + link: '<1> <2>Fundação C++ Padrão <3> <4>Site oficial do Clang <5> <6>Aprenda X em Y minutos, onde X=C++ <7> <8>Carregar modelo inicial ', name: 'C/C++ (Wasm)', }, diagrams: { desc1: '(Experimental)', desc2: 'Diagramas como código. Suporta:', desc3: - '<1> Cytoscape ELK (usando elkjs) Gnuplot (usando gnuplot-JS) Graphviz (usando @hpcc-js/wasm) Mermaid Nomnoml Pintora Plotly Svgbob Vega VegaLite WaveDrom ', - link: '<1> Carregar modelo inicial Documentação do LiveCodes ', + '<1> <2>Cytoscape <3> <4>ELK (usando <5>elkjs) <6> <7>Gnuplot (usando <8>gnuplot-JS) <9> <10>Graphviz (usando <11>@hpcc-js/wasm) <12> <13>Mermaid <14> <15>Nomnoml <16> <17>Pintora <18> <19>Plotly <20> <21>Svgbob <22> <23>Vega <24> <25>VegaLite <26> <27>WaveDrom ', + link: '<1> <2>Carregar modelo inicial <3> <4>Documentação do LiveCodes ', name: 'Diagramas', }, dot: { desc: 'O mecanismo de modelo javascript mais rápido + conciso para Node.js e navegadores.', - link: '<1> Site oficial Documentação do LiveCodes ', + link: '<1> <2>Site oficial <3> <4>Documentação do LiveCodes ', name: 'doT.js', }, ejs: { desc: 'Modelagem JavaScript incorporada.', - link: '<1>Site oficial Documentação do LiveCodes ', + link: '<1><2>Site oficial <3> <4>Documentação do LiveCodes ', name: 'EJS', }, eta: { desc: 'Motor de modelo JS incorporado para Node, Deno e o navegador. Leve, rápido e plugável. Escrito em TypeScript.', - link: '<1>Site oficial Documentação Documentação do LiveCodes ', + link: '<1><2>Site oficial <3> <4>Documentação <5> <6>Documentação do LiveCodes ', name: 'Eta', }, fennel: { desc: 'Fennel é uma linguagem de programação que une a velocidade, simplicidade e alcance do Lua com a flexibilidade de uma sintaxe lisp e sistema de macros.', - link: '<1> Site oficial do Fennel Começando com Fennel Documentação do LiveCodes Carregar modelo inicial ', + link: '<1> <2>Site oficial do Fennel <3> <4>Começando com Fennel <5> <6>Documentação do LiveCodes <7> <8>Carregar modelo inicial ', name: 'Fennel', }, flow: { desc: 'Flow é um verificador de tipo estático para JavaScript.', - link: '<1> Site oficial do Flow Documentação do Flow ', + link: '<1> <2>Site oficial do Flow <3> <4>Documentação do Flow ', name: 'Flow', }, gleam: { desc1: 'Gleam é uma linguagem amigável para construir sistemas seguros de tipos que escalam!', desc2: 'Gleam é uma linguagem de programação funcional com tipagem estática, que compila para Erlang ou JavaScript.', - link: '<1>Site do Gleam Documentação do Gleam Tour pela linguagem Gleam Carregar modelo inicial ', + link: '<1><2>Site do Gleam <3> <4>Documentação do Gleam <5> <6>Tour pela linguagem Gleam <7> <8>Carregar modelo inicial ', name: 'Gleam', }, go: { desc1: 'Go (Golang) é uma linguagem de programação de código aberto que torna fácil construir software simples, confiável e eficiente.', desc2: 'Aqui, é compilado para JavaScript usando GopherJS.', - link: '<1>Site do Go Documentação do Go Repositório do GopherJS Aprenda X em Y minutos, onde X=Go Carregar modelo inicial', + link: '<1><2>Site do Go <3><4>Documentação do Go <5> <6>Repositório do GopherJS <7> <8>Aprenda X em Y minutos, onde X=Go <9><10>Carregar modelo inicial', name: 'Go', }, haml: { desc: 'Compilador Haml para modelos de visualização JavaScript do lado do cliente usando clientside-haml-js.', - link: '<1>Site oficial do Haml Documentação do Haml Repositório GitHub do clientside-haml-js Aprenda X em Y minutos, onde X=haml Documentação do LiveCodes ', + link: '<1><2>Site oficial do Haml <3> <4>Documentação do Haml <5> <6>Repositório GitHub do clientside-haml-js <7> <8>Aprenda X em Y minutos, onde X=haml <9> <10>Documentação do LiveCodes ', name: 'Haml', }, handlebars: { desc: 'Modelagem mínima com esteroides.', - link: '<1>Site oficial Documentação do LiveCodes ', + link: '<1><2>Site oficial <3> <4>Documentação do LiveCodes ', name: 'Handlebars', }, imba: { desc: 'A linguagem amigável full-stack.', - link: '<1>Site oficial', + link: '<1><2>Site oficial', name: 'Imba', }, jsx: { desc: 'JSX é compilado para JavaScript no LiveCodes usando o Compilador TypeScript. Por padrão, ele usa React como o runtime JSX.', - link: '<1> Site oficial do React Documentação JSX no React Documentação do LiveCodes Carregar modelo inicial ', + link: '<1> <2>Site oficial do React <3> <4>Documentação JSX no React <5> <6>Documentação do LiveCodes <7> <8>Carregar modelo inicial ', name: 'JSX', }, julia: { desc1: '(O suporte à linguagem Julia no LiveCodes ainda é experimental)', desc2: - 'Compilador Julia e Julia Base rodando em WASM, usando <1>julia-wasm adaptado por polylang.io.', - link: '<1> Site oficial do Julia Documentação do Julia Aprenda X em Y minutos, onde X=Julia Carregar modelo inicial ', + 'Compilador Julia e Julia Base rodando em WASM, usando <1>julia-wasm adaptado por <2>polylang.io.', + link: '<1> <2>Site oficial do Julia <3> <4>Documentação do Julia <5> <6>Aprenda X em Y minutos, onde X=Julia <7> <8>Carregar modelo inicial ', name: 'Julia', }, less: { desc: 'É CSS, com um pouco mais.', - link: '<1>Site oficial do Less Aprenda X em Y minutos, onde X=less ', + link: '<1><2>Site oficial do Less <3> <4>Aprenda X em Y minutos, onde X=less ', name: 'Less', }, liquid: { desc: 'Um mecanismo de modelo simples, expressivo e seguro.', - link: '<1> Site oficial do LiquidJS Documentação do LiquidJS Documentação do LiveCodes ', + link: '<1> <2>Site oficial do LiquidJS <3> <4>Documentação do LiquidJS <5> <6>Documentação do LiveCodes ', name: 'LiquidJS', }, livescript: { desc: 'Uma linguagem que compila para JavaScript.', - link: '<1> Site oficial do LiveScript Aprenda X em Y minutos, onde X=LiveScript Carregar modelo inicial ', + link: '<1> <2>Site oficial do LiveScript <3> <4>Aprenda X em Y minutos, onde X=LiveScript <5> <6>Carregar modelo inicial ', name: 'LiveScript', }, lua: { desc: 'Lua rodando no navegador usando fengari-web.', - link: '<1>Site oficial do Lua Documentação do Lua Site oficial do Fengari Repositório GitHub do fengari-web Aprenda X em Y minutos, onde X=Lua Documentação do LiveCodes Carregar modelo inicial', + link: '<1><2>Site oficial do Lua <3> <4>Documentação do Lua <5> <6>Site oficial do Fengari <7> <8>Repositório GitHub do fengari-web <9> <10>Aprenda X em Y minutos, onde X=Lua <11> <12>Documentação do LiveCodes <13><14>Carregar modelo inicial', name: 'Lua', }, luaWasm: { desc: 'Lua rodando no navegador usando Wasmoon, uma VM lua 5.4 real com ligações JS feitas com WebAssembly.', - link: '<1>Site oficial do Lua Documentação do Lua Repositório GitHub do Wasmoon Aprenda X em Y minutos, onde X=Lua Documentação do LiveCodes Carregar modelo inicial ', + link: '<1><2>Site oficial do Lua <3> <4>Documentação do Lua <5> <6>Repositório GitHub do Wasmoon <7> <8>Aprenda X em Y minutos, onde X=Lua <9> <10>Documentação do LiveCodes <11> <12>Carregar modelo inicial ', name: 'Lua (Wasm)', }, malina: { desc: 'Compilador frontend, inspirado no Svelte.', - link: '<1> Repositório do Malina.js Documentação do Malina.js Carregar modelo inicial ', + link: '<1> <2>Repositório do Malina.js <3> <4>Documentação do Malina.js <5> <6>Carregar modelo inicial ', name: 'Malina.js', }, markdown: { desc: 'Markdown compilado para HTML usando Marked.', - link: '<1> Site oficial do Markdown Documentação do Marked Aprenda X em Y minutos, onde X=markdown Carregar modelo inicial ', + link: '<1> <2>Site oficial do Markdown <3> <4>Documentação do Marked <5> <6>Aprenda X em Y minutos, onde X=markdown <7> <8>Carregar modelo inicial ', name: 'Markdown', }, mdx: { - desc: 'Markdown para a era dos componentes. <1>MDX permite que você escreva JSX perfeitamente em seus documentos Markdown.', - link: '<1>Documentação do MDX Carregar modelo inicial', + desc: 'Markdown para a era dos componentes. <1>MDX permite que você escreva JSX perfeitamente em seus documentos Markdown.', + link: '<1><2>Documentação do MDX <3><4>Carregar modelo inicial', name: 'MDX', }, mjml: { desc: 'MJML é uma linguagem de marcação projetada para reduzir o trabalho de codificar um e-mail responsivo.', - link: '<1>Site oficial do MJML Documentação do MJML Modelos oficiais do MJML Documentação do LiveCodes ', + link: '<1><2>Site oficial do MJML <3> <4>Documentação do MJML <5> <6>Modelos oficiais do MJML <7> <8>Documentação do LiveCodes ', name: 'MJML', }, mustache: { desc: 'Modelos sem lógica.', - link: '<1> Site oficial Manual mustache(5) Implementação JavaScript Documentação do LiveCodes ', + link: '<1> <2>Site oficial <3> <4>Manual mustache(5) <5> <6>Implementação JavaScript <7> <8>Documentação do LiveCodes ', name: 'Mustache', }, nunjucks: { - desc: 'Uma linguagem de modelagem rica e poderosa para JavaScript. Nunjucks é essencialmente uma adaptação do <1>jinja2.', - link: '<1> Site oficial Documentação do LiveCodes ', + desc: 'Uma linguagem de modelagem rica e poderosa para JavaScript. Nunjucks é essencialmente uma adaptação do <1>jinja2.', + link: '<1> <2>Site oficial <3> <4>Documentação do LiveCodes ', name: 'Nunjucks', }, ocaml: { desc1: 'OCaml é uma linguagem de programação de nível industrial que suporta estilos funcionais, imperativos e orientados a objetos.', desc2: 'O compilador ReScript é usado aqui para compilar OCaml para JavaScript.', - link: '<1>Site do OCaml Documentação do OCaml Site do ReScript Aprenda X em Y minutos, onde X=OCaml Carregar modelo inicial ', + link: '<1><2>Site do OCaml <3> <4>Documentação do OCaml <5> <6>Site do ReScript <7> <8>Aprenda X em Y minutos, onde X=OCaml <9> <10>Carregar modelo inicial ', name: 'OCaml', }, perl: { desc: 'Perl rodando no navegador usando Perlito.', - link: '<1> Site oficial do Perl Documentação do Perl Readme do Perlito5 Aprenda X em Y minutos, onde X=perl Carregar modelo inicial ', + link: '<1> <2>Site oficial do Perl <3> <4>Documentação do Perl <5> <6>Readme do Perlito5 <7> <8>Aprenda X em Y minutos, onde X=perl <9> <10>Carregar modelo inicial ', name: 'Perl', }, php: { desc: 'PHP rodando no navegador usando Uniter.', - link: '<1>Site oficial do PHP Documentação do PHP Repositório GitHub do Uniter Aprenda X em Y minutos, onde X=PHP Documentação do LiveCodes Carregar modelo inicial', + link: '<1><2>Site oficial do PHP <3> <4>Documentação do PHP <5> <6>Repositório GitHub do Uniter <7> <8>Aprenda X em Y minutos, onde X=PHP <9> <10>Documentação do LiveCodes <11><12>Carregar modelo inicial', name: 'PHP', }, phpWasm: { desc: 'PHP no navegador, alimentado por WebAssembly, usando php-wasm.', - link: '<1>Site oficial do PHP Documentação do PHP Repositório GitHub do php-wasm Aprenda X em Y minutos, onde X=PHP Documentação do LiveCodes Carregar modelo inicial ', + link: '<1><2>Site oficial do PHP <3> <4>Documentação do PHP <5> <6>Repositório GitHub do php-wasm <7> <8>Aprenda X em Y minutos, onde X=PHP <9> <10>Documentação do LiveCodes <11> <12>Carregar modelo inicial ', name: 'PHP (Wasm)', }, postgresql: { desc: 'PostgreSQL empacotado como WASM usando PGlite', - link: '<1> Site oficial do PostgreSQL Documentação do PostgreSQL Repositório GitHub do PGlite Aprenda X em Y minutos, onde X=SQL Carregar modelo inicial ', + link: '<1> <2>Site oficial do PostgreSQL <3> <4>Documentação do PostgreSQL <5> <6>Repositório GitHub do PGlite <7> <8>Aprenda X em Y minutos, onde X=SQL <9> <10>Carregar modelo inicial ', name: 'PostgreSQL', }, prolog: { desc: 'Um interpretador Prolog de código aberto em JavaScript.', - link: '<1> Site oficial do Tau Prolog Documentação do Tau Prolog SWI-Prolog Aprenda X em Y minutos, onde X=Prolog Carregar modelo inicial ', + link: '<1> <2>Site oficial do Tau Prolog <3> <4>Documentação do Tau Prolog <5> <6>SWI-Prolog <7> <8>Aprenda X em Y minutos, onde X=Prolog <9> <10>Carregar modelo inicial ', name: 'Tau Prolog', }, pug: { desc: 'Motor de modelo robusto, elegante e rico em recursos.', - link: '<1> Documentação do Pug Aprenda X em Y minutos, onde X=Pug Documentação do LiveCodes ', + link: '<1> <2>Documentação do Pug <3> <4>Aprenda X em Y minutos, onde X=Pug <5> <6>Documentação do LiveCodes ', name: 'Pug', }, python: { desc: 'Python rodando no navegador usando Brython.', - link: '<1> Site oficial do Python Documentação do Python Documentação do Brython Aprenda X em Y minutos, onde X=Python Documentação do LiveCodes Carregar modelo inicial ', + link: '<1> <2>Site oficial do Python <3> <4>Documentação do Python <5> <6>Documentação do Brython <7> <8>Aprenda X em Y minutos, onde X=Python <9> <10>Documentação do LiveCodes <11> <12>Carregar modelo inicial ', name: 'Python', }, pythonWasm: { desc1: 'Python com o stack científico, compilado para WebAssembly usando Pyodide.', desc2: 'Pyodide permite usar o stack científico do Python, incluindo NumPy, Pandas, Matplotlib, SciPy, scikit-learn e muitos outros. Além disso, é possível instalar pacotes Python puros do PyPi.', - link: '<1> Site oficial do Python Documentação do Python Documentação do Pyodide Aprenda X em Y minutos, onde X=Python Documentação do LiveCodes Carregar modelo inicial ', + link: '<1> <2>Site oficial do Python <3> <4>Documentação do Python <5><6>Documentação do Pyodide <7> <8>Aprenda X em Y minutos, onde X=Python <9> <10>Documentação do LiveCodes <11> <12>Carregar modelo inicial ', name: 'Python (Wasm)', }, r: { desc: 'R rodando no navegador usando WebR.', - link: '<1> Site oficial do projeto R Manuais do R R para Ciência de Dados (2ª ed.) Documentação do WebR Aprenda X em Y minutos, onde X=R Documentação do LiveCodes Carregar modelo inicial ', + link: '<1> <2>Site oficial do projeto R <3> <4>Manuais do R <5> <6>R para Ciência de Dados (2ª ed.) <7> <8>Documentação do WebR <9> <10>Aprenda X em Y minutos, onde X=R <11> <12>Documentação do LiveCodes <13> <14>Carregar modelo inicial ', name: 'R', }, reactNative: { desc: 'React Native for Web é uma implementação acessível dos Componentes e APIs do React Native que é interoperável com React DOM.', - link: '<1> Site oficial do React Site do React Native Site do React Native for Web Documentação do React Native Documentação do LiveCodes Carregar modelo inicial ', + link: '<1> <2>Site oficial do React <3> <4>Site do React Native <5> <6>Site do React Native for Web <7> <8>Documentação do React Native <9> <10>Documentação do LiveCodes <11> <12>Carregar modelo inicial ', name: 'React Native para Web', }, reactNativeTsx: { desc: 'React Native for Web é uma implementação acessível dos Componentes e APIs do React Native que é interoperável com React DOM.', - link: '<1> Site oficial do React Site do React Native Site do React Native for Web Documentação do React Native Site do TypeScript Documentação do TypeScript Documentação do LiveCodes Carregar modelo inicial (JSX) ', + link: '<1> <2>Site oficial do React <3> <4>Site do React Native <5> <6>Site do React Native for Web <7> <8>Documentação do React Native <9> <10>Site do TypeScript <11> <12>Documentação do TypeScript <13> <14>Documentação do LiveCodes <15> <16>Carregar modelo inicial (JSX) ', name: 'React Native para Web (com TypeScript)', }, reason: { desc1: 'Reason permite que você escreva código tipado simples, rápido e de qualidade, aproveitando os ecossistemas JavaScript e OCaml.', desc2: 'O compilador ReScript é usado aqui para compilar Reason para JavaScript.', - link: '<1>Site do Reason Documentação do Reason ReasonReact Site do ReScript Aprenda X em Y minutos, onde X=reason Carregar modelo inicial ', + link: '<1><2>Site do Reason <3> <4>Documentação do Reason <5> <6>ReasonReact <7> <8>Site do ReScript <9> <10>Aprenda X em Y minutos, onde X=reason <11> <12>Carregar modelo inicial ', name: 'Reason', }, rescript: { desc: 'ReScript é uma linguagem robustamente tipada que compila para JavaScript eficiente e legível por humanos.', - link: '<1> Site do ReScript ReScript / React Carregar modelo inicial ', + link: '<1> <2>Site do ReScript <3> <4>ReScript / React <5> <6>Carregar modelo inicial ', name: 'ReScript', }, richtext: { desc1: 'Usando Quill:', desc2: 'Seu poderoso editor de texto rico.', - link: '<1> Site oficial do Quill ', + link: '<1> <2>Site oficial do Quill ', name: 'Editor de Texto Rico', }, riot: { desc: 'Biblioteca de UI simples e elegante baseada em componentes.', - link: '<1> Site oficial do Riot.js Documentação do Riot.js Carregar modelo inicial ', + link: '<1> <2>Site oficial do Riot.js <3> <4>Documentação do Riot.js <5> <6>Carregar modelo inicial ', name: 'Riot.js', }, ruby: { desc: 'Ruby rodando no navegador usando Opal.', - link: '<1> Site oficial do Ruby Documentação do Ruby Site oficial do Opal CDN da biblioteca padrão do Opal Aprenda X em Y minutos, onde X=ruby Documentação do LiveCodes Carregar modelo inicial ', + link: '<1> <2>Site oficial do Ruby <3> <4>Documentação do Ruby <5><6>Site oficial do Opal <7> <8>CDN da biblioteca padrão do Opal <9> <10>Aprenda X em Y minutos, onde X=ruby <11> <12>Documentação do LiveCodes <13> <14>Carregar modelo inicial ', name: 'Ruby', }, rubyWasm: { desc: 'Ruby rodando no navegador usando ruby-wasm (uma coleção de portas WebAssembly do CRuby).', - link: '<1> Site oficial do Ruby Documentação do Ruby Site do ruby.wasm CRuby Aprenda X em Y minutos, onde X=ruby Documentação do LiveCodes Carregar modelo inicial ', + link: '<1> <2>Site oficial do Ruby <3> <4>Documentação do Ruby <5> <6>Site do ruby.wasm <7><8>CRuby <9> <10>Aprenda X em Y minutos, onde X=ruby <11> <12>Documentação do LiveCodes <13> <14>Carregar modelo inicial ', name: 'Ruby (WASM)', }, sass: { desc: 'Folhas de Estilo Sintaticamente Incríveis.', - link: '<1> Site oficial do Sass Documentação do Sass Sintaxe indentada do Sass Aprenda X em Y minutos, onde X=sass ', + link: '<1> <2>Site oficial do Sass <3> <4>Documentação do Sass <5> <6>Sintaxe indentada do Sass <7> <8>Aprenda X em Y minutos, onde X=sass ', name: 'Sass', }, scheme: { desc: 'Scheme rodando no navegador usando biwascheme.', - link: '<1> A Linguagem de Programação Scheme Site oficial do BiwaScheme Referência do BiwaScheme Carregar modelo inicial ', + link: '<1> <2>A Linguagem de Programação Scheme <3> <4>Site oficial do BiwaScheme <5> <6>Referência do BiwaScheme <7> <8>Carregar modelo inicial ', name: 'Scheme', }, scss: { desc: 'Folhas de Estilo Sintaticamente Incríveis.', - link: '<1> Site oficial do Sass Documentação do Sass Sintaxe SCSS Aprenda X em Y minutos, onde X=sass ', + link: '<1> <2>Site oficial do Sass <3> <4>Documentação do Sass <5> <6>Sintaxe SCSS <7> <8>Aprenda X em Y minutos, onde X=sass ', name: 'SCSS', }, solid: { desc: 'Uma biblioteca JavaScript declarativa, eficiente e flexível para construir interfaces de usuário.', - link: '<1>Site oficial Documentação Documentação do LiveCodes Carregar modelo inicial (TSX) ', + link: '<1><2>Site oficial <3><4>Documentação <5> <6>Documentação do LiveCodes <7> <8>Carregar modelo inicial (TSX) ', name: 'Solid', tsx: { desc: 'Uma biblioteca JavaScript declarativa, eficiente e flexível para construir interfaces de usuário.', - link: '<1>Site oficial Documentação do Solid Site do TypeScript Documentação do TypeScript Documentação do LiveCodes Carregar modelo inicial ', + link: '<1><2>Site oficial <3> <4>Documentação do Solid <5> <6>Site do TypeScript <7> <8>Documentação do TypeScript <9> <10>Documentação do LiveCodes <11> <12>Carregar modelo inicial ', name: 'Solid (com TypeScript)', }, }, sql: { desc: 'SQLite compilado para JavaScript usando SQL.js', - link: '<1> Site oficial do SQLite Documentação de sintaxe do SQLite Site oficial do SQL.js Aprenda X em Y minutos, onde X=SQL Carregar modelo inicial', + link: '<1> <2>Site oficial do SQLite <3> <4>Documentação de sintaxe do SQLite <5> <6>Site oficial do SQL.js <7> <8>Aprenda X em Y minutos, onde X=SQL <9><10>Carregar modelo inicial', name: 'SQLite', }, stencil: { desc: 'Um Compilador para Web Components e Aplicações Web de Alto Desempenho.', - link: '<1> Site oficial do Stencil Documentação do Stencil Carregar modelo inicial ', + link: '<1> <2>Site oficial do Stencil <3> <4>Documentação do Stencil <5> <6>Carregar modelo inicial ', name: 'Stencil', }, styleProcessors: { - link: '<1> Tailwind CSS Windi CSS UnoCSS Lightning CSS PostCSS Plugins: Autoprefixer postcss-preset-env postcss-import-url postcss-modules ', + link: '<1> <2>Tailwind CSS <3> <4>Windi CSS <5> <6>UnoCSS <7> <8>Lightning CSS <9> <10>PostCSS Plugins: <11> <12> <13>Autoprefixer <14> <15>postcss-preset-env <16> <17>postcss-import-url <18> <19>postcss-modules ', name: 'Frameworks e Processadores CSS', }, stylis: { desc: 'Pré-processador CSS leve.', - link: '<1> Site oficial do Stylis ', + link: '<1> <2>Site oficial do Stylis ', name: 'Stylis', }, stylus: { desc: 'CSS Expressivo, Dinâmico e Robusto.', - link: '<1> Site oficial do Stylus Aprenda X em Y minutos, onde X=stylus ', + link: '<1> <2>Site oficial do Stylus <3> <4>Aprenda X em Y minutos, onde X=stylus ', name: 'Stylus', }, sucrase: { desc: 'Alternativa super rápida ao Babel para quando você pode direcionar para ambientes JS modernos.', - link: '<1> Site oficial do Sucrase Repositório GitHub do Sucrase Documentação do LiveCodes ', + link: '<1> <2>Site oficial do Sucrase <3> <4>Repositório GitHub do Sucrase <5> <6>Documentação do LiveCodes ', name: 'Sucrase', }, svelte: { desc: 'Aplicativos web ciberneticamente aprimorados.', - link: '<1> Site oficial do Svelte Documentação do Svelte Carregar modelo inicial ', + link: '<1> <2>Site oficial do Svelte <3> <4>Documentação do Svelte <5> <6>Carregar modelo inicial ', name: 'Svelte', }, tcl: { - desc: 'Tcl rodando no navegador, usando <1>wacl.', - link: '<1> Site oficial do Tcl Repositório do wacl Aprenda X em Y minutos, onde X=Tcl Carregar modelo inicial ', + desc: 'Tcl rodando no navegador, usando <1>wacl.', + link: '<1> <2>Site oficial do Tcl <3> <4>Repositório do wacl <5> <6>Aprenda X em Y minutos, onde X=Tcl <7> <8>Carregar modelo inicial ', name: 'Tcl (Tool Command Language)', }, teal: { desc: 'Um dialeto tipado de Lua.', - link: '<1> Repositório GitHub do Teal Documentação do Teal Tutorial do Teal Documentação do LiveCodes Carregar modelo inicial ', + link: '<1> <2>Repositório GitHub do Teal <3> <4>Documentação do Teal <5> <6>Tutorial do Teal <7> <8>Documentação do LiveCodes <9> <10>Carregar modelo inicial ', name: 'Teal', }, tsx: { desc: 'TypeScript em JSX. TSX é compilado para JavaScript no LiveCodes usando o Compilador TypeScript. Por padrão, ele usa React como o runtime JSX.', - link: '<1> Site oficial do React Documentação JSX no React Documentação do Typescript Documentação do LiveCodes ', + link: '<1> <2>Site oficial do React <3> <4>Documentação JSX no React <5> <6>Documentação do Typescript <7> <8>Documentação do LiveCodes ', name: 'TSX', }, twig: { - desc: 'Uma implementação JavaScript da linguagem de template PHP <1>Twig por Twig.js.', - link: '<1> Site oficial do Twig Documentação do Twig Repositório do Twig.js Documentação do Twig.js Documentação do LiveCodes ', + desc: 'Uma implementação JavaScript da linguagem de template PHP <1>Twig por <2>Twig.js.', + link: '<1> <2>Site oficial do Twig <3> <4>Documentação do Twig <5> <6>Repositório do Twig.js <7> <8>Documentação do Twig.js <9> <10>Documentação do LiveCodes ', name: 'Twig', }, typescript: { desc: 'Um Superconjunto Tipado de JavaScript.', - link: '<1> Site oficial Documentação do TypeScript Aprenda X em Y minutos, onde X=TypeScript Carregar modelo inicial ', + link: '<1> <2>Site oficial <3> <4>Documentação do TypeScript <5> <6>Aprenda X em Y minutos, onde X=TypeScript <7> <8>Carregar modelo inicial ', name: 'TypeScript', }, vue: { - link: '<1> Site oficial do Vue.js v3 Documentação do Vue3 Componentes de arquivo único do Vue3 Documentação do LiveCodes Carregar modelo inicial', + link: '<1> <2>Site oficial do Vue.js v3 <3> <4>Documentação do Vue3 <5> <6>Componentes de arquivo único do Vue3 <7> <8>Documentação do LiveCodes <9><10>Carregar modelo inicial', name: 'Componentes de Arquivo Único Vue3', }, vue2: { desc: 'Carregado usando vue3-sfc-loader.', - link: '<1>Site oficial do Vue.js Documentação do Vue2 Componentes de arquivo único do Vue2 Repositório GitHub do vue3-sfc-loader Documentação do LiveCodes ', + link: '<1><2>Site oficial do Vue.js <3> <4>Documentação do Vue2 <5> <6>Componentes de arquivo único do Vue2 <7> <8>Repositório GitHub do vue3-sfc-loader <9> <10>Documentação do LiveCodes ', name: 'Componentes de Arquivo Único Vue2', }, wat: { desc1: 'Representação textual de baixo nível do formato binário WebAssembly (wasm).', desc2: 'É convertido para wasm usando wabt.js.', - link: '<1>WebAssembly.org Especificações de Texto WebAssembly WebAssembly no MDN Entendendo o formato de texto WebAssembly Documentação do wabt.js Aprenda X em Y minutos, onde X=WebAssembly Carregar modelo inicial', + link: '<1><2>WebAssembly.org <3> <4>Especificações de Texto WebAssembly <5> <6>WebAssembly no MDN <7> <8>Entendendo o formato de texto WebAssembly <9> <10>Documentação do wabt.js <11> <12>Aprenda X em Y minutos, onde X=WebAssembly <13><14>Carregar modelo inicial', name: 'Formato de Texto WebAssembly', }, }; diff --git a/src/livecodes/i18n/locales/pt/translation.ts b/src/livecodes/i18n/locales/pt/translation.ts index 22b0e2aad..b3a187dcd 100644 --- a/src/livecodes/i18n/locales/pt/translation.ts +++ b/src/livecodes/i18n/locales/pt/translation.ts @@ -14,9 +14,9 @@ const translation: I18nTranslation = { heading: 'Sobre o LiveCodes', livecodes: { para1: - '<1>LiveCodes é um playground de código de código aberto, rico em recursos e do lado do cliente. Atualmente, mais de 80 linguagens eframeworks são suportados. Pode ser usado como um aplicativo independente ou pode ser incorporado em qualquer página web. Existem muitas maneiras de preencher previamente os playgrounds com código.', + '<1><2>LiveCodes é um playground de código <3>de código aberto, <4>rico em recursos e <5>do lado do cliente. Atualmente, <6>mais de 80 linguagens e<7>frameworks são suportados. Pode ser usado como um aplicativo independente ou pode ser <8>incorporado em qualquer página web. Existem muitas maneiras de <9>preencher previamente os playgrounds com código.', para2: - 'Uma ampla gama de <1>opções de configuração o torna muito flexível. Um poderoso SDK (para JS/TS, React, Vue e Svelte) facilita a incorporação e comunicação com os playgrounds. Documentações abrangentes estão disponíveis com exemplos de código, demonstrações ao vivo e capturas de tela.', + 'Uma ampla gama de <1>opções de configuração o torna muito flexível. Um poderoso <2>SDK (para <3>JS/TS, <4>React, <5>Vue e <6>Svelte) facilita a <7>incorporação e <8>comunicação com os playgrounds. <9>Documentações abrangentes estão disponíveis com exemplos de código, demonstrações ao vivo e capturas de tela.', }, version: { app: 'Versão : {{APP_VERSION}}', @@ -28,6 +28,9 @@ const translation: I18nTranslation = { }, }, app: { + consoleMessage: { + learnMore: 'Saiba mais! {{docsUrl}} 🚀', + }, copy: { hint: 'Copiar (Ctrl/Cmd + A, Ctrl/Cmd + C)', }, @@ -81,12 +84,12 @@ const translation: I18nTranslation = { assets: { add: { dataURL: { - desc: 'Adicionar ativo como uma <1>URL de dados codificada em base64.', + desc: 'Adicionar ativo como uma <1>URL de dados codificada em base64.', heading: 'URL de Dados', label: 'Adicionar arquivo', }, githubPages: { - desc: 'Implantar ativo no GitHub Pages. O arquivo é enviado para o branch <1>gh-pages do repositório livecodes-assets na sua conta do GitHub. Se o repositório ainda não existir, um repositório público será criado.', + desc: 'Implantar ativo no GitHub Pages. O arquivo é enviado para o branch <1>gh-pages do repositório <2>livecodes-assets na sua conta do GitHub. Se o repositório ainda não existir, um repositório público será criado.', heading: 'GitHub Pages', label: 'Carregar arquivo', }, @@ -157,7 +160,7 @@ const translation: I18nTranslation = { backup: { assets: 'Ativos', button: 'Fazer uma cópia de segurança', - desc: 'Fazer backup dos dados do LiveCodes para que possam ser restaurados posteriormente neste ou em outros dispositivos. <1> Por favor, visite a documentação para detalhes.', + desc: 'Fazer backup dos dados do LiveCodes para que possam ser restaurados posteriormente neste ou em outros dispositivos. <1> Por favor, visite a <2>documentação para detalhes.', heading: 'Cópia de segurança', projects: 'Projetos', settings: 'Configurações do Usuário', @@ -173,7 +176,7 @@ const translation: I18nTranslation = { heading: 'Cópia de segurança / Restaurar', inProgress: 'Em andamento...', restore: { - desc: 'Restaurar dados do LiveCodes previamente salvos. <1> Se você optar por substituir o conteúdo atual, talvez queira fazer um backup primeiro. Por favor, visite a documentação para detalhes.', + desc: 'Restaurar dados do LiveCodes previamente salvos. <1> Se você optar por substituir o conteúdo atual, talvez queira fazer um backup primeiro. <2> Por favor, visite a <3>documentação para detalhes.', fromFile: 'Restaurar a partir do arquivo', heading: 'Restaurar', mode: { @@ -191,7 +194,7 @@ const translation: I18nTranslation = { broadcasting: 'Transmitindo...', channelURL: 'URL do Canal', connecting: 'Conectando...', - desc: 'Transmitir a página de resultado para outros navegadores e dispositivos em tempo real. Para nais detalhes, visite a <1>documentação', + desc: 'Transmitir a página de resultado para outros navegadores e dispositivos em tempo real. Para nais detalhes, visite a <1>documentação', error: { generic: 'Falha na transmissão!', serverURLRequired: 'URL do servidor é obrigatória!', @@ -291,9 +294,9 @@ const translation: I18nTranslation = { }, deploy: { create: { - desc: 'Um novo repositório <1>público será criado. A página de resultado será enviada para o branch gh-pages.', + desc: 'Um novo repositório <1>público será criado. A página de resultado será enviada para o branch <2>gh-pages.', heading: 'Criar Novo Repositório', - repoName: 'Nome do Repositório <1>', + repoName: 'Nome do Repositório <1>', }, error: { generic: 'Falha na implantação!', @@ -301,7 +304,7 @@ const translation: I18nTranslation = { repoNameRequired: 'Nome do repositório é obrigatório', }, existing: { - desc: 'Um novo commit será adicionado ao branch <1>gh-pages.', + desc: 'Um novo commit será adicionado ao branch <1>gh-pages.', heading: 'Repositório Existente', repoName: 'Nome do Repositório', }, @@ -322,7 +325,7 @@ const translation: I18nTranslation = { closeBrackets: 'Fechar automaticamente colchetes e aspas', codeJarDesc: '* Os recursos marcados não estão disponíveis no CodeJar.', default: 'Padrão', - desc: 'Por favor, consulte a <1>documentação para detalhes.', + desc: 'Por favor, consulte a <1>documentação para detalhes.', editor: { codejar: 'CodeJar', codemirror: 'CodeMirror', @@ -338,7 +341,7 @@ const translation: I18nTranslation = { emmet: 'Habilitar Emmet *', enableAI: { heading: 'Habilitar Assistente de Código IA', - note: 'Desenvolvido por <1>', + note: 'Desenvolvido por <1><2>', }, fontFamily: 'Família da Fonte', fontSize: 'Tamanho da Fonte', @@ -376,7 +379,7 @@ const translation: I18nTranslation = { copy: 'Copiar Código', heading: 'Código', }, - desc: 'Para configurações avançadas, consulte a <1>documentação', + desc: 'Para configurações avançadas, consulte a <1>documentação', embedType: { cdn: 'Script (CDN)', heading: 'Tipo de Incorporação', @@ -447,17 +450,18 @@ const translation: I18nTranslation = { more: 'Mais...', optional: 'Opcional', required: 'Obrigatório', + tagline: 'Um Playground de Código Que Simplesmente Funciona!', }, import: { bulk: { - desc: 'Importe em massa vários projetos para seus projetos salvos. Os projetos podem ser exportados da tela <1>Projetos Salvos.', + desc: 'Importe em massa vários projetos para seus projetos salvos. Os projetos podem ser exportados da tela <1>Projetos Salvos.', fromFile: 'Importação em massa de arquivo local', fromURL: 'Importação em massa de URL', heading: 'Importação em Massa', started: 'Importação em massa iniciada...', }, code: { - desc: 'Fontes Suportadas: <1> GitHub gist Arquivo do GitHub Diretório em um repositório GitHub Trecho do Gitlab Arquivo do Gitlab Diretório em um repositório Gitlab JS Bin Código bruto Código no DOM da página web Código em arquivo zip Playgrounds oficiais(TypeScript, Vue e Svelte) Visite a documentação para detalhes.', + desc: 'Fontes Suportadas: <1> <2>GitHub gist <3>Arquivo do GitHub <4>Diretório em um repositório GitHub <5>Trecho do Gitlab <6>Arquivo do Gitlab <7>Diretório em um repositório Gitlab <8>JS Bin <9>Código bruto <10>Código no DOM da página web <11>Código em arquivo zip <12>Playgrounds oficiais<13>(TypeScript, Vue e Svelte) Visite a <14>documentação para detalhes.', fromFile: 'Importar arquivos locais', fromURL: 'Importar de URL', heading: 'Importar Código', @@ -482,7 +486,7 @@ const translation: I18nTranslation = { }, login: { accessAllowed: 'Permitir acesso a:', - desc: '<1>Ao fazer login, você concorda que cookies podem ser armazenados no seu dispositivo. Por que essas permissões são necessárias? Como alterar/revogar permissões? ', + desc: '<1>Ao fazer login, você concorda que <2>cookies podem ser armazenados no seu dispositivo. <3> <4>Por que essas permissões são necessárias? <5> <6>Como alterar/revogar permissões? ', gist: 'Gists', heading: 'Login com GitHub', loginAs: 'Logado como {{name}}', @@ -500,7 +504,7 @@ const translation: I18nTranslation = { broadcast: 'Transmitir …', customSettings: 'Configurações Personalizadas …', delay: { - heading: 'Atraso: <1>1.5s', + heading: 'Atraso: <1>1.5s', hint: 'Atraso antes da atualização automática', }, deploy: 'Implantar …', @@ -537,7 +541,7 @@ const translation: I18nTranslation = { hint: 'Pressione Alt/Option e mova o cursor sobre a página de resultados', }, snippets: 'Trechos de código…', - sync: 'Sincronizar (beta) … <1> ⏳', + sync: 'Sincronizar (beta) … <1> ⏳', theme: 'Tema Escuro', welcome: { heading: 'Boas-vindas …', @@ -590,11 +594,11 @@ const translation: I18nTranslation = { recoverPrompt: { desc: 'Seu último projeto tem alterações não salvas!', heading: 'Recuperar projeto não salvo?', - meta: 'Título: <1> Última modificação: ', + meta: 'Título: <1> <2> Última modificação: <3>', notShowAgain: 'Não mostrar isso novamente.', prompt: { discard: 'Descartar projeto não salvo', - heading: '<1>Você deseja recuperá-lo agora?', + heading: '<1>Você deseja recuperá-lo agora?', recover: 'Recuperar projeto para o editor', save: 'Salvar no dispositivo e continuar', }, @@ -613,13 +617,13 @@ const translation: I18nTranslation = { }, fonts: { add: 'Adicionar', - heading: 'Fontes <1>(fornecidas pelo Google Fonts)', + heading: 'Fontes <1>(fornecidas pelo Google Fonts)', select: 'Selecionar fonte ...', }, heading: 'Recursos Externos', scripts: 'Scripts Externos', search: { - heading: 'Pesquisar Pacotes <1>(fornecido pelo jsDelivr)', + heading: 'Pesquisar Pacotes <1>(fornecido pelo jsDelivr)', placeholder: 'ex: jquery, lodash@4, bootstrap@5.2.3, ...', }, stylesheets: 'Folhas de Estilo Externas', @@ -631,7 +635,7 @@ const translation: I18nTranslation = { prompt: { cancel: 'Cancelar', discard: 'Não salvar', - heading: 'As alterações que você fez podem não ser salvas. <1> Deseja salvar agora?', + heading: 'As alterações que você fez podem não ser salvas. <1> Deseja salvar agora?', save: 'Salvar', }, }, @@ -729,7 +733,7 @@ const translation: I18nTranslation = { sync: { autoSync: 'Sincronização automática', create: { - desc: 'Um novo repositório <1>privado será criado. Seus dados locais do LiveCodes serão sincronizados com o branch main.', + desc: 'Um novo repositório <1>privado será criado. Seus dados locais do LiveCodes serão sincronizados com o branch <2>main.', heading: 'Criar Novo Repositório', repoName: 'Nome do Repositório', }, @@ -738,7 +742,7 @@ const translation: I18nTranslation = { repoNameRequired: 'Nome do repositório é obrigatório', }, existing: { - desc: 'Seus dados locais do LiveCodes serão sincronizados com o branch <1>main.', + desc: 'Seus dados locais do LiveCodes serão sincronizados com o branch <1>main.', heading: 'Repositório Existente', repoName: 'Nome do Repositório', }, @@ -752,7 +756,7 @@ const translation: I18nTranslation = { templates: { heading: 'Novo Projeto', noUserTemplates: { - desc: 'Você pode salvar um projeto como modelo a partir de <1>(Menu do App > Salvar como > Modelo).', + desc: 'Você pode salvar um projeto como modelo a partir de <1>(Menu do App > Salvar como > Modelo).', heading: 'Não há nenhum modelo salvo.', }, starter: { @@ -839,16 +843,16 @@ const translation: I18nTranslation = { }, test: { edit: 'Editar', - error: '<1>Erro no teste!', - loading: '<1>Carregando testes...', - noTest: '<1>Este projeto não tem testes!', + error: '<1><2>Erro no teste!', + loading: '<1>Carregando testes...', + noTest: '<1>Este projeto não tem testes!', reset: 'Reiniciar', run: { desc: 'Ctrl/Cmd + Alt + T', heading: 'Executar', }, summary: { - desc: 'Testes: {{failed}}\n {{passed}}\n {{skipped}}\n {{total}}<1>\nTempo: {{duration}}s', + desc: 'Testes: {{failed}}\n {{passed}}\n {{skipped}}\n {{total}}<1>\nTempo: {{duration}}s', failed: '{{failedNum}} falharam', passed: '{{passedNum}} passaram', skipped: '{{skippedNum}} ignorados', @@ -873,7 +877,7 @@ const translation: I18nTranslation = { recover: { cancel: 'Cancelar', heading: 'Recuperar', - lastModified: 'Última modificação: <1>', + lastModified: 'Última modificação: <1>', recover: 'Recuperar', save: 'Salvar', unsavedChanges: 'O último projeto tem alterações não salvas:', diff --git a/src/livecodes/i18n/locales/ru/language-info.ts b/src/livecodes/i18n/locales/ru/language-info.ts index 5470a773c..4ce2b8edf 100644 --- a/src/livecodes/i18n/locales/ru/language-info.ts +++ b/src/livecodes/i18n/locales/ru/language-info.ts @@ -5,108 +5,108 @@ import type { I18nLangInfoTranslation } from '../models'; const languageInfo: I18nLangInfoTranslation = { artTemplate: { desc: 'Высокопроизводительный движок шаблонов JavaScript.', - link: '<1> Официальный сайт art-template Документация art-template ', + link: '<1> <2>Официальный сайт art-template <3> <4>Документация art-template ', name: 'art-template', }, asciidoc: { desc: 'AsciiDoc, скомпилированный в HTML с использованием Asciidoctor.', - link: '<1> Официальный сайт AsciiDoc Официальный сайт Asciidoctor Документация Asciidoctor Изучите X за Y минут, где X=asciidoc ', + link: '<1> <2>Официальный сайт AsciiDoc <3> <4>Официальный сайт Asciidoctor <5> <6>Документация Asciidoctor <7> <8>Изучите X за Y минут, где X=asciidoc ', name: 'AsciiDoc', }, assemblyscript: { desc: 'Язык, подобный TypeScript, для WebAssembly.', - link: '<1> Официальный сайт AssemblyScript Документация AssemblyScript Загрузить стартовый шаблон ', + link: '<1> <2>Официальный сайт AssemblyScript <3> <4>Документация AssemblyScript <5> <6>Загрузить стартовый шаблон ', name: 'AssemblyScript', }, astro: { desc: 'Создавайте более быстрые веб-сайты с меньшим количеством клиентского JavaScript. (Все еще в бета-версии)', - link: '<1> Официальный сайт Astro Документация Astro Загрузить стартовый шаблон ', + link: '<1> <2>Официальный сайт Astro <3> <4>Документация Astro <5> <6>Загрузить стартовый шаблон ', name: 'Astro', }, babel: { desc: 'Компилятор JavaScript', - link: '<1>Официальный сайт Документация Babel ', + link: '<1><2>Официальный сайт <3> <4>Документация Babel ', name: 'Babel', }, bbcode: { desc: 'BBCode ("Bulletin Board Code") - это легковесный язык разметки, используемый для форматирования сообщений во многих программах для интернет-форумов.', - link: '<1>bbcode.org Руководство по BBCode BBCode в Википедии ', + link: '<1><2>bbcode.org <3> <4>Руководство по BBCode <5> <6>BBCode в Википедии ', name: 'BBCode', }, blockly: { desc: 'Библиотека JavaScript для создания визуальных редакторов программирования.', - link: '<1> Официальный сайт Руководства Справочник Примеры Загрузить стартовый шаблон ', + link: '<1> <2>Официальный сайт <3> <4>Руководства <5> <6>Справочник <7> <8>Примеры <9> <10>Загрузить стартовый шаблон ', name: 'Blockly', }, civet: { desc: 'Civet - это язык программирования, который компилируется в TypeScript или JavaScript, позволяя использовать существующие инструменты, но с более лаконичным и мощным синтаксисом.', - link: '<1> Официальный сайт Civet Шпаргалка по Civet Загрузить стартовый шаблон ', + link: '<1> <2>Официальный сайт Civet <3> <4>Шпаргалка по Civet <5> <6>Загрузить стартовый шаблон ', name: 'Civet', }, clio: { desc: 'Clio - это быстрый, распределенный, функциональный язык программирования, который компилируется в JavaScript.', - link: '<1> Официальный сайт Clio Документация Clio Загрузить стартовый шаблон ', + link: '<1> <2>Официальный сайт Clio <3> <4>Документация Clio <5> <6>Загрузить стартовый шаблон ', name: 'Clio', }, clojurescript: { - desc: 'ClojureScript - это компилятор для <1>Clojure, который нацелен на JavaScript. В LiveCodes он работает в браузере с использованием Cherry.', - link: '<1> Официальный сайт ClojureScript Официальный сайт Clojure Репозиторий Cherry Изучите X за Y минут, где X=clojure Документация LiveCodes Загрузить стартовый шаблон ', + desc: 'ClojureScript - это компилятор для <1>Clojure, который нацелен на JavaScript. <2>В LiveCodes он работает в браузере с использованием <3>Cherry.', + link: '<1> <2>Официальный сайт ClojureScript <3> <4>Официальный сайт Clojure <5> <6>Репозиторий Cherry <7> <8>Изучите X за Y минут, где X=clojure <9> <10>Документация LiveCodes <11> <12>Загрузить стартовый шаблон ', name: 'ClojureScript (CLJS)', }, coffeescript: { desc: 'Непретенциозный JavaScript.', - link: '<1> Официальный сайт CoffeeScript Изучите X за Y минут, где X=coffeescript Загрузить стартовый шаблон ', + link: '<1> <2>Официальный сайт CoffeeScript <3> <4>Изучите X за Y минут, где X=coffeescript <5> <6>Загрузить стартовый шаблон ', name: 'CoffeeScript', }, commonlisp: { desc: 'Реализация Common Lisp на JavaScript с использованием JSCL (компилятор Lisp-в-Javascript, загруженный из Common Lisp).', - link: '<1> Common-Lisp.net Проект JSCL Ресурсы Common Lisp Изучите X за Y минут, где X=Common Lisp Загрузить стартовый шаблон ', + link: '<1> <2>Common-Lisp.net <3> <4>Проект JSCL <5> <6>Ресурсы Common Lisp <7> <8>Изучите X за Y минут, где X=Common Lisp <9> <10>Загрузить стартовый шаблон ', name: 'Common Lisp', }, cpp: { desc1: 'Поддержка C++ с использованием JSCPP (простой интерпретатор C++, написанный на JavaScript).', desc2: - 'Это не полная реализация C++. Пожалуйста, обратитесь к <1>документации JSCPP для подробностей.', - link: '<1> Фонд стандартного C++ JSCPP Изучите X за Y минут, где X=C++ Загрузить стартовый шаблон ', + 'Это не полная реализация C++. Пожалуйста, обратитесь к <1>документации JSCPP для подробностей.', + link: '<1> <2>Фонд стандартного C++ <3> <4>JSCPP <5> <6>Изучите X за Y минут, где X=C++ <7> <8>Загрузить стартовый шаблон ', name: 'C++', }, cppWasm: { - desc: 'Компилятор Clang C/C++, работающий на WebAssembly, использующий <1>wasm-clang, адаптированный polylang.io.', - link: '<1> Фонд стандартного C++ Официальный сайт Clang Изучите X за Y минут, где X=C++ Загрузить стартовый шаблон ', + desc: 'Компилятор Clang C/C++, работающий на WebAssembly, использующий <1>wasm-clang, адаптированный <2>polylang.io.', + link: '<1> <2>Фонд стандартного C++ <3> <4>Официальный сайт Clang <5> <6>Изучите X за Y минут, где X=C++ <7> <8>Загрузить стартовый шаблон ', name: 'C/C++ (Wasm)', }, diagrams: { desc1: '(Экспериментально)', desc2: 'Диаграммы как код. Поддерживает:', desc3: - '<1> Cytoscape ELK (использует elkjs) Gnuplot (использует gnuplot-JS) Graphviz (использует @hpcc-js/wasm) Mermaid Nomnoml Pintora Plotly Svgbob Vega VegaLite WaveDrom ', - link: '<1> Загрузить стартовый шаблон Документация LiveCodes ', + '<1> <2>Cytoscape <3> <4>ELK (использует <5>elkjs) <6> <7>Gnuplot (использует <8>gnuplot-JS) <9> <10>Graphviz (использует <11>@hpcc-js/wasm) <12> <13>Mermaid <14> <15>Nomnoml <16> <17>Pintora <18> <19>Plotly <20> <21>Svgbob <22> <23>Vega <24> <25>VegaLite <26> <27>WaveDrom ', + link: '<1> <2>Загрузить стартовый шаблон <3> <4>Документация LiveCodes ', name: 'Диаграммы', }, dot: { desc: 'Самый быстрый + лаконичный движок шаблонов javascript для Node.js и браузеров.', - link: '<1> Официальный сайт Документация LiveCodes ', + link: '<1> <2>Официальный сайт <3> <4>Документация LiveCodes ', name: 'doT.js', }, ejs: { desc: 'Встроенные шаблоны JavaScript.', - link: '<1>Официальный сайт Документация LiveCodes ', + link: '<1><2>Официальный сайт <3> <4>Документация LiveCodes ', name: 'EJS', }, eta: { desc: 'Встроенный движок шаблонов JS для Node, Deno и браузера. Легкий, быстрый и расширяемый. Написан на TypeScript.', - link: '<1>Официальный сайт Документация Документация LiveCodes ', + link: '<1><2>Официальный сайт <3> <4>Документация <5> <6>Документация LiveCodes ', name: 'Eta', }, fennel: { desc: 'Fennel - это язык программирования, который объединяет скорость, простоту и охват Lua с гибкостью синтаксиса и системы макросов Lisp.', - link: '<1> Официальный сайт Fennel Начало работы с Fennel Документация LiveCodes Загрузить стартовый шаблон ', + link: '<1> <2>Официальный сайт Fennel <3> <4>Начало работы с Fennel <5> <6>Документация LiveCodes <7> <8>Загрузить стартовый шаблон ', name: 'Fennel', }, flow: { desc: 'Flow - это статический анализатор типов для JavaScript.', - link: '<1> Официальный сайт Flow Документация Flow ', + link: '<1> <2>Официальный сайт Flow <3> <4>Документация Flow ', name: 'Flow', }, gleam: { @@ -114,292 +114,292 @@ const languageInfo: I18nLangInfoTranslation = { 'Gleam - это дружелюбный язык для создания типобезопасных систем, которые масштабируются!', desc2: 'Gleam - это статически типизированный функциональный язык программирования, который компилируется в Erlang или JavaScript.', - link: '<1>Сайт Gleam Документация Gleam Тур по языку Gleam Загрузить стартовый шаблон ', + link: '<1><2>Сайт Gleam <3> <4>Документация Gleam <5> <6>Тур по языку Gleam <7> <8>Загрузить стартовый шаблон ', name: 'Gleam', }, go: { desc1: 'Go (Golang) - это язык программирования с открытым исходным кодом, который упрощает создание простого, надежного и эффективного программного обеспечения.', desc2: 'Здесь он компилируется в JavaScript с помощью GopherJS.', - link: '<1>Сайт Go Документация Go Репозиторий GopherJS Изучите X за Y минут, где X=Go Загрузить стартовый шаблон', + link: '<1><2>Сайт Go <3><4>Документация Go <5> <6>Репозиторий GopherJS <7> <8>Изучите X за Y минут, где X=Go <9><10>Загрузить стартовый шаблон', name: 'Go', }, haml: { desc: 'Компилятор Haml для клиентских шаблонов JavaScript с использованием clientside-haml-js.', - link: '<1>Официальный сайт Haml Документация Haml GitHub-репозиторий clientside-haml-js Изучите X за Y минут, где X=haml Документация LiveCodes ', + link: '<1><2>Официальный сайт Haml <3> <4>Документация Haml <5> <6>GitHub-репозиторий clientside-haml-js <7> <8>Изучите X за Y минут, где X=haml <9> <10>Документация LiveCodes ', name: 'Haml', }, handlebars: { desc: 'Минимальный шаблонизатор на стероидах.', - link: '<1>Официальный сайт Документация LiveCodes ', + link: '<1><2>Официальный сайт <3> <4>Документация LiveCodes ', name: 'Handlebars', }, imba: { desc: 'Дружелюбный фулстек-язык.', - link: '<1>Официальный сайт', + link: '<1><2>Официальный сайт', name: 'Imba', }, jsx: { desc: 'JSX компилируется в JavaScript в LiveCodes с использованием компилятора TypeScript. По умолчанию он использует React в качестве среды выполнения JSX.', - link: '<1> Официальный сайт React Документация JSX в React Документация LiveCodes Загрузить стартовый шаблон ', + link: '<1> <2>Официальный сайт React <3> <4>Документация JSX в React <5> <6>Документация LiveCodes <7> <8>Загрузить стартовый шаблон ', name: 'JSX', }, julia: { desc1: '(Поддержка языка Julia в LiveCodes все еще экспериментальна)', desc2: - 'Компилятор Julia и Julia Base, работающие на WASM, с использованием <1>julia-wasm, адаптированного polylang.io.', - link: '<1> Официальный сайт Julia Документация Julia Изучите X за Y минут, где X=Julia Загрузить стартовый шаблон ', + 'Компилятор Julia и Julia Base, работающие на WASM, с использованием <1>julia-wasm, адаптированного <2>polylang.io.', + link: '<1> <2>Официальный сайт Julia <3> <4>Документация Julia <5> <6>Изучите X за Y минут, где X=Julia <7> <8>Загрузить стартовый шаблон ', name: 'Julia', }, less: { desc: 'Это CSS, только чуть больше.', - link: '<1>Официальный сайт Less Изучите X за Y минут, где X=less ', + link: '<1><2>Официальный сайт Less <3> <4>Изучите X за Y минут, где X=less ', name: 'Less', }, liquid: { desc: 'Простой, выразительный и безопасный шаблонизатор.', - link: '<1> Официальный сайт LiquidJS Документация LiquidJS Документация LiveCodes ', + link: '<1> <2>Официальный сайт LiquidJS <3> <4>Документация LiquidJS <5> <6>Документация LiveCodes ', name: 'LiquidJS', }, livescript: { desc: 'Язык, который компилируется в JavaScript.', - link: '<1> Официальный сайт LiveScript Изучите X за Y минут, где X=LiveScript Загрузить стартовый шаблон ', + link: '<1> <2>Официальный сайт LiveScript <3> <4>Изучите X за Y минут, где X=LiveScript <5> <6>Загрузить стартовый шаблон ', name: 'LiveScript', }, lua: { desc: 'Lua, работающий в браузере с использованием fengari-web.', - link: '<1>Официальный сайт Lua Документация Lua Официальный сайт Fengari GitHub-репозиторий fengari-web Изучите X за Y минут, где X=Lua Документация LiveCodes Загрузить стартовый шаблон', + link: '<1><2>Официальный сайт Lua <3> <4>Документация Lua <5> <6>Официальный сайт Fengari <7> <8>GitHub-репозиторий fengari-web <9> <10>Изучите X за Y минут, где X=Lua <11> <12>Документация LiveCodes <13><14>Загрузить стартовый шаблон', name: 'Lua', }, luaWasm: { desc: 'Lua, работающий в браузере с использованием Wasmoon, настоящей виртуальной машины Lua 5.4 с привязками к JS, созданной с помощью WebAssembly.', - link: '<1>Официальный сайт Lua Документация Lua GitHub-репозиторий Wasmoon Изучите X за Y минут, где X=Lua Документация LiveCodes Загрузить стартовый шаблон ', + link: '<1><2>Официальный сайт Lua <3> <4>Документация Lua <5> <6>GitHub-репозиторий Wasmoon <7> <8>Изучите X за Y минут, где X=Lua <9> <10>Документация LiveCodes <11> <12>Загрузить стартовый шаблон ', name: 'Lua (Wasm)', }, malina: { desc: 'Фронтенд-компилятор, вдохновленный Svelte.', - link: '<1> Репозиторий Malina.js Документация Malina.js Загрузить стартовый шаблон ', + link: '<1> <2>Репозиторий Malina.js <3> <4>Документация Malina.js <5> <6>Загрузить стартовый шаблон ', name: 'Malina.js', }, markdown: { desc: 'Markdown, скомпилированный в HTML с использованием Marked.', - link: '<1> Официальный сайт Markdown Документация Marked Изучите X за Y минут, где X=markdown Загрузить стартовый шаблон ', + link: '<1> <2>Официальный сайт Markdown <3> <4>Документация Marked <5> <6>Изучите X за Y минут, где X=markdown <7> <8>Загрузить стартовый шаблон ', name: 'Markdown', }, mdx: { - desc: 'Markdown для эры компонентов. <1>MDX позволяет вам легко писать JSX в ваших Markdown-документах.', - link: '<1>Документация MDX Загрузить стартовый шаблон', + desc: 'Markdown для эры компонентов. <1>MDX позволяет вам легко писать JSX в ваших Markdown-документах.', + link: '<1><2>Документация MDX <3><4>Загрузить стартовый шаблон', name: 'MDX', }, mjml: { desc: 'MJML - это язык разметки, разработанный для уменьшения сложности кодирования адаптивных электронных писем.', - link: '<1>Официальный сайт MJML Документация MJML Официальные шаблоны MJML Документация LiveCodes ', + link: '<1><2>Официальный сайт MJML <3> <4>Документация MJML <5> <6>Официальные шаблоны MJML <7> <8>Документация LiveCodes ', name: 'MJML', }, mustache: { desc: 'Шаблоны без логики.', - link: '<1> Официальный сайт Руководство mustache(5) JavaScript-реализация Документация LiveCodes ', + link: '<1> <2>Официальный сайт <3> <4>Руководство mustache(5) <5> <6>JavaScript-реализация <7> <8>Документация LiveCodes ', name: 'Mustache', }, nunjucks: { - desc: 'Богатый и мощный язык шаблонов для JavaScript. Nunjucks по сути является портом <1>jinja2.', - link: '<1> Официальный сайт Документация LiveCodes ', + desc: 'Богатый и мощный язык шаблонов для JavaScript. Nunjucks по сути является портом <1>jinja2.', + link: '<1> <2>Официальный сайт <3> <4>Документация LiveCodes ', name: 'Nunjucks', }, ocaml: { desc1: 'OCaml - это язык программирования промышленного уровня, поддерживающий функциональный, императивный и объектно-ориентированный стили.', desc2: 'Здесь используется компилятор ReScript для компиляции OCaml в JavaScript.', - link: '<1>Сайт OCaml Документация OCaml Сайт ReScript Изучите X за Y минут, где X=OCaml Загрузить стартовый шаблон ', + link: '<1><2>Сайт OCaml <3> <4>Документация OCaml <5> <6>Сайт ReScript <7> <8>Изучите X за Y минут, где X=OCaml <9> <10>Загрузить стартовый шаблон ', name: 'OCaml', }, perl: { desc: 'Perl, работающий в браузере с использованием Perlito.', - link: '<1> Официальный сайт Perl Документация Perl Readme Perlito5 Изучите X за Y минут, где X=perl Загрузить стартовый шаблон ', + link: '<1> <2>Официальный сайт Perl <3> <4>Документация Perl <5> <6>Readme Perlito5 <7> <8>Изучите X за Y минут, где X=perl <9> <10>Загрузить стартовый шаблон ', name: 'Perl', }, php: { desc: 'PHP, работающий в браузере с использованием Uniter.', - link: '<1>Официальный сайт PHP Документация PHP GitHub-репозиторий Uniter Изучите X за Y минут, где X=PHP Документация LiveCodes Загрузить стартовый шаблон', + link: '<1><2>Официальный сайт PHP <3> <4>Документация PHP <5> <6>GitHub-репозиторий Uniter <7> <8>Изучите X за Y минут, где X=PHP <9> <10>Документация LiveCodes <11><12>Загрузить стартовый шаблон', name: 'PHP', }, phpWasm: { desc: 'PHP в браузере, работающий на WebAssembly, с использованием php-wasm.', - link: '<1>Официальный сайт PHP Документация PHP GitHub-репозиторий php-wasm Изучите X за Y минут, где X=PHP Документация LiveCodes Загрузить стартовый шаблон ', + link: '<1><2>Официальный сайт PHP <3> <4>Документация PHP <5> <6>GitHub-репозиторий php-wasm <7> <8>Изучите X за Y минут, где X=PHP <9> <10>Документация LiveCodes <11> <12>Загрузить стартовый шаблон ', name: 'PHP (Wasm)', }, postgresql: { desc: 'PostgreSQL, упакованный в WASM с использованием PGlite', - link: '<1> Официальный сайт PostgreSQL Документация PostgreSQL GitHub-репозиторий PGlite Изучите X за Y минут, где X=SQL Загрузить стартовый шаблон ', + link: '<1> <2>Официальный сайт PostgreSQL <3> <4>Документация PostgreSQL <5> <6>GitHub-репозиторий PGlite <7> <8>Изучите X за Y минут, где X=SQL <9> <10>Загрузить стартовый шаблон ', name: 'PostgreSQL', }, prolog: { desc: 'Интерпретатор Prolog с открытым исходным кодом на JavaScript.', - link: '<1> Официальный сайт Tau Prolog Документация Tau Prolog SWI-Prolog Изучите X за Y минут, где X=Prolog Загрузить стартовый шаблон ', + link: '<1> <2>Официальный сайт Tau Prolog <3> <4>Документация Tau Prolog <5> <6>SWI-Prolog <7> <8>Изучите X за Y минут, где X=Prolog <9> <10>Загрузить стартовый шаблон ', name: 'Tau Prolog', }, pug: { desc: 'Надежный, элегантный, богатый функциями шаблонизатор.', - link: '<1> Документация Pug Изучите X за Y минут, где X=Pug Документация LiveCodes ', + link: '<1> <2>Документация Pug <3> <4>Изучите X за Y минут, где X=Pug <5> <6>Документация LiveCodes ', name: 'Pug', }, python: { desc: 'Python, работающий в браузере с использованием Brython.', - link: '<1> Официальный сайт Python Документация Python Документация Brython Изучите X за Y минут, где X=Python Документация LiveCodes Загрузить стартовый шаблон ', + link: '<1> <2>Официальный сайт Python <3> <4>Документация Python <5> <6>Документация Brython <7> <8>Изучите X за Y минут, где X=Python <9> <10>Документация LiveCodes <11> <12>Загрузить стартовый шаблон ', name: 'Python', }, pythonWasm: { desc1: 'Python с научным стеком, скомпилированный в WebAssembly с использованием Pyodide.', desc2: 'Pyodide позволяет использовать научный стек Python, включая NumPy, Pandas, Matplotlib, SciPy, scikit-learn и многие другие. Кроме того, можно устанавливать чистые Python-пакеты из PyPi.', - link: '<1> Официальный сайт Python Документация Python Документация Pyodide Изучите X за Y минут, где X=Python Документация LiveCodes Загрузить стартовый шаблон ', + link: '<1> <2>Официальный сайт Python <3> <4>Документация Python <5><6>Документация Pyodide <7> <8>Изучите X за Y минут, где X=Python <9> <10>Документация LiveCodes <11> <12>Загрузить стартовый шаблон ', name: 'Python (Wasm)', }, r: { desc: 'R, работающий в браузере с использованием WebR.', - link: '<1> Официальный сайт проекта R Руководства по R R для науки о данных (2-е издание) Документация WebR Изучите X за Y минут, где X=R Документация LiveCodes Загрузить стартовый шаблон ', + link: '<1> <2>Официальный сайт проекта R <3> <4>Руководства по R <5> <6>R для науки о данных (2-е издание) <7> <8>Документация WebR <9> <10>Изучите X за Y минут, где X=R <11> <12>Документация LiveCodes <13> <14>Загрузить стартовый шаблон ', name: 'R', }, reactNative: { desc: 'React Native for Web - это доступная реализация компонентов и API React Native, которая совместима с React DOM.', - link: '<1> Официальный сайт React Сайт React Native Сайт React Native for Web Документация React Native Документация LiveCodes Загрузить стартовый шаблон ', + link: '<1> <2>Официальный сайт React <3> <4>Сайт React Native <5> <6>Сайт React Native for Web <7> <8>Документация React Native <9> <10>Документация LiveCodes <11> <12>Загрузить стартовый шаблон ', name: 'React Native for Web', }, reactNativeTsx: { desc: 'React Native for Web - это доступная реализация компонентов и API React Native, которая совместима с React DOM.', - link: '<1> Официальный сайт React Сайт React Native Сайт React Native for Web Документация React Native Сайт TypeScript Документация TypeScript Документация LiveCodes Загрузить стартовый шаблон (JSX) ', + link: '<1> <2>Официальный сайт React <3> <4>Сайт React Native <5> <6>Сайт React Native for Web <7> <8>Документация React Native <9> <10>Сайт TypeScript <11> <12>Документация TypeScript <13> <14>Документация LiveCodes <15> <16>Загрузить стартовый шаблон (JSX) ', name: 'React Native for Web (с TypeScript)', }, reason: { desc1: 'Reason позволяет писать простой, быстрый и качественный типобезопасный код, используя экосистемы как JavaScript, так и OCaml.', desc2: 'Здесь используется компилятор ReScript для компиляции Reason в JavaScript.', - link: '<1>Сайт Reason Документация Reason ReasonReact Сайт ReScript Изучите X за Y минут, где X=reason Загрузить стартовый шаблон ', + link: '<1><2>Сайт Reason <3> <4>Документация Reason <5> <6>ReasonReact <7> <8>Сайт ReScript <9> <10>Изучите X за Y минут, где X=reason <11> <12>Загрузить стартовый шаблон ', name: 'Reason', }, rescript: { desc: 'ReScript - это строго типизированный язык, который компилируется в эффективный и читаемый JavaScript.', - link: '<1> Сайт ReScript ReScript / React Загрузить стартовый шаблон ', + link: '<1> <2>Сайт ReScript <3> <4>ReScript / React <5> <6>Загрузить стартовый шаблон ', name: 'ReScript', }, richtext: { desc1: 'Использует Quill:', desc2: 'Ваш мощный редактор форматированного текста.', - link: '<1> Официальный сайт Quill ', + link: '<1> <2>Официальный сайт Quill ', name: 'Редактор форматированного текста', }, riot: { desc: 'Простая и элегантная компонентная UI-библиотека.', - link: '<1> Официальный сайт Riot.js Документация Riot.js Загрузить стартовый шаблон ', + link: '<1> <2>Официальный сайт Riot.js <3> <4>Документация Riot.js <5> <6>Загрузить стартовый шаблон ', name: 'Riot.js', }, ruby: { desc: 'Ruby, работающий в браузере с использованием Opal.', - link: '<1> Официальный сайт Ruby Документация Ruby Официальный сайт Opal CDN стандартной библиотеки Opal Изучите X за Y минут, где X=ruby Документация LiveCodes Загрузить стартовый шаблон ', + link: '<1> <2>Официальный сайт Ruby <3> <4>Документация Ruby <5><6>Официальный сайт Opal <7> <8>CDN стандартной библиотеки Opal <9> <10>Изучите X за Y минут, где X=ruby <11> <12>Документация LiveCodes <13> <14>Загрузить стартовый шаблон ', name: 'Ruby', }, rubyWasm: { desc: 'Ruby, работающий в браузере с использованием ruby-wasm (набора WebAssembly-портов CRuby).', - link: '<1> Официальный сайт Ruby Документация Ruby Сайт ruby.wasm CRuby Изучите X за Y минут, где X=ruby Документация LiveCodes Загрузить стартовый шаблон ', + link: '<1> <2>Официальный сайт Ruby <3> <4>Документация Ruby <5> <6>Сайт ruby.wasm <7><8>CRuby <9> <10>Изучите X за Y минут, где X=ruby <11> <12>Документация LiveCodes <13> <14>Загрузить стартовый шаблон ', name: 'Ruby (WASM)', }, sass: { desc: 'Синтаксически удивительные таблицы стилей.', - link: '<1> Официальный сайт Sass Документация Sass Синтаксис Sass (с отступами) Изучите X за Y минут, где X=sass ', + link: '<1> <2>Официальный сайт Sass <3> <4>Документация Sass <5> <6>Синтаксис Sass (с отступами) <7> <8>Изучите X за Y минут, где X=sass ', name: 'Sass', }, scheme: { desc: 'Scheme, работающий в браузере с использованием biwascheme.', - link: '<1> Язык программирования Scheme Официальный сайт BiwaScheme Справочник BiwaScheme Загрузить стартовый шаблон ', + link: '<1> <2>Язык программирования Scheme <3> <4>Официальный сайт BiwaScheme <5> <6>Справочник BiwaScheme <7> <8>Загрузить стартовый шаблон ', name: 'Scheme', }, scss: { desc: 'Синтаксически удивительные таблицы стилей.', - link: '<1> Официальный сайт Sass Документация Sass Синтаксис SCSS Изучите X за Y минут, где X=sass ', + link: '<1> <2>Официальный сайт Sass <3> <4>Документация Sass <5> <6>Синтаксис SCSS <7> <8>Изучите X за Y минут, где X=sass ', name: 'SCSS', }, solid: { desc: 'Декларативная, эффективная и гибкая JavaScript-библиотека для создания пользовательских интерфейсов.', - link: '<1>Официальный сайт Документация Документация LiveCodes Загрузить стартовый шаблон (TSX) ', + link: '<1><2>Официальный сайт <3><4>Документация <5> <6>Документация LiveCodes <7> <8>Загрузить стартовый шаблон (TSX) ', name: 'Solid', tsx: { desc: 'Декларативная, эффективная и гибкая JavaScript-библиотека для создания пользовательских интерфейсов.', - link: '<1>Официальный сайт Документация Solid Сайт TypeScript Документация TypeScript Документация LiveCodes Загрузить стартовый шаблон ', + link: '<1><2>Официальный сайт <3> <4>Документация Solid <5> <6>Сайт TypeScript <7> <8>Документация TypeScript <9> <10>Документация LiveCodes <11> <12>Загрузить стартовый шаблон ', name: 'Solid (с TypeScript)', }, }, sql: { desc: 'SQLite, скомпилированный в JavaScript с использованием SQL.js', - link: '<1> Официальный сайт SQLite Документация по синтаксису SQLite Официальный сайт SQL.js Изучите X за Y минут, где X=SQL Загрузить стартовый шаблон', + link: '<1> <2>Официальный сайт SQLite <3> <4>Документация по синтаксису SQLite <5> <6>Официальный сайт SQL.js <7> <8>Изучите X за Y минут, где X=SQL <9><10>Загрузить стартовый шаблон', name: 'SQLite', }, stencil: { desc: 'Компилятор для веб-компонентов и высокопроизводительных веб-приложений.', - link: '<1> Официальный сайт Stencil Документация Stencil Загрузить стартовый шаблон ', + link: '<1> <2>Официальный сайт Stencil <3> <4>Документация Stencil <5> <6>Загрузить стартовый шаблон ', name: 'Stencil', }, styleProcessors: { - link: '<1> Tailwind CSS Windi CSS UnoCSS Lightning CSS PostCSS Плагины: Autoprefixer postcss-preset-env postcss-import-url postcss-modules ', + link: '<1> <2>Tailwind CSS <3> <4>Windi CSS <5> <6>UnoCSS <7> <8>Lightning CSS <9> <10>PostCSS Плагины: <11> <12> <13>Autoprefixer <14> <15>postcss-preset-env <16> <17>postcss-import-url <18> <19>postcss-modules ', name: 'CSS-фреймворки и процессоры', }, stylis: { desc: 'Легковесный CSS-препроцессор.', - link: '<1> Официальный сайт Stylis ', + link: '<1> <2>Официальный сайт Stylis ', name: 'Stylis', }, stylus: { desc: 'Выразительный, динамичный, надежный CSS.', - link: '<1> Официальный сайт Stylus Изучите X за Y минут, где X=stylus ', + link: '<1> <2>Официальный сайт Stylus <3> <4>Изучите X за Y минут, где X=stylus ', name: 'Stylus', }, sucrase: { desc: 'Сверхбыстрая альтернатива Babel для случаев, когда вы можете использовать современные среды выполнения JS.', - link: '<1> Официальный сайт Sucrase GitHub-репозиторий Sucrase Документация LiveCodes ', + link: '<1> <2>Официальный сайт Sucrase <3> <4>GitHub-репозиторий Sucrase <5> <6>Документация LiveCodes ', name: 'Sucrase', }, svelte: { desc: 'Кибернетически улучшенные веб-приложения.', - link: '<1> Официальный сайт Svelte Документация Svelte Загрузить стартовый шаблон ', + link: '<1> <2>Официальный сайт Svelte <3> <4>Документация Svelte <5> <6>Загрузить стартовый шаблон ', name: 'Svelte', }, tcl: { - desc: 'Tcl, работающий в браузере, с использованием <1>wacl.', - link: '<1> Официальный сайт Tcl Репозиторий wacl Изучите X за Y минут, где X=Tcl Загрузить стартовый шаблон ', + desc: 'Tcl, работающий в браузере, с использованием <1>wacl.', + link: '<1> <2>Официальный сайт Tcl <3> <4>Репозиторий wacl <5> <6>Изучите X за Y минут, где X=Tcl <7> <8>Загрузить стартовый шаблон ', name: 'Tcl (Tool Command Language)', }, teal: { desc: 'Типизированный диалект Lua.', - link: '<1> GitHub-репозиторий Teal Документация Teal Учебник по Teal Документация LiveCodes Загрузить стартовый шаблон ', + link: '<1> <2>GitHub-репозиторий Teal <3> <4>Документация Teal <5> <6>Учебник по Teal <7> <8>Документация LiveCodes <9> <10>Загрузить стартовый шаблон ', name: 'Teal', }, tsx: { desc: 'TypeScript в JSX. TSX компилируется в JavaScript в LiveCodes с использованием компилятора TypeScript. По умолчанию он использует React в качестве среды выполнения JSX.', - link: '<1> Официальный сайт React Документация по JSX в React Документация Typescript Документация LiveCodes ', + link: '<1> <2>Официальный сайт React <3> <4>Документация по JSX в React <5> <6>Документация Typescript <7> <8>Документация LiveCodes ', name: 'TSX', }, twig: { - desc: 'JavaScript-реализация <1>Twig — языка шаблонов PHP с помощью Twig.js.', - link: '<1> Официальный сайт Twig Документация Twig Репозиторий Twig.js Документация Twig.js Документация LiveCodes ', + desc: 'JavaScript-реализация <1>Twig — языка шаблонов PHP с помощью <2>Twig.js.', + link: '<1> <2>Официальный сайт Twig <3> <4>Документация Twig <5> <6>Репозиторий Twig.js <7> <8>Документация Twig.js <9> <10>Документация LiveCodes ', name: 'Twig', }, typescript: { desc: 'Типизированное надмножество JavaScript.', - link: '<1> Официальный сайт Документация TypeScript Изучите X за Y минут, где X=TypeScript Загрузить стартовый шаблон ', + link: '<1> <2>Официальный сайт <3> <4>Документация TypeScript <5> <6>Изучите X за Y минут, где X=TypeScript <7> <8>Загрузить стартовый шаблон ', name: 'TypeScript', }, vue: { - link: '<1> Официальный сайт Vue.js v3 Документация Vue3 Однофайловые компоненты Vue3 Документация LiveCodes Загрузить стартовый шаблон', + link: '<1> <2>Официальный сайт Vue.js v3 <3> <4>Документация Vue3 <5> <6>Однофайловые компоненты Vue3 <7> <8>Документация LiveCodes <9><10>Загрузить стартовый шаблон', name: 'Однофайловые компоненты Vue3', }, vue2: { desc: 'Загружается с использованием vue3-sfc-loader.', - link: '<1>Официальный сайт Vue.js Документация Vue2 Однофайловые компоненты Vue2 GitHub-репозиторий vue3-sfc-loader Документация LiveCodes ', + link: '<1><2>Официальный сайт Vue.js <3> <4>Документация Vue2 <5> <6>Однофайловые компоненты Vue2 <7> <8>GitHub-репозиторий vue3-sfc-loader <9> <10>Документация LiveCodes ', name: 'Однофайловые компоненты Vue2', }, wat: { desc1: 'Низкоуровневое текстовое представление двоичного формата WebAssembly (wasm).', desc2: 'Он конвертируется в wasm с использованием wabt.js.', - link: '<1>WebAssembly.org Спецификация текстового формата WebAssembly WebAssembly на MDN Понимание текстового формата WebAssembly Документация wabt.js Изучите X за Y минут, где X=WebAssembly Загрузить стартовый шаблон', + link: '<1><2>WebAssembly.org <3> <4>Спецификация текстового формата WebAssembly <5> <6>WebAssembly на MDN <7> <8>Понимание текстового формата WebAssembly <9> <10>Документация wabt.js <11> <12>Изучите X за Y минут, где X=WebAssembly <13><14>Загрузить стартовый шаблон', name: 'Текстовый формат WebAssembly', }, }; diff --git a/src/livecodes/i18n/locales/ru/translation.ts b/src/livecodes/i18n/locales/ru/translation.ts index 43c73453e..1cc55c5d1 100644 --- a/src/livecodes/i18n/locales/ru/translation.ts +++ b/src/livecodes/i18n/locales/ru/translation.ts @@ -14,9 +14,9 @@ const translation: I18nTranslation = { heading: 'О LiveCodes', livecodes: { para1: - '<1>LiveCodes - это проект с открытым исходным кодом, богатый функциями, клиентская игровая площадка для кода. В настоящее время поддерживается более 80 языков/фреймворков. Его можно использовать как отдельное приложение или встраивать в любую веб-страницу. Существует множество способов предварительного заполнения площадок кодом.', + '<1><2>LiveCodes - это <3>проект с открытым исходным кодом, <4>богатый функциями, <5>клиентская игровая площадка для кода. В настоящее время поддерживается <6>более 80 языков/<7>фреймворков. Его можно использовать как отдельное приложение или <8>встраивать в любую веб-страницу. Существует множество способов <9>предварительного заполнения площадок кодом.', para2: - 'Широкий спектр <1>параметров конфигурации делает его очень гибким. Мощный SDK (для JS/TS, React, Vue и Svelte) облегчает встраивание и взаимодействие с площадками. Доступна исчерпывающая документация с примерами кода, живыми демонстрациями и скриншотами.', + 'Широкий спектр <1>параметров конфигурации делает его очень гибким. Мощный <2>SDK (для <3>JS/TS, <4>React, <5>Vue и <6>Svelte) облегчает <7>встраивание и <8>взаимодействие с площадками. Доступна <9>исчерпывающая документация с примерами кода, живыми демонстрациями и скриншотами.', }, version: { app: 'Версия приложения: {{APP_VERSION}}', @@ -28,6 +28,9 @@ const translation: I18nTranslation = { }, }, app: { + consoleMessage: { + learnMore: 'Узнать больше! {{docsUrl}} 🚀', + }, copy: { hint: 'Копировать (Ctrl/Cmd + A, Ctrl/Cmd + C)', }, @@ -81,12 +84,12 @@ const translation: I18nTranslation = { assets: { add: { dataURL: { - desc: 'Добавить актив как <1>URL данных в кодировке base64.', + desc: 'Добавить актив как <1>URL данных в кодировке base64.', heading: 'URL данных', label: 'Добавить файл', }, githubPages: { - desc: 'Разместить актив на GitHub Pages. Файл будет отправлен в ветку <1>gh-pages репозитория livecodes-assets на вашем аккаунте GitHub. Если репозиторий еще не существует, будет создан публичный репозиторий.', + desc: 'Разместить актив на GitHub Pages. Файл будет отправлен в ветку <1>gh-pages репозитория <2>livecodes-assets на вашем аккаунте GitHub. Если репозиторий еще не существует, будет создан публичный репозиторий.', heading: 'GitHub Pages', label: 'Загрузить файл', }, @@ -157,7 +160,7 @@ const translation: I18nTranslation = { backup: { assets: 'Активы', button: 'Резервное копирование', - desc: 'Создайте резервную копию данных LiveCodes, чтобы их можно было позже восстановить на этом или других устройствах. <1> Пожалуйста, ознакомьтесь с документацией для получения подробностей.', + desc: 'Создайте резервную копию данных LiveCodes, чтобы их можно было позже восстановить на этом или других устройствах. <1> Пожалуйста, ознакомьтесь с <2>документацией для получения подробностей.', heading: 'Резервное копирование', projects: 'Проекты', settings: 'Пользовательские настройки', @@ -173,7 +176,7 @@ const translation: I18nTranslation = { heading: 'Резервное копирование / Восстановление', inProgress: 'В процессе...', restore: { - desc: 'Восстановите ранее созданную резервную копию данных LiveCodes. <1> Если вы решите заменить текущее содержимое, возможно, вы захотите сначала создать его резервную копию. Пожалуйста, ознакомьтесь с документацией для получения подробностей.', + desc: 'Восстановите ранее созданную резервную копию данных LiveCodes. <1> Если вы решите заменить текущее содержимое, возможно, вы захотите сначала создать его резервную копию. <2> Пожалуйста, ознакомьтесь с <3>документацией для получения подробностей.', fromFile: 'Восстановить из файла', heading: 'Восстановление', mode: { @@ -191,7 +194,7 @@ const translation: I18nTranslation = { broadcasting: 'Трансляция...', channelURL: 'URL канала', connecting: 'Подключение...', - desc: 'Транслируйте страницу результатов на другие браузеры/устройства в режиме реального времени. Пожалуйста, ознакомьтесь с <1>документацией для получения подробностей.', + desc: 'Транслируйте страницу результатов на другие браузеры/устройства в режиме реального времени. Пожалуйста, ознакомьтесь с <1>документацией для получения подробностей.', error: { generic: 'Не удалось начать трансляцию!', serverURLRequired: 'Требуется URL сервера!', @@ -291,9 +294,9 @@ const translation: I18nTranslation = { }, deploy: { create: { - desc: 'Будет создан новый <1>публичный репозиторий. Страница результатов будет отправлена в ветку gh-pages.', + desc: 'Будет создан новый <1>публичный репозиторий. Страница результатов будет отправлена в ветку <2>gh-pages.', heading: 'Создать новый репозиторий', - repoName: 'Название репозитория <1>', + repoName: 'Название репозитория <1>', }, error: { generic: 'Развертывание не удалось!', @@ -301,7 +304,7 @@ const translation: I18nTranslation = { repoNameRequired: 'Требуется название репозитория', }, existing: { - desc: 'Новый коммит будет добавлен в ветку <1>gh-pages.', + desc: 'Новый коммит будет добавлен в ветку <1>gh-pages.', heading: 'Существующий репозиторий', repoName: 'Название репозитория', }, @@ -322,7 +325,7 @@ const translation: I18nTranslation = { closeBrackets: 'Автоматически закрывать скобки и кавычки', codeJarDesc: '* Отмеченные функции недоступны в CodeJar.', default: 'По умолчанию', - desc: 'Пожалуйста, ознакомьтесь с <1>документацией для подробностей.', + desc: 'Пожалуйста, ознакомьтесь с <1>документацией для подробностей.', editor: { codejar: 'CodeJar', codemirror: 'CodeMirror', @@ -338,7 +341,7 @@ const translation: I18nTranslation = { emmet: 'Включить Emmet *', enableAI: { heading: 'Включить AI-помощник для кода', - note: 'Работает на <1>', + note: 'Работает на <1><2>', }, fontFamily: 'Семейство шрифтов', fontSize: 'Размер шрифта', @@ -376,7 +379,7 @@ const translation: I18nTranslation = { copy: 'Копировать код', heading: 'Код', }, - desc: 'Пожалуйста, ознакомьтесь с <1>документацией для расширенных настроек.', + desc: 'Пожалуйста, ознакомьтесь с <1>документацией для расширенных настроек.', embedType: { cdn: 'Скрипт (CDN)', heading: 'Тип встраивания', @@ -447,17 +450,18 @@ const translation: I18nTranslation = { more: 'Ещё...', optional: 'Необязательно', required: 'Обязательно', + tagline: 'Площадка Для Кода, Которая Просто Работает!', }, import: { bulk: { - desc: 'Массовый импорт нескольких проектов в ваши сохраненные проекты. Проекты можно экспортировать из экрана <1>Сохраненные проекты.', + desc: 'Массовый импорт нескольких проектов в ваши сохраненные проекты. Проекты можно экспортировать из экрана <1>Сохраненные проекты.', fromFile: 'Массовый импорт из локального файла', fromURL: 'Массовый импорт из URL', heading: 'Массовый импорт', started: 'Начат массовый импорт...', }, code: { - desc: 'Поддерживаемые источники: <1> GitHub gist Файл GitHub Директория в репозитории GitHub Сниппет Gitlab Файл Gitlab Директория в репозитории Gitlab JS Bin Сырой код Код в DOM веб-страницы Код в zip-файле Официальные площадки(TypeScript, Vue и Svelte) Пожалуйста, посетите документацию для подробностей.', + desc: 'Поддерживаемые источники: <1> <2>GitHub gist <3>Файл GitHub <4>Директория в репозитории GitHub <5>Сниппет Gitlab <6>Файл Gitlab <7>Директория в репозитории Gitlab <8>JS Bin <9>Сырой код <10>Код в DOM веб-страницы <11>Код в zip-файле <12>Официальные площадки<13>(TypeScript, Vue и Svelte) Пожалуйста, посетите <14>документацию для подробностей.', fromFile: 'Импорт локальных файлов', fromURL: 'Импорт из URL', heading: 'Импорт кода', @@ -482,7 +486,7 @@ const translation: I18nTranslation = { }, login: { accessAllowed: 'Разрешить доступ к:', - desc: '<1>Выполняя вход, вы соглашаетесь с тем, что файлы cookie могут быть сохранены на вашем устройстве. Почему требуются эти разрешения? Как изменить/отозвать разрешения? ', + desc: '<1>Выполняя вход, вы соглашаетесь с тем, что <2>файлы cookie могут быть сохранены на вашем устройстве. <3> <4>Почему требуются эти разрешения? <5> <6>Как изменить/отозвать разрешения? ', gist: 'Гисты', heading: 'Войти через GitHub', loginAs: 'Вход выполнен как {{name}}', @@ -500,7 +504,7 @@ const translation: I18nTranslation = { broadcast: 'Трансляция …', customSettings: 'Пользовательские настройки …', delay: { - heading: 'Задержка: <1>1.5с', + heading: 'Задержка: <1>1.5с', hint: 'Задержка перед автообновлением', }, deploy: 'Развертывание …', @@ -537,7 +541,7 @@ const translation: I18nTranslation = { hint: 'Нажмите Alt/Option и переместите курсор над страницей результата', }, snippets: 'Фрагменты кода …', - sync: 'Синхронизация (бета) … <1> ⏳', + sync: 'Синхронизация (бета) … <1> ⏳', theme: 'Темная тема', welcome: { heading: 'Приветствие …', @@ -590,11 +594,11 @@ const translation: I18nTranslation = { recoverPrompt: { desc: 'Ваш последний проект имеет несохраненные изменения!', heading: 'Восстановить несохраненный проект?', - meta: 'Название: <1> Последнее изменение: ', + meta: 'Название: <1> <2> Последнее изменение: <3>', notShowAgain: 'Больше не показывать это.', prompt: { discard: 'Отменить несохраненный проект', - heading: '<1>Хотите восстановить его сейчас?', + heading: '<1>Хотите восстановить его сейчас?', recover: 'Восстановить проект в редакторе', save: 'Сохранить на устройство и продолжить', }, @@ -613,13 +617,13 @@ const translation: I18nTranslation = { }, fonts: { add: 'Добавить', - heading: 'Шрифты <1>(работает на Google Fonts)', + heading: 'Шрифты <1>(работает на Google Fonts)', select: 'Выбрать шрифт ...', }, heading: 'Внешние ресурсы', scripts: 'Внешние скрипты', search: { - heading: 'Поиск пакетов <1>(работает на jsDelivr)', + heading: 'Поиск пакетов <1>(работает на jsDelivr)', placeholder: 'например, jquery, lodash@4, bootstrap@5.2.3, ...', }, stylesheets: 'Внешние таблицы стилей', @@ -631,7 +635,7 @@ const translation: I18nTranslation = { prompt: { cancel: 'Отмена', discard: 'Не сохранять', - heading: 'Внесенные изменения могут быть не сохранены. <1> Хотите сохранить сейчас?', + heading: 'Внесенные изменения могут быть не сохранены. <1> Хотите сохранить сейчас?', save: 'Сохранить', }, }, @@ -729,7 +733,7 @@ const translation: I18nTranslation = { sync: { autoSync: 'Автосинхронизация', create: { - desc: 'Будет создан новый <1>приватный репозиторий. Ваши локальные данные LiveCodes будут синхронизированы с веткой main.', + desc: 'Будет создан новый <1>приватный репозиторий. Ваши локальные данные LiveCodes будут синхронизированы с веткой <2>main.', heading: 'Создать новый репозиторий', repoName: 'Название репозитория', }, @@ -738,7 +742,7 @@ const translation: I18nTranslation = { repoNameRequired: 'Требуется название репозитория', }, existing: { - desc: 'Ваши локальные данные LiveCodes будут синхронизированы с веткой <1>main.', + desc: 'Ваши локальные данные LiveCodes будут синхронизированы с веткой <1>main.', heading: 'Существующий репозиторий', repoName: 'Название репозитория', }, @@ -752,7 +756,7 @@ const translation: I18nTranslation = { templates: { heading: 'Новый проект', noUserTemplates: { - desc: 'Вы можете сохранить проект как шаблон из <1>(Меню приложения > Сохранить как > Шаблон).', + desc: 'Вы можете сохранить проект как шаблон из <1>(Меню приложения > Сохранить как > Шаблон).', heading: 'У вас нет сохраненных шаблонов.', }, starter: { @@ -839,16 +843,16 @@ const translation: I18nTranslation = { }, test: { edit: 'Редактировать', - error: '<1>Ошибка теста!', - loading: '<1>Загрузка тестов...', - noTest: '<1>У этого проекта нет тестов!', + error: '<1><2>Ошибка теста!', + loading: '<1>Загрузка тестов...', + noTest: '<1>У этого проекта нет тестов!', reset: 'Сбросить', run: { desc: 'Ctrl/Cmd + Alt + T', heading: 'Запустить', }, summary: { - desc: 'Тесты: {{failed}}\n {{passed}}\n {{skipped}}\n {{total}}<1>\nВремя: {{duration}}с', + desc: 'Тесты: {{failed}}\n {{passed}}\n {{skipped}}\n {{total}}<1>\nВремя: {{duration}}с', failed: '{{failedNum}} не пройдено', passed: '{{passedNum}} пройдено', skipped: '{{skippedNum}} пропущено', @@ -873,7 +877,7 @@ const translation: I18nTranslation = { recover: { cancel: 'Отмена', heading: 'Восстановить', - lastModified: 'Последнее изменение: <1>', + lastModified: 'Последнее изменение: <1>', recover: 'Восстановить', save: 'Сохранить', unsavedChanges: 'В вашем последнем проекте были несохраненные изменения:', diff --git a/src/livecodes/i18n/locales/ur/language-info.ts b/src/livecodes/i18n/locales/ur/language-info.ts index 64ab5c472..246fd505b 100644 --- a/src/livecodes/i18n/locales/ur/language-info.ts +++ b/src/livecodes/i18n/locales/ur/language-info.ts @@ -5,204 +5,204 @@ import type { I18nLangInfoTranslation } from '../models'; const languageInfo: I18nLangInfoTranslation = { artTemplate: { desc: 'اعلی کارکردگی والا جاوا اسکرپٹ ٹیمپلیٹنگ انجن۔', - link: '<1> آرٹ-ٹیمپلیٹ کی سرکاری ویب سائٹ آرٹ-ٹیمپلیٹ کی دستاویزات ', + link: '<1> <2>آرٹ-ٹیمپلیٹ کی سرکاری ویب سائٹ <3> <4>آرٹ-ٹیمپلیٹ کی دستاویزات ', name: 'آرٹ-ٹیمپلیٹ', }, asciidoc: { desc: 'ایسکی ڈاک کو ایسکی ڈاکٹر کے ذریعے HTML میں تبدیل کیا گیا۔', - link: '<1> ایسکی ڈاک کی سرکاری ویب سائٹ ایسکی ڈاکٹر کی سرکاری ویب سائٹ ایسکی ڈاکٹر کی دستاویزات X کو Y منٹ میں سیکھیں، جہاں X = ایسکی ڈاک ', + link: '<1> <2>ایسکی ڈاک کی سرکاری ویب سائٹ <3> <4>ایسکی ڈاکٹر کی سرکاری ویب سائٹ <5> <6>ایسکی ڈاکٹر کی دستاویزات <7> <8>X کو Y منٹ میں سیکھیں، جہاں X = ایسکی ڈاک ', name: 'ایسکی ڈاک', }, assemblyscript: { desc: 'ویب اسمبلی کے لیے ٹائپ اسکرپٹ جیسی زبان۔', - link: '<1> اسمبلی اسکرپٹ کی سرکاری ویب سائٹ اسمبلی اسکرپٹ کی دستاویزات ابتدائی سانچہ لوڈ کریں ', + link: '<1> <2>اسمبلی اسکرپٹ کی سرکاری ویب سائٹ <3> <4>اسمبلی اسکرپٹ کی دستاویزات <5> <6>ابتدائی سانچہ لوڈ کریں ', name: 'اسمبلی اسکرپٹ', }, astro: { desc: 'کم کلائنٹ-سائڈ جاوا اسکرپٹ کے ساتھ تیز تر ویب سائٹس بنائیں۔ (ابھی بھی بیٹا میں ہے)', - link: '<1> ایسٹرو کی سرکاری ویب سائٹ ایسٹرو کی دستاویزات ابتدائی سانچہ لوڈ کریں ', + link: '<1> <2>ایسٹرو کی سرکاری ویب سائٹ <3> <4>ایسٹرو کی دستاویزات <5> <6>ابتدائی سانچہ لوڈ کریں ', name: 'ایسٹرو', }, babel: { desc: 'جاوا اسکرپٹ کمپائلر', - link: '<1>سرکاری ویب سائٹ بابل کی دستاویزات ', + link: '<1><2>سرکاری ویب سائٹ <3> <4>بابل کی دستاویزات ', name: 'بابل', }, bbcode: { desc: 'بی بی کوڈ ("بلیٹن بورڈ کوڈ") ایک ہلکی مارک اپ زبان ہے جو بہت سے انٹرنیٹ فورم سافٹ ویئر میں پیغامات کو فارمیٹ کرنے کے لیے استعمال ہوتی ہے۔', - link: '<1>bbcode.org بی بی کوڈ گائیڈ ویکیپیڈیا پر بی بی کوڈ ', + link: '<1><2>bbcode.org <3> <4>بی بی کوڈ گائیڈ <5> <6>ویکیپیڈیا پر بی بی کوڈ ', name: 'بی بی کوڈ', }, blockly: { desc: 'بصری پروگرامنگ ایڈیٹرز بنانے کے لیے ایک جاوا اسکرپٹ لائبریری۔', - link: '<1> سرکاری ویب سائٹ رہنما حوالہ نمونے ابتدائی سانچہ لوڈ کریں ', + link: '<1> <2>سرکاری ویب سائٹ <3> <4>رہنما <5> <6>حوالہ <7> <8>نمونے <9> <10>ابتدائی سانچہ لوڈ کریں ', name: 'بلاکلی', }, civet: { desc: 'سیوٹ ایک پروگرامنگ زبان ہے جو ٹائپ اسکرپٹ یا جاوا اسکرپٹ میں کمپائل ہوتی ہے، تاکہ آپ موجودہ ٹولنگ استعمال کر سکیں لیکن مختصر اور طاقتور نحو کو فعال کر سکیں۔', - link: '<1> سیوٹ کی سرکاری ویب سائٹ سیوٹ چیٹ شیٹ ابتدائی سانچہ لوڈ کریں ', + link: '<1> <2>سیوٹ کی سرکاری ویب سائٹ <3> <4>سیوٹ چیٹ شیٹ <5> <6>ابتدائی سانچہ لوڈ کریں ', name: 'سیوٹ', }, clio: { desc: 'کلیو ایک تیز، تقسیم شدہ، فنکشنل پروگرامنگ زبان ہے جو جاوا اسکرپٹ میں کمپائل ہوتی ہے۔', - link: '<1> کلیو کی سرکاری ویب سائٹ کلیو کی دستاویزات ابتدائی سانچہ لوڈ کریں ', + link: '<1> <2>کلیو کی سرکاری ویب سائٹ <3> <4>کلیو کی دستاویزات <5> <6>ابتدائی سانچہ لوڈ کریں ', name: 'کلیو', }, clojurescript: { - desc: 'کلوجر اسکرپٹ <1>کلوجر کے لیے ایک کمپائلر ہے جو جاوا اسکرپٹ کو ہدف بناتا ہے۔ لائیو کوڈز میں، یہ براؤزر میں چیری کا استعمال کرتے ہوئے چلتا ہے۔', - link: '<1> کلوجر اسکرپٹ کی سرکاری ویب سائٹ کلوجر کی سرکاری ویب سائٹ چیری ریپوزٹری X کو Y منٹ میں سیکھیں، جہاں X=کلوجر لائیو کوڈز دستاویزات ابتدائی سانچہ لوڈ کریں ', + desc: 'کلوجر اسکرپٹ <1>کلوجر کے لیے ایک کمپائلر ہے جو جاوا اسکرپٹ کو ہدف بناتا ہے۔ <2>لائیو کوڈز میں، یہ براؤزر میں <3>چیری کا استعمال کرتے ہوئے چلتا ہے۔', + link: '<1> <2>کلوجر اسکرپٹ کی سرکاری ویب سائٹ <3> <4>کلوجر کی سرکاری ویب سائٹ <5> <6>چیری ریپوزٹری <7> <8>X کو Y منٹ میں سیکھیں، جہاں X=کلوجر <9> <10>لائیو کوڈز دستاویزات <11> <12>ابتدائی سانچہ لوڈ کریں ', name: 'کلوجر اسکرپٹ (سی ایل جے ایس)', }, coffeescript: { desc: 'سادہ جاوا اسکرپٹ۔', - link: '<1> کافی اسکرپٹ کی سرکاری ویب سائٹ X کو Y منٹ میں سیکھیں، جہاں X=کافی اسکرپٹ ابتدائی سانچہ لوڈ کریں ', + link: '<1> <2>کافی اسکرپٹ کی سرکاری ویب سائٹ <3> <4>X کو Y منٹ میں سیکھیں، جہاں X=کافی اسکرپٹ <5> <6>ابتدائی سانچہ لوڈ کریں ', name: 'کافی اسکرپٹ', }, commonlisp: { desc: 'جے ایس سی ایل (کامن لسپ سے بوٹ سٹریپ کیا گیا لسپ-ٹو-جاوا اسکرپٹ کمپائلر) کا استعمال کرتے ہوئے جاوا اسکرپٹ پر کامن لسپ کا نفاذ۔', - link: '<1> کامن-لسپ.نیٹ جے ایس سی ایل پروجیکٹ کامن لسپ وسائل X کو Y منٹ میں سیکھیں، جہاں X=کامن لسپ ابتدائی سانچہ لوڈ کریں ', + link: '<1> <2>کامن-لسپ.نیٹ <3> <4>جے ایس سی ایل پروجیکٹ <5> <6>کامن لسپ وسائل <7> <8>X کو Y منٹ میں سیکھیں، جہاں X=کامن لسپ <9> <10>ابتدائی سانچہ لوڈ کریں ', name: 'کامن لسپ', }, cpp: { desc1: 'جے ایس سی پی پی (جاوا اسکرپٹ میں لکھا گیا ایک سادہ سی++ انٹرپریٹر) کا استعمال کرتے ہوئے سی++ کی معاونت۔', desc2: - 'یہ سی++ کا مکمل نفاذ نہیں ہے۔ تفصیلات کے لیے براہ کرم <1>جے ایس سی پی پی دستاویزات سے رجوع کریں۔', - link: '<1> معیاری سی++ فاؤنڈیشن جے ایس سی پی پی X کو Y منٹ میں سیکھیں، جہاں X=سی++ ابتدائی سانچہ لوڈ کریں ', + 'یہ سی++ کا مکمل نفاذ نہیں ہے۔ تفصیلات کے لیے براہ کرم <1>جے ایس سی پی پی دستاویزات سے رجوع کریں۔', + link: '<1> <2>معیاری سی++ فاؤنڈیشن <3> <4>جے ایس سی پی پی <5> <6>X کو Y منٹ میں سیکھیں، جہاں X=سی++ <7> <8>ابتدائی سانچہ لوڈ کریں ', name: 'سی++', }, cppWasm: { - desc: 'ویب اسمبلی پر چلنے والا کلینگ سی/سی++ کمپائلر، <1>ڈبلیو اے ایس ایم-کلینگ کا استعمال کرتے ہوئے جسے پولی لینگ.آئی او نے اپنایا ہے۔', - link: '<1> معیاری سی++ فاؤنڈیشن کلینگ کی سرکاری ویب سائٹ X کو Y منٹ میں سیکھیں، جہاں X=سی++ ابتدائی سانچہ لوڈ کریں ', + desc: 'ویب اسمبلی پر چلنے والا کلینگ سی/سی++ کمپائلر، <1>ڈبلیو اے ایس ایم-کلینگ کا استعمال کرتے ہوئے جسے <2>پولی لینگ.آئی او نے اپنایا ہے۔', + link: '<1> <2>معیاری سی++ فاؤنڈیشن <3> <4>کلینگ کی سرکاری ویب سائٹ <5> <6>X کو Y منٹ میں سیکھیں، جہاں X=سی++ <7> <8>ابتدائی سانچہ لوڈ کریں ', name: 'سی/سی++ (ڈبلیو اے ایس ایم)', }, diagrams: { desc1: '(تجرباتی)', desc2: 'کوڈ کے طور پر خاکے۔ معاونت کرتا ہے:', desc3: - '<1> سائٹو اسکیپ ای ایل کے (ایلک جے ایس کا استعمال کرتے ہوئے) جی این یو پلاٹ (جی این یو پلاٹ-جے ایس کا استعمال کرتے ہوئے) گراف وز (@ایچ پی سی سی-جے ایس/ڈبلیو اے ایس ایم کا استعمال کرتے ہوئے) مرمیڈ نوم نوم ایل پنٹورا پلاٹلی ایس وی جی باب ویگا ویگا لائٹ ویو ڈروم ', - link: '<1> ابتدائی سانچہ لوڈ کریں لائیو کوڈز دستاویزات ', + '<1> <2>سائٹو اسکیپ <3> <4>ای ایل کے (<5>ایلک جے ایس کا استعمال کرتے ہوئے) <6> <7>جی این یو پلاٹ (<8>جی این یو پلاٹ-جے ایس کا استعمال کرتے ہوئے) <9> <10>گراف وز (<11>@ایچ پی سی سی-جے ایس/ڈبلیو اے ایس ایم کا استعمال کرتے ہوئے) <12> <13>مرمیڈ <14> <15>نوم نوم ایل <16> <17>پنٹورا <18> <19>پلاٹلی <20> <21>ایس وی جی باب <22> <23>ویگا <24> <25>ویگا لائٹ <26> <27>ویو ڈروم ', + link: '<1> <2>ابتدائی سانچہ لوڈ کریں <3> <4>لائیو کوڈز دستاویزات ', name: 'خاکے', }, dot: { desc: 'نوڈ.جے ایس اور براؤزرز کے لیے سب سے تیز + مختصر جاوا اسکرپٹ ٹیمپلیٹ انجن۔', - link: '<1> سرکاری ویب سائٹ لائیو کوڈز دستاویزات ', + link: '<1> <2>سرکاری ویب سائٹ <3> <4>لائیو کوڈز دستاویزات ', name: 'ڈاٹ.جے ایس', }, ejs: { desc: 'ایمبیڈڈ جاوا اسکرپٹ ٹیمپلیٹنگ۔', - link: '<1>سرکاری ویب سائٹ لائیو کوڈز دستاویزات ', + link: '<1><2>سرکاری ویب سائٹ <3> <4>لائیو کوڈز دستاویزات ', name: 'ای جے ایس', }, eta: { desc: 'نوڈ، ڈینو، اور براؤزر کے لیے ایمبیڈڈ جے ایس ٹیمپلیٹ انجن۔ ہلکا، تیز، اور پلگ ایبل۔ ٹائپ اسکرپٹ میں لکھا گیا۔', - link: '<1>سرکاری ویب سائٹ دستاویزات لائیو کوڈز دستاویزات ', + link: '<1><2>سرکاری ویب سائٹ <3> <4>دستاویزات <5> <6>لائیو کوڈز دستاویزات ', name: 'ایٹا', }, fennel: { desc: 'فینل ایک پروگرامنگ زبان ہے جو لوا کی رفتار، سادگی اور پہنچ کو لسپ نحو اور میکرو سسٹم کی لچک کے ساتھ جمع کرتی ہے۔', - link: '<1> فینل کی سرکاری ویب سائٹ فینل کے ساتھ شروعات لائیو کوڈز دستاویزات ابتدائی سانچہ لوڈ کریں ', + link: '<1> <2>فینل کی سرکاری ویب سائٹ <3> <4>فینل کے ساتھ شروعات <5> <6>لائیو کوڈز دستاویزات <7> <8>ابتدائی سانچہ لوڈ کریں ', name: 'فینل', }, flow: { desc: 'فلو جاوا اسکرپٹ کے لیے ایک اسٹیٹک ٹائپ چیکر ہے۔', - link: '<1> فلو کی سرکاری ویب سائٹ فلو کی دستاویزات ', + link: '<1> <2>فلو کی سرکاری ویب سائٹ <3> <4>فلو کی دستاویزات ', name: 'فلو', }, gleam: { desc1: 'گلیم ٹائپ-محفوظ نظام بنانے کے لیے ایک دوستانہ زبان ہے جو پیمانہ بناتی ہے!', desc2: 'گلیم ایک اسٹیٹکلی-ٹائپڈ فنکشنل پروگرامنگ زبان ہے، جو ارلانگ یا جاوا اسکرپٹ میں کمپائل ہوتی ہے۔', - link: '<1>گلیم ویب سائٹ گلیم دستاویزات گلیم زبان کا دورہ ابتدائی سانچہ لوڈ کریں ', + link: '<1><2>گلیم ویب سائٹ <3> <4>گلیم دستاویزات <5> <6>گلیم زبان کا دورہ <7> <8>ابتدائی سانچہ لوڈ کریں ', name: 'گلیم', }, go: { desc1: 'گو (گولانگ) ایک اوپن سورس پروگرامنگ زبان ہے جو سادہ، قابل اعتماد، اور موثر سافٹ ویئر بنانے کو آسان بناتی ہے۔', desc2: 'یہاں، یہ گوفر جے ایس کا استعمال کرتے ہوئے جاوا اسکرپٹ میں کمپائل کیا جاتا ہے۔', - link: '<1>گو ویب سائٹ گو دستاویزات گوفر جے ایس ریپو X کو Y منٹ میں سیکھیں، جہاں X=گو ابتدائی سانچہ لوڈ کریں', + link: '<1><2>گو ویب سائٹ <3><4>گو دستاویزات <5> <6>گوفر جے ایس ریپو <7> <8>X کو Y منٹ میں سیکھیں، جہاں X=گو <9><10>ابتدائی سانچہ لوڈ کریں', name: 'گو', }, haml: { desc: 'کلائنٹ سائیڈ جاوا اسکرپٹ ویو ٹیمپلیٹس کے لیے کلائنٹ سائیڈ-ہیمل-جے ایس کا استعمال کرتے ہوئے ہیمل کمپائلر۔', - link: '<1>ہیمل کی سرکاری ویب سائٹ ہیمل دستاویزات کلائنٹ سائیڈ-ہیمل-جے ایس گٹ ہب ریپو X کو Y منٹ میں سیکھیں، جہاں X=ہیمل لائیو کوڈز دستاویزات ', + link: '<1><2>ہیمل کی سرکاری ویب سائٹ <3> <4>ہیمل دستاویزات <5> <6>کلائنٹ سائیڈ-ہیمل-جے ایس گٹ ہب ریپو <7> <8>X کو Y منٹ میں سیکھیں، جہاں X=ہیمل <9> <10>لائیو کوڈز دستاویزات ', name: 'ہیمل', }, handlebars: { desc: 'اسٹیرائڈز پر کم از کم ٹیمپلیٹنگ۔', - link: '<1>سرکاری ویب سائٹ لائیو کوڈز دستاویزات ', + link: '<1><2>سرکاری ویب سائٹ <3> <4>لائیو کوڈز دستاویزات ', name: 'ہینڈل بارز', }, imba: { desc: 'دوستانہ فل-اسٹیک زبان۔', - link: '<1>سرکاری ویب سائٹ', + link: '<1><2>سرکاری ویب سائٹ', name: 'امبا', }, jsx: { desc: 'جے ایس ایکس کو لائیو کوڈز میں ٹائپ اسکرپٹ کمپائلر کا استعمال کرتے ہوئے جاوا اسکرپٹ میں کمپائل کیا جاتا ہے۔ ڈیفالٹ طور پر یہ جے ایس ایکس رن ٹائم کے طور پر ری ایکٹ کا استعمال کرتا ہے۔', - link: '<1> ری ایکٹ کی سرکاری ویب سائٹ ری ایکٹ دستاویزات میں جے ایس ایکس لائیو کوڈز دستاویزات ابتدائی سانچہ لوڈ کریں ', + link: '<1> <2>ری ایکٹ کی سرکاری ویب سائٹ <3> <4>ری ایکٹ دستاویزات میں جے ایس ایکس <5> <6>لائیو کوڈز دستاویزات <7> <8>ابتدائی سانچہ لوڈ کریں ', name: 'جے ایس ایکس', }, julia: { desc1: '(لائیو کوڈز میں جولیا زبان کی معاونت ابھی بھی تجرباتی ہے)', desc2: - 'ڈبلیو اے ایس ایم پر چلنے والا جولیا کمپائلر اور جولیا بیس، <1>جولیا-ڈبلیو اے ایس ایم کا استعمال کرتے ہوئے جسے پولی لینگ.آئی او نے اپنایا ہے۔', - link: '<1> جولیا کی سرکاری ویب سائٹ جولیا دستاویزات X کو Y منٹ میں سیکھیں، جہاں X=جولیا ابتدائی سانچہ لوڈ کریں ', + 'ڈبلیو اے ایس ایم پر چلنے والا جولیا کمپائلر اور جولیا بیس، <1>جولیا-ڈبلیو اے ایس ایم کا استعمال کرتے ہوئے جسے <2>پولی لینگ.آئی او نے اپنایا ہے۔', + link: '<1> <2>جولیا کی سرکاری ویب سائٹ <3> <4>جولیا دستاویزات <5> <6>X کو Y منٹ میں سیکھیں، جہاں X=جولیا <7> <8>ابتدائی سانچہ لوڈ کریں ', name: 'جولیا', }, less: { desc: 'یہ سی ایس ایس ہے، بس تھوڑا سا زیادہ کے ساتھ۔', - link: '<1>لیس کی سرکاری ویب سائٹ X کو Y منٹ میں سیکھیں، جہاں X=لیس ', + link: '<1><2>لیس کی سرکاری ویب سائٹ <3> <4>X کو Y منٹ میں سیکھیں، جہاں X=لیس ', name: 'لیس', }, liquid: { desc: 'ایک سادہ، اظہاری اور محفوظ ٹیمپلیٹ انجن۔', - link: '<1> لیکوڈ جے ایس کی سرکاری ویب سائٹ لیکوڈ جے ایس دستاویزات لائیو کوڈز دستاویزات ', + link: '<1> <2>لیکوڈ جے ایس کی سرکاری ویب سائٹ <3> <4>لیکوڈ جے ایس دستاویزات <5> <6>لائیو کوڈز دستاویزات ', name: 'لیکوڈ جے ایس', }, livescript: { desc: 'ایک زبان جو جاوا اسکرپٹ میں کمپائل ہوتی ہے۔', - link: '<1> لائیو اسکرپٹ کی سرکاری ویب سائٹ X کو Y منٹ میں سیکھیں، جہاں X=لائیو اسکرپٹ ابتدائی سانچہ لوڈ کریں ', + link: '<1> <2>لائیو اسکرپٹ کی سرکاری ویب سائٹ <3> <4>X کو Y منٹ میں سیکھیں، جہاں X=لائیو اسکرپٹ <5> <6>ابتدائی سانچہ لوڈ کریں ', name: 'لائیو اسکرپٹ', }, lua: { desc: 'فینگاری-ویب کا استعمال کرتے ہوئے براؤزر میں چلنے والا لوا۔', - link: '<1>لوا کی سرکاری ویب سائٹ لوا دستاویزات فینگاری کی سرکاری ویب سائٹ فینگاری-ویب گٹ ہب ریپو X کو Y منٹ میں سیکھیں، جہاں X=لوا لائیو کوڈز دستاویزات ابتدائی سانچہ لوڈ کریں', + link: '<1><2>لوا کی سرکاری ویب سائٹ <3> <4>لوا دستاویزات <5> <6>فینگاری کی سرکاری ویب سائٹ <7> <8>فینگاری-ویب گٹ ہب ریپو <9> <10>X کو Y منٹ میں سیکھیں، جہاں X=لوا <11> <12>لائیو کوڈز دستاویزات <13><14>ابتدائی سانچہ لوڈ کریں', name: 'لوا', }, luaWasm: { desc: 'واسمون کا استعمال کرتے ہوئے براؤزر میں چلنے والا لوا، جو ویب اسمبلی کے ساتھ بنایا گیا جے ایس بائنڈنگز والا ایک حقیقی لوا 5.4 وی ایم ہے۔', - link: '<1>لوا کی سرکاری ویب سائٹ لوا دستاویزات واسمون گٹ ہب ریپو X کو Y منٹ میں سیکھیں، جہاں X=لوا لائیو کوڈز دستاویزات ابتدائی سانچہ لوڈ کریں ', + link: '<1><2>لوا کی سرکاری ویب سائٹ <3> <4>لوا دستاویزات <5> <6>واسمون گٹ ہب ریپو <7> <8>X کو Y منٹ میں سیکھیں، جہاں X=لوا <9> <10>لائیو کوڈز دستاویزات <11> <12>ابتدائی سانچہ لوڈ کریں ', name: 'لوا (ڈبلیو اے ایس ایم)', }, malina: { desc: 'سویلٹ سے متاثر فرنٹ اینڈ کمپائلر۔', - link: '<1> ملینا.جے ایس ریپو ملینا.جے ایس دستاویزات ابتدائی سانچہ لوڈ کریں ', + link: '<1> <2>ملینا.جے ایس ریپو <3> <4>ملینا.جے ایس دستاویزات <5> <6>ابتدائی سانچہ لوڈ کریں ', name: 'ملینا.جے ایس', }, markdown: { desc: 'مارکڈ کا استعمال کرتے ہوئے مارک ڈاؤن کو ایچ ٹی ایم ایل میں کمپائل کیا گیا۔', - link: '<1> مارک ڈاؤن کی سرکاری ویب سائٹ مارکڈ دستاویزات X کو Y منٹ میں سیکھیں، جہاں X=مارک ڈاؤن ابتدائی سانچہ لوڈ کریں ', + link: '<1> <2>مارک ڈاؤن کی سرکاری ویب سائٹ <3> <4>مارکڈ دستاویزات <5> <6>X کو Y منٹ میں سیکھیں، جہاں X=مارک ڈاؤن <7> <8>ابتدائی سانچہ لوڈ کریں ', name: 'مارک ڈاؤن', }, mdx: { - desc: 'کمپوننٹ دور کے لیے مارک ڈاؤن۔ <1>ایم ڈی ایکس آپ کو اپنے مارک ڈاؤن دستاویزات میں آسانی سے جے ایس ایکس لکھنے کی اجازت دیتا ہے۔', - link: '<1>ایم ڈی ایکس دستاویزات ابتدائی سانچہ لوڈ کریں', + desc: 'کمپوننٹ دور کے لیے مارک ڈاؤن۔ <1>ایم ڈی ایکس آپ کو اپنے مارک ڈاؤن دستاویزات میں آسانی سے جے ایس ایکس لکھنے کی اجازت دیتا ہے۔', + link: '<1><2>ایم ڈی ایکس دستاویزات <3><4>ابتدائی سانچہ لوڈ کریں', name: 'ایم ڈی ایکس', }, mjml: { desc: 'ایم جے ایم ایل ایک مارک اپ زبان ہے جو ریسپانسیو ای میل کوڈنگ کی تکلیف کو کم کرنے کے لیے ڈیزائن کی گئی ہے۔', - link: '<1>ایم جے ایم ایل کی سرکاری ویب سائٹ ایم جے ایم ایل دستاویزات ایم جے ایم ایل کے سرکاری سانچے لائیو کوڈز دستاویزات ', + link: '<1><2>ایم جے ایم ایل کی سرکاری ویب سائٹ <3> <4>ایم جے ایم ایل دستاویزات <5> <6>ایم جے ایم ایل کے سرکاری سانچے <7> <8>لائیو کوڈز دستاویزات ', name: 'ایم جے ایم ایل', }, mustache: { desc: 'منطق سے پاک سانچے۔', - link: '<1> سرکاری ویب سائٹ مسٹیش(5) مینوئل جاوا اسکرپٹ نفاذ لائیو کوڈز دستاویزات ', + link: '<1> <2>سرکاری ویب سائٹ <3> <4>مسٹیش(5) مینوئل <5> <6>جاوا اسکرپٹ نفاذ <7> <8>لائیو کوڈز دستاویزات ', name: 'مسٹیش', }, nunjucks: { - desc: 'جاوا اسکرپٹ کے لیے ایک امیر اور طاقتور ٹیمپلیٹنگ زبان۔ نن جکس بنیادی طور پر <1>جنجا2 کا ایک پورٹ ہے۔', - link: '<1> سرکاری ویب سائٹ لائیو کوڈز دستاویزات ', + desc: 'جاوا اسکرپٹ کے لیے ایک امیر اور طاقتور ٹیمپلیٹنگ زبان۔ نن جکس بنیادی طور پر <1>جنجا2 کا ایک پورٹ ہے۔', + link: '<1> <2>سرکاری ویب سائٹ <3> <4>لائیو کوڈز دستاویزات ', name: 'نن جکس', }, ocaml: { @@ -210,64 +210,64 @@ const languageInfo: I18nLangInfoTranslation = { 'او کیمل ایک صنعتی طاقت کی پروگرامنگ زبان ہے جو فنکشنل، امپیریٹیو اور آبجیکٹ اورینٹڈ طرزوں کی معاونت کرتی ہے۔', desc2: 'یہاں او کیمل کو جاوا اسکرپٹ میں کمپائل کرنے کے لیے ری اسکرپٹ کمپائلر کا استعمال کیا جاتا ہے۔', - link: '<1>او کیمل ویب سائٹ او کیمل دستاویزات ری اسکرپٹ ویب سائٹ X کو Y منٹ میں سیکھیں، جہاں X=او کیمل ابتدائی سانچہ لوڈ کریں ', + link: '<1><2>او کیمل ویب سائٹ <3> <4>او کیمل دستاویزات <5> <6>ری اسکرپٹ ویب سائٹ <7> <8>X کو Y منٹ میں سیکھیں، جہاں X=او کیمل <9> <10>ابتدائی سانچہ لوڈ کریں ', name: 'او کیمل', }, perl: { desc: 'پرلیٹو کا استعمال کرتے ہوئے براؤزر میں چلنے والا پرل۔', - link: '<1> پرل کی سرکاری ویب سائٹ پرل دستاویزات پرلیٹو5 ریڈمی X کو Y منٹ میں سیکھیں، جہاں X=پرل ابتدائی سانچہ لوڈ کریں ', + link: '<1> <2>پرل کی سرکاری ویب سائٹ <3> <4>پرل دستاویزات <5> <6>پرلیٹو5 ریڈمی <7> <8>X کو Y منٹ میں سیکھیں، جہاں X=پرل <9> <10>ابتدائی سانچہ لوڈ کریں ', name: 'پرل', }, php: { desc: 'یونائٹر کا استعمال کرتے ہوئے براؤزر میں چلنے والا پی ایچ پی۔', - link: '<1>پی ایچ پی کی سرکاری ویب سائٹ پی ایچ پی دستاویزات یونائٹر گٹ ہب ریپو X کو Y منٹ میں سیکھیں، جہاں X=پی ایچ پی لائیو کوڈز دستاویزات ابتدائی سانچہ لوڈ کریں', + link: '<1><2>پی ایچ پی کی سرکاری ویب سائٹ <3> <4>پی ایچ پی دستاویزات <5> <6>یونائٹر گٹ ہب ریپو <7> <8>X کو Y منٹ میں سیکھیں، جہاں X=پی ایچ پی <9> <10>لائیو کوڈز دستاویزات <11><12>ابتدائی سانچہ لوڈ کریں', name: 'پی ایچ پی', }, phpWasm: { desc: 'پی ایچ پی-ڈبلیو اے ایس ایم کا استعمال کرتے ہوئے، ویب اسمبلی کے ذریعے براؤزر میں پی ایچ پی۔', - link: '<1>پی ایچ پی کی سرکاری ویب سائٹ پی ایچ پی دستاویزات پی ایچ پی-ڈبلیو اے ایس ایم گٹ ہب ریپو X کو Y منٹ میں سیکھیں، جہاں X=پی ایچ پی لائیو کوڈز دستاویزات ابتدائی سانچہ لوڈ کریں ', + link: '<1><2>پی ایچ پی کی سرکاری ویب سائٹ <3> <4>پی ایچ پی دستاویزات <5> <6>پی ایچ پی-ڈبلیو اے ایس ایم گٹ ہب ریپو <7> <8>X کو Y منٹ میں سیکھیں، جہاں X=پی ایچ پی <9> <10>لائیو کوڈز دستاویزات <11> <12>ابتدائی سانچہ لوڈ کریں ', name: 'پی ایچ پی (ڈبلیو اے ایس ایم)', }, postgresql: { desc: 'پی جی لائٹ کا استعمال کرتے ہوئے ڈبلیو اے ایس ایم کے طور پر پیکیج کیا گیا پوسٹگریس کیو ایل', - link: '<1> پوسٹگریس کیو ایل کی سرکاری ویب سائٹ پوسٹگریس کیو ایل دستاویزات پی جی لائٹ گٹ ہب ریپو X کو Y منٹ میں سیکھیں، جہاں X=ایس کیو ایل ابتدائی سانچہ لوڈ کریں ', + link: '<1> <2>پوسٹگریس کیو ایل کی سرکاری ویب سائٹ <3> <4>پوسٹگریس کیو ایل دستاویزات <5> <6>پی جی لائٹ گٹ ہب ریپو <7> <8>X کو Y منٹ میں سیکھیں، جہاں X=ایس کیو ایل <9> <10>ابتدائی سانچہ لوڈ کریں ', name: 'پوسٹگریس کیو ایل', }, prolog: { desc: 'جاوا اسکرپٹ میں ایک اوپن سورس پرولوگ انٹرپریٹر۔', - link: '<1> ٹاؤ پرولوگ کی سرکاری ویب سائٹ ٹاؤ پرولوگ دستاویزات ایس ڈبلیو آئی-پرولوگ X کو Y منٹ میں سیکھیں، جہاں X=پرولوگ ابتدائی سانچہ لوڈ کریں ', + link: '<1> <2>ٹاؤ پرولوگ کی سرکاری ویب سائٹ <3> <4>ٹاؤ پرولوگ دستاویزات <5> <6>ایس ڈبلیو آئی-پرولوگ <7> <8>X کو Y منٹ میں سیکھیں، جہاں X=پرولوگ <9> <10>ابتدائی سانچہ لوڈ کریں ', name: 'ٹاؤ پرولوگ', }, pug: { desc: 'مضبوط، شاندار، خصوصیات سے بھرپور ٹیمپلیٹ انجن۔', - link: '<1> پگ دستاویزات X کو Y منٹ میں سیکھیں، جہاں X=پگ لائیو کوڈز دستاویزات ', + link: '<1> <2>پگ دستاویزات <3> <4>X کو Y منٹ میں سیکھیں، جہاں X=پگ <5> <6>لائیو کوڈز دستاویزات ', name: 'پگ', }, python: { desc: 'برائٹھن کا استعمال کرتے ہوئے براؤزر میں چلنے والا پائتھن۔', - link: '<1> پائتھن کی سرکاری ویب سائٹ پائتھن دستاویزات برائٹھن دستاویزات X کو Y منٹ میں سیکھیں، جہاں X=پائتھن لائیو کوڈز دستاویزات ابتدائی سانچہ لوڈ کریں ', + link: '<1> <2>پائتھن کی سرکاری ویب سائٹ <3> <4>پائتھن دستاویزات <5> <6>برائٹھن دستاویزات <7> <8>X کو Y منٹ میں سیکھیں، جہاں X=پائتھن <9> <10>لائیو کوڈز دستاویزات <11> <12>ابتدائی سانچہ لوڈ کریں ', name: 'پائتھن', }, pythonWasm: { desc1: 'پایوڈائڈ کا استعمال کرتے ہوئے ویب اسمبلی میں کمپائل کردہ سائنسی اسٹیک کے ساتھ پائتھن۔', desc2: 'پایوڈائڈ نمپی، پانڈاز، میٹ پلاٹ لب، سائپی، سائکٹ-لرن اور بہت کچھ سمیت پائتھن سائنسی اسٹیک کو استعمال کرنے کی اجازت دیتا ہے۔ اس کے علاوہ پی وائی پی آئی سے خالص پائتھن وہیلز کو انسٹال کرنا ممکن ہے۔', - link: '<1> پائتھن کی سرکاری ویب سائٹ پائتھن دستاویزات پایوڈائڈ دستاویزات X کو Y منٹ میں سیکھیں، جہاں X=پائتھن لائیو کوڈز دستاویزات ابتدائی سانچہ لوڈ کریں ', + link: '<1> <2>پائتھن کی سرکاری ویب سائٹ <3> <4>پائتھن دستاویزات <5><6>پایوڈائڈ دستاویزات <7> <8>X کو Y منٹ میں سیکھیں، جہاں X=پائتھن <9> <10>لائیو کوڈز دستاویزات <11> <12>ابتدائی سانچہ لوڈ کریں ', name: 'پائتھن (ڈبلیو اے ایس ایم)', }, r: { desc: 'ویب آر کا استعمال کرتے ہوئے براؤزر میں چلنے والا آر۔', - link: '<1> آر پروجیکٹ کی سرکاری ویب سائٹ آر مینوئلز ڈیٹا سائنس کے لیے آر (دوسرا ایڈیشن) ویب آر دستاویزات X کو Y منٹ میں سیکھیں، جہاں X=آر لائیو کوڈز دستاویزات ابتدائی سانچہ لوڈ کریں ', + link: '<1> <2>آر پروجیکٹ کی سرکاری ویب سائٹ <3> <4>آر مینوئلز <5> <6>ڈیٹا سائنس کے لیے آر (دوسرا ایڈیشن) <7> <8>ویب آر دستاویزات <9> <10>X کو Y منٹ میں سیکھیں، جہاں X=آر <11> <12>لائیو کوڈز دستاویزات <13> <14>ابتدائی سانچہ لوڈ کریں ', name: 'آر', }, reactNative: { desc: 'ری ایکٹ نیٹیو فار ویب ری ایکٹ نیٹیو کے اجزاء اور اے پی آئیز کا ایک قابل رسائی نفاذ ہے جو ری ایکٹ ڈی او ایم کے ساتھ باہمی تعامل کرنے والا ہے۔', - link: '<1> ری ایکٹ کی سرکاری ویب سائٹ ری ایکٹ نیٹیو ویب سائٹ ری ایکٹ نیٹیو فار ویب ویب سائٹ ری ایکٹ نیٹیو دستاویزات لائیو کوڈز دستاویزات ابتدائی سانچہ لوڈ کریں ', + link: '<1> <2>ری ایکٹ کی سرکاری ویب سائٹ <3> <4>ری ایکٹ نیٹیو ویب سائٹ <5> <6>ری ایکٹ نیٹیو فار ویب ویب سائٹ <7> <8>ری ایکٹ نیٹیو دستاویزات <9> <10>لائیو کوڈز دستاویزات <11> <12>ابتدائی سانچہ لوڈ کریں ', name: 'ری ایکٹ نیٹیو فار ویب', }, reactNativeTsx: { desc: 'ری ایکٹ نیٹیو فار ویب ری ایکٹ نیٹیو کے اجزاء اور اے پی آئیز کا ایک قابل رسائی نفاذ ہے جو ری ایکٹ ڈی او ایم کے ساتھ باہمی تعامل کرنے والا ہے۔', - link: '<1> ری ایکٹ کی سرکاری ویب سائٹ ری ایکٹ نیٹیو ویب سائٹ ری ایکٹ نیٹیو فار ویب ویب سائٹ ری ایکٹ نیٹیو دستاویزات ٹائپ اسکرپٹ ویب سائٹ ٹائپ اسکرپٹ دستاویزات لائیو کوڈز دستاویزات ابتدائی سانچہ لوڈ کریں (جے ایس ایکس) ', + link: '<1> <2>ری ایکٹ کی سرکاری ویب سائٹ <3> <4>ری ایکٹ نیٹیو ویب سائٹ <5> <6>ری ایکٹ نیٹیو فار ویب ویب سائٹ <7> <8>ری ایکٹ نیٹیو دستاویزات <9> <10>ٹائپ اسکرپٹ ویب سائٹ <11> <12>ٹائپ اسکرپٹ دستاویزات <13> <14>لائیو کوڈز دستاویزات <15> <16>ابتدائی سانچہ لوڈ کریں (جے ایس ایکس) ', name: 'ری ایکٹ نیٹیو فار ویب (ٹائپ اسکرپٹ کے ساتھ)', }, reason: { @@ -275,132 +275,132 @@ const languageInfo: I18nLangInfoTranslation = { 'ریزن آپ کو جاوا اسکرپٹ اور او کیمل دونوں ماحولیاتی نظاموں کا فائدہ اٹھاتے ہوئے سادہ، تیز اور معیاری قسم محفوظ کوڈ لکھنے کی اجازت دیتا ہے۔', desc2: 'یہاں ریزن کو جاوا اسکرپٹ میں کمپائل کرنے کے لیے ری اسکرپٹ کمپائلر کا استعمال کیا جاتا ہے۔', - link: '<1>ریزن ویب سائٹ ریزن دستاویزات ریزن ری ایکٹ ری اسکرپٹ ویب سائٹ X کو Y منٹ میں سیکھیں، جہاں X=ریزن ابتدائی سانچہ لوڈ کریں ', + link: '<1><2>ریزن ویب سائٹ <3> <4>ریزن دستاویزات <5> <6>ریزن ری ایکٹ <7> <8>ری اسکرپٹ ویب سائٹ <9> <10>X کو Y منٹ میں سیکھیں، جہاں X=ریزن <11> <12>ابتدائی سانچہ لوڈ کریں ', name: 'ریزن', }, rescript: { desc: 'ری اسکرپٹ ایک مضبوطی سے ٹائپ کی گئی زبان ہے جو موثر اور انسانی پڑھنے کے قابل جاوا اسکرپٹ میں کمپائل ہوتی ہے۔', - link: '<1> ری اسکرپٹ ویب سائٹ ری اسکرپٹ / ری ایکٹ ابتدائی سانچہ لوڈ کریں ', + link: '<1> <2>ری اسکرپٹ ویب سائٹ <3> <4>ری اسکرپٹ / ری ایکٹ <5> <6>ابتدائی سانچہ لوڈ کریں ', name: 'ری اسکرپٹ', }, richtext: { desc1: 'کوئل کا استعمال کرتے ہوئے:', desc2: 'آپ کا طاقتور رچ ٹیکسٹ ایڈیٹر۔', - link: '<1> کوئل کی سرکاری ویب سائٹ ', + link: '<1> <2>کوئل کی سرکاری ویب سائٹ ', name: 'رچ ٹیکسٹ ایڈیٹر', }, riot: { desc: 'سادہ اور خوبصورت کمپوننٹ پر مبنی یو آئی لائبریری۔', - link: '<1> رائٹ.جے ایس کی سرکاری ویب سائٹ رائٹ.جے ایس دستاویزات ابتدائی سانچہ لوڈ کریں ', + link: '<1> <2>رائٹ.جے ایس کی سرکاری ویب سائٹ <3> <4>رائٹ.جے ایس دستاویزات <5> <6>ابتدائی سانچہ لوڈ کریں ', name: 'رائٹ.جے ایس', }, ruby: { desc: 'اوپال کا استعمال کرتے ہوئے براؤزر میں چلنے والا روبی۔', - link: '<1> روبی کی سرکاری ویب سائٹ روبی دستاویزات اوپال کی سرکاری ویب سائٹ اوپال معیاری لائبریری سی ڈی این X کو Y منٹ میں سیکھیں، جہاں X=روبی لائیو کوڈز دستاویزات ابتدائی سانچہ لوڈ کریں ', + link: '<1> <2>روبی کی سرکاری ویب سائٹ <3> <4>روبی دستاویزات <5><6>اوپال کی سرکاری ویب سائٹ <7> <8>اوپال معیاری لائبریری سی ڈی این <9> <10>X کو Y منٹ میں سیکھیں، جہاں X=روبی <11> <12>لائیو کوڈز دستاویزات <13> <14>ابتدائی سانچہ لوڈ کریں ', name: 'روبی', }, rubyWasm: { desc: 'روبی-ڈبلیو اے ایس ایم (سی روبی کے ویب اسمبلی پورٹس کا ایک مجموعہ) کا استعمال کرتے ہوئے براؤزر میں چلنے والا روبی۔', - link: '<1> روبی کی سرکاری ویب سائٹ روبی دستاویزات روبی.ڈبلیو اے ایس ایم ویب سائٹ سی روبی X کو Y منٹ میں سیکھیں، جہاں X=روبی لائیو کوڈز دستاویزات ابتدائی سانچہ لوڈ کریں ', + link: '<1> <2>روبی کی سرکاری ویب سائٹ <3> <4>روبی دستاویزات <5> <6>روبی.ڈبلیو اے ایس ایم ویب سائٹ <7><8>سی روبی <9> <10>X کو Y منٹ میں سیکھیں، جہاں X=روبی <11> <12>لائیو کوڈز دستاویزات <13> <14>ابتدائی سانچہ لوڈ کریں ', name: 'روبی (ڈبلیو اے ایس ایم)', }, sass: { desc: 'نحوی طور پر شاندار اسٹائل شیٹس۔', - link: '<1> ساس کی سرکاری ویب سائٹ ساس دستاویزات ساس (انڈینٹڈ) نحو X کو Y منٹ میں سیکھیں، جہاں X=ساس ', + link: '<1> <2>ساس کی سرکاری ویب سائٹ <3> <4>ساس دستاویزات <5> <6>ساس (انڈینٹڈ) نحو <7> <8>X کو Y منٹ میں سیکھیں، جہاں X=ساس ', name: 'ساس', }, scheme: { desc: 'بیوا اسکیم کا استعمال کرتے ہوئے براؤزر میں چلنے والا اسکیم۔', - link: '<1> اسکیم پروگرامنگ زبان بیوا اسکیم کی سرکاری ویب سائٹ بیوا اسکیم حوالہ ابتدائی سانچہ لوڈ کریں ', + link: '<1> <2>اسکیم پروگرامنگ زبان <3> <4>بیوا اسکیم کی سرکاری ویب سائٹ <5> <6>بیوا اسکیم حوالہ <7> <8>ابتدائی سانچہ لوڈ کریں ', name: 'اسکیم', }, scss: { desc: 'نحوی طور پر شاندار اسٹائل شیٹس۔', - link: '<1> ساس کی سرکاری ویب سائٹ ساس دستاویزات ایس سی ایس ایس نحو X کو Y منٹ میں سیکھیں، جہاں X=ساس ', + link: '<1> <2>ساس کی سرکاری ویب سائٹ <3> <4>ساس دستاویزات <5> <6>ایس سی ایس ایس نحو <7> <8>X کو Y منٹ میں سیکھیں، جہاں X=ساس ', name: 'ایس سی ایس ایس', }, solid: { desc: 'صارف انٹرفیس بنانے کے لیے ایک اعلانیہ، موثر اور لچکدار جاوا اسکرپٹ لائبریری۔', - link: '<1>سرکاری ویب سائٹ دستاویزات لائیو کوڈز دستاویزات ابتدائی سانچہ لوڈ کریں (ٹی ایس ایکس) ', + link: '<1><2>سرکاری ویب سائٹ <3><4>دستاویزات <5> <6>لائیو کوڈز دستاویزات <7> <8>ابتدائی سانچہ لوڈ کریں (ٹی ایس ایکس) ', name: 'سولڈ', tsx: { desc: 'صارف انٹرفیس بنانے کے لیے ایک اعلانیہ، موثر اور لچکدار جاوا اسکرپٹ لائبریری۔', - link: '<1>سرکاری ویب سائٹ سولڈ دستاویزات ٹائپ اسکرپٹ ویب سائٹ ٹائپ اسکرپٹ دستاویزات لائیو کوڈز دستاویزات ابتدائی سانچہ لوڈ کریں ', + link: '<1><2>سرکاری ویب سائٹ <3> <4>سولڈ دستاویزات <5> <6>ٹائپ اسکرپٹ ویب سائٹ <7> <8>ٹائپ اسکرپٹ دستاویزات <9> <10>لائیو کوڈز دستاویزات <11> <12>ابتدائی سانچہ لوڈ کریں ', name: 'سولڈ (ٹائپ اسکرپٹ کے ساتھ)', }, }, sql: { desc: 'SQL.js کا استعمال کرتے ہوئے جاوا اسکرپٹ میں مرتب کیا گیا SQLite', - link: '<1> SQLite کی سرکاری ویب سائٹ SQLite سنٹیکس دستاویزات SQL.js کی سرکاری ویب سائٹ X کو Y منٹ میں سیکھیں، جہاں X=SQL شروعاتی سانچہ لوڈ کریں', + link: '<1> <2>SQLite کی سرکاری ویب سائٹ <3> <4>SQLite سنٹیکس دستاویزات <5> <6>SQL.js کی سرکاری ویب سائٹ <7> <8>X کو Y منٹ میں سیکھیں، جہاں X=SQL <9><10>شروعاتی سانچہ لوڈ کریں', name: 'SQLite', }, stencil: { desc: 'ویب کمپوننٹس اور اعلی کارکردگی والی ویب ایپس کے لیے ایک کمپائلر۔', - link: '<1> Stencil کی سرکاری ویب سائٹ Stencil دستاویزات شروعاتی سانچہ لوڈ کریں ', + link: '<1> <2>Stencil کی سرکاری ویب سائٹ <3> <4>Stencil دستاویزات <5> <6>شروعاتی سانچہ لوڈ کریں ', name: 'Stencil', }, styleProcessors: { - link: '<1> Tailwind CSS Windi CSS UnoCSS Lightning CSS PostCSS پلگ انز: Autoprefixer postcss-preset-env postcss-import-url postcss-modules ', + link: '<1> <2>Tailwind CSS <3> <4>Windi CSS <5> <6>UnoCSS <7> <8>Lightning CSS <9> <10>PostCSS پلگ انز: <11> <12> <13>Autoprefixer <14> <15>postcss-preset-env <16> <17>postcss-import-url <18> <19>postcss-modules ', name: 'CSS فریم ورکس اور پروسیسرز', }, stylis: { desc: 'ہلکا وزن سی ایس ایس پری پروسیسر۔', - link: '<1> Stylis کی سرکاری ویب سائٹ ', + link: '<1> <2>Stylis کی سرکاری ویب سائٹ ', name: 'Stylis', }, stylus: { desc: 'اظہاری، متحرک، مضبوط CSS۔', - link: '<1> Stylus کی سرکاری ویب سائٹ X کو Y منٹ میں سیکھیں، جہاں X=stylus ', + link: '<1> <2>Stylus کی سرکاری ویب سائٹ <3> <4>X کو Y منٹ میں سیکھیں، جہاں X=stylus ', name: 'Stylus', }, sucrase: { desc: 'جب آپ جدید JS رن ٹائمز کو ہدف بنا سکتے ہیں تو Babel کا انتہائی تیز متبادل۔', - link: '<1> Sucrase کی سرکاری ویب سائٹ Sucrase GitHub ریپو LiveCodes دستاویزات ', + link: '<1> <2>Sucrase کی سرکاری ویب سائٹ <3> <4>Sucrase GitHub ریپو <5> <6>LiveCodes دستاویزات ', name: 'Sucrase', }, svelte: { desc: 'سائبرنیٹک طور پر بہتر ویب ایپس۔', - link: '<1> Svelte کی سرکاری ویب سائٹ Svelte دستاویزات شروعاتی سانچہ لوڈ کریں ', + link: '<1> <2>Svelte کی سرکاری ویب سائٹ <3> <4>Svelte دستاویزات <5> <6>شروعاتی سانچہ لوڈ کریں ', name: 'Svelte', }, tcl: { - desc: '<1>wacl کا استعمال کرتے ہوئے براؤزر میں چلنے والی Tcl۔', - link: '<1> Tcl کی سرکاری ویب سائٹ wacl ریپو X کو Y منٹ میں سیکھیں، جہاں X=Tcl شروعاتی سانچہ لوڈ کریں ', + desc: '<1>wacl کا استعمال کرتے ہوئے براؤزر میں چلنے والی Tcl۔', + link: '<1> <2>Tcl کی سرکاری ویب سائٹ <3> <4>wacl ریپو <5> <6>X کو Y منٹ میں سیکھیں، جہاں X=Tcl <7> <8>شروعاتی سانچہ لوڈ کریں ', name: 'Tcl (ٹول کمانڈ لینگویج)', }, teal: { desc: 'Lua کی ایک ٹائپ کردہ بولی۔', - link: '<1> Teal GitHub ریپو Teal دستاویزات Teal ٹیوٹوریل LiveCodes دستاویزات شروعاتی سانچہ لوڈ کریں ', + link: '<1> <2>Teal GitHub ریپو <3> <4>Teal دستاویزات <5> <6>Teal ٹیوٹوریل <7> <8>LiveCodes دستاویزات <9> <10>شروعاتی سانچہ لوڈ کریں ', name: 'Teal', }, tsx: { desc: 'JSX میں TypeScript۔ TSX کو LiveCodes میں TypeScript کمپائلر کا استعمال کرتے ہوئے جاوا اسکرپٹ میں مرتب کیا جاتا ہے۔ ڈیفالٹ طور پر یہ JSX رن ٹائم کے طور پر React کا استعمال کرتا ہے۔', - link: '<1> React کی سرکاری ویب سائٹ React میں JSX دستاویزات Typescript دستاویزات LiveCodes دستاویزات ', + link: '<1> <2>React کی سرکاری ویب سائٹ <3> <4>React میں JSX دستاویزات <5> <6>Typescript دستاویزات <7> <8>LiveCodes دستاویزات ', name: 'TSX', }, twig: { - desc: '<2>Twig.js کے ذریعے Twig PHP ٹیمپلیٹنگ زبان کا ایک جاوا اسکرپٹ نفاذ۔', - link: '<1> Twig کی سرکاری ویب سائٹ Twig دستاویزات Twig.js ریپو Twig.js دستاویزات LiveCodes دستاویزات ', + desc: '<2>Twig.js کے ذریعے <1>Twig PHP ٹیمپلیٹنگ زبان کا ایک جاوا اسکرپٹ نفاذ۔', + link: '<1> <2>Twig کی سرکاری ویب سائٹ <3> <4>Twig دستاویزات <5> <6>Twig.js ریپو <7> <8>Twig.js دستاویزات <9> <10>LiveCodes دستاویزات ', name: 'Twig', }, typescript: { desc: 'جاوا اسکرپٹ کا ایک ٹائپ کردہ سپر سیٹ۔', - link: '<1> سرکاری ویب سائٹ TypeScript دستاویزات X کو Y منٹ میں سیکھیں، جہاں X=TypeScript شروعاتی سانچہ لوڈ کریں ', + link: '<1> <2>سرکاری ویب سائٹ <3> <4>TypeScript دستاویزات <5> <6>X کو Y منٹ میں سیکھیں، جہاں X=TypeScript <7> <8>شروعاتی سانچہ لوڈ کریں ', name: 'TypeScript', }, vue: { - link: '<1> Vue.js v3 کی سرکاری ویب سائٹ Vue3 دستاویزات Vue3 سنگل فائل کمپوننٹس LiveCodes دستاویزات شروعاتی سانچہ لوڈ کریں', + link: '<1> <2>Vue.js v3 کی سرکاری ویب سائٹ <3> <4>Vue3 دستاویزات <5> <6>Vue3 سنگل فائل کمپوننٹس <7> <8>LiveCodes دستاویزات <9><10>شروعاتی سانچہ لوڈ کریں', name: 'Vue3 سنگل فائل کمپوننٹس', }, vue2: { desc: 'vue3-sfc-loader کا استعمال کرتے ہوئے لوڈ کیا گیا۔', - link: '<1>Vue.js کی سرکاری ویب سائٹ Vue2 دستاویزات Vue2 سنگل فائل کمپوننٹس vue3-sfc-loader GitHub ریپو LiveCodes دستاویزات ', + link: '<1><2>Vue.js کی سرکاری ویب سائٹ <3> <4>Vue2 دستاویزات <5> <6>Vue2 سنگل فائل کمپوننٹس <7> <8>vue3-sfc-loader GitHub ریپو <9> <10>LiveCodes دستاویزات ', name: 'Vue2 سنگل فائل کمپوننٹس', }, wat: { desc1: 'WebAssembly (wasm) بائنری فارمیٹ کی کم سطحی متنی نمائندگی۔', desc2: 'یہ wabt.js کا استعمال کرتے ہوئے wasm میں تبدیل کیا جاتا ہے۔', - link: '<1>WebAssembly.org WebAssembly ٹیکسٹ اسپیکس MDN پر WebAssembly WebAssembly ٹیکسٹ فارمیٹ کو سمجھنا wabt.js دستاویزات X کو Y منٹ میں سیکھیں، جہاں X=WebAssembly شروعاتی سانچہ لوڈ کریں', + link: '<1><2>WebAssembly.org <3> <4>WebAssembly ٹیکسٹ اسپیکس <5> <6>MDN پر WebAssembly <7> <8>WebAssembly ٹیکسٹ فارمیٹ کو سمجھنا <9> <10>wabt.js دستاویزات <11> <12>X کو Y منٹ میں سیکھیں، جہاں X=WebAssembly <13><14>شروعاتی سانچہ لوڈ کریں', name: 'WebAssembly ٹیکسٹ فارمیٹ', }, }; diff --git a/src/livecodes/i18n/locales/ur/translation.ts b/src/livecodes/i18n/locales/ur/translation.ts index e3c402d6f..88f312a5d 100644 --- a/src/livecodes/i18n/locales/ur/translation.ts +++ b/src/livecodes/i18n/locales/ur/translation.ts @@ -14,9 +14,9 @@ const translation: I18nTranslation = { heading: 'لائیو کوڈز کے بارے میں', livecodes: { para1: - '<1>لائیو کوڈز ایک اوپن سورس، خصوصیات سے بھرپور، کلائنٹ-سائیڈ کوڈ پلے گراؤنڈ ہے۔ فی الحال، 80+ زبانیں/فریم ورکس کو سپورٹ کیا جاتا ہے۔ اسے ایک خودمختار ایپ کے طور پر استعمال کیا جا سکتا ہے یا کسی بھی ویب صفحے میں ایمبیڈ کیا جا سکتا ہے۔ کوڈ کے ساتھ پلے گراؤنڈز کو پہلے سے بھرنے کے کئی طریقے ہیں۔', + '<1><2>لائیو کوڈز ایک <3>اوپن سورس، <4>خصوصیات سے بھرپور، <5>کلائنٹ-سائیڈ کوڈ پلے گراؤنڈ ہے۔ فی الحال، <6>80+ زبانیں/<7>فریم ورکس کو سپورٹ کیا جاتا ہے۔ اسے ایک خودمختار ایپ کے طور پر استعمال کیا جا سکتا ہے یا کسی بھی ویب صفحے میں <8>ایمبیڈ کیا جا سکتا ہے۔ کوڈ کے ساتھ پلے گراؤنڈز کو <9>پہلے سے بھرنے کے کئی طریقے ہیں۔', para2: - '<1>کنفیگریشن آپشنز کی وسیع رینج اسے بہت لچکدار بناتی ہے۔ ایک طاقتور ایس ڈی کے (جے ایس/ٹی ایس، ری ایکٹ، ویو اور سویلٹ کے لیے) پلے گراؤنڈز کو ایمبیڈ کرنے اور ان سے مواصلت کرنے میں سہولت فراہم کرتی ہے۔ کوڈ نمونوں، لائیو ڈیموز اور اسکرین شاٹس کے ساتھ جامع دستاویزات دستیاب ہیں۔', + '<1>کنفیگریشن آپشنز کی وسیع رینج اسے بہت لچکدار بناتی ہے۔ ایک طاقتور <2>ایس ڈی کے (<3>جے ایس/ٹی ایس، <4>ری ایکٹ، <5>ویو اور <6>سویلٹ کے لیے) پلے گراؤنڈز کو <7>ایمبیڈ کرنے اور ان سے <8>مواصلت کرنے میں سہولت فراہم کرتی ہے۔ کوڈ نمونوں، لائیو ڈیموز اور اسکرین شاٹس کے ساتھ <9>جامع دستاویزات دستیاب ہیں۔', }, version: { app: 'ایپ ورژن: {{APP_VERSION}}', @@ -28,6 +28,9 @@ const translation: I18nTranslation = { }, }, app: { + consoleMessage: { + learnMore: 'مزید جانیں! {{docsUrl}} 🚀', + }, copy: { hint: 'کاپی (Ctrl/Cmd + A, Ctrl/Cmd + C)', }, @@ -81,12 +84,12 @@ const translation: I18nTranslation = { assets: { add: { dataURL: { - desc: 'اثاثے کو بیس64-انکوڈڈ <1>ڈیٹا یو آر ایل کے طور پر شامل کریں۔', + desc: 'اثاثے کو بیس64-انکوڈڈ <1>ڈیٹا یو آر ایل کے طور پر شامل کریں۔', heading: 'ڈیٹا یو آر ایل', label: 'فائل شامل کریں', }, githubPages: { - desc: 'اثاثے کو گٹ ہب پیجز پر تعینات کریں۔ فائل کو آپ کے گٹ ہب اکاؤنٹ پر <2>livecodes-assets ریپو کی gh-pages برانچ میں پش کیا جاتا ہے۔ اگر ریپو پہلے سے موجود نہیں ہے تو، ایک عوامی ریپو بنایا جائے گا۔', + desc: 'اثاثے کو گٹ ہب پیجز پر تعینات کریں۔ فائل کو آپ کے گٹ ہب اکاؤنٹ پر <2>livecodes-assets ریپو کی <1>gh-pages برانچ میں پش کیا جاتا ہے۔ اگر ریپو پہلے سے موجود نہیں ہے تو، ایک عوامی ریپو بنایا جائے گا۔', heading: 'گٹ ہب پیجز', label: 'فائل اپ لوڈ کریں', }, @@ -157,7 +160,7 @@ const translation: I18nTranslation = { backup: { assets: 'اثاثے', button: 'بیک اپ', - desc: 'لائیو کوڈز ڈیٹا کا بیک اپ لیں، تاکہ اسے بعد میں اس یا دوسرے آلات پر بحال کیا جا سکے۔ <1> تفصیلات کے لیے براہ کرم دستاویزات ملاحظہ کریں۔', + desc: 'لائیو کوڈز ڈیٹا کا بیک اپ لیں، تاکہ اسے بعد میں اس یا دوسرے آلات پر بحال کیا جا سکے۔ <1> تفصیلات کے لیے براہ کرم <2>دستاویزات ملاحظہ کریں۔', heading: 'بیک اپ', projects: 'پروجیکٹس', settings: 'صارف کی ترتیبات', @@ -173,7 +176,7 @@ const translation: I18nTranslation = { heading: 'بیک اپ / بحالی', inProgress: 'جاری ہے...', restore: { - desc: 'پہلے سے بیک اپ کیے گئے لائیو کوڈز ڈیٹا کو بحال کریں۔ <1> اگر آپ موجودہ مواد کو تبدیل کرنے کا انتخاب کرتے ہیں، تو آپ پہلے اس کا بیک اپ لینا چاہیں گے۔ تفصیلات کے لیے براہ کرم دستاویزات ملاحظہ کریں۔', + desc: 'پہلے سے بیک اپ کیے گئے لائیو کوڈز ڈیٹا کو بحال کریں۔ <1> اگر آپ موجودہ مواد کو تبدیل کرنے کا انتخاب کرتے ہیں، تو آپ پہلے اس کا بیک اپ لینا چاہیں گے۔ <2> تفصیلات کے لیے براہ کرم <3>دستاویزات ملاحظہ کریں۔', fromFile: 'فائل سے بحال کریں', heading: 'بحالی', mode: { @@ -191,7 +194,7 @@ const translation: I18nTranslation = { broadcasting: 'نشر ہو رہا ہے...', channelURL: 'چینل کا یو آر ایل', connecting: 'رابطہ ہو رہا ہے...', - desc: 'نتیجے کے صفحے کو حقیقی وقت میں دوسرے براؤزرز/آلات پر نشر کریں۔ تفصیلات کے لیے براہ کرم <1>دستاویزات ملاحظہ کریں۔', + desc: 'نتیجے کے صفحے کو حقیقی وقت میں دوسرے براؤزرز/آلات پر نشر کریں۔ تفصیلات کے لیے براہ کرم <1>دستاویزات ملاحظہ کریں۔', error: { generic: 'نشریات ناکام ہو گئی!', serverURLRequired: 'سرور یو آر ایل درکار ہے!', @@ -291,9 +294,9 @@ const translation: I18nTranslation = { }, deploy: { create: { - desc: 'ایک نیا <1>عوامی ریپو بنایا جائے گا۔ نتیجے کا صفحہ gh-pages برانچ پر پش کیا جائے گا۔', + desc: 'ایک نیا <1>عوامی ریپو بنایا جائے گا۔ نتیجے کا صفحہ <2>gh-pages برانچ پر پش کیا جائے گا۔', heading: 'نیا ریپو بنائیں', - repoName: 'ریپو کا نام <1>', + repoName: 'ریپو کا نام <1>', }, error: { generic: 'تعیناتی ناکام ہو گئی!', @@ -301,7 +304,7 @@ const translation: I18nTranslation = { repoNameRequired: 'ریپو کا نام درکار ہے', }, existing: { - desc: '<1>gh-pages برانچ میں ایک نیا کمٹ شامل کیا جائے گا۔', + desc: '<1>gh-pages برانچ میں ایک نیا کمٹ شامل کیا جائے گا۔', heading: 'موجودہ ریپو', repoName: 'ریپو کا نام', }, @@ -322,7 +325,7 @@ const translation: I18nTranslation = { closeBrackets: 'بریکٹس اور حوالہ جات خود بخود بند کریں', codeJarDesc: '* نشان زدہ خصوصیات کوڈ جار میں دستیاب نہیں ہیں۔', default: 'ڈیفالٹ', - desc: 'تفصیلات کے لیے براہ کرم <1>دستاویزات چیک کریں۔', + desc: 'تفصیلات کے لیے براہ کرم <1>دستاویزات چیک کریں۔', editor: { codejar: 'کوڈ جار', codemirror: 'کوڈ مرر', @@ -338,7 +341,7 @@ const translation: I18nTranslation = { emmet: 'ایمیٹ فعال کریں *', enableAI: { heading: 'اے آئی کوڈ اسسٹنٹ فعال کریں', - note: '<1> کی طرف سے طاقت یافتہ', + note: '<1><2> کی طرف سے طاقت یافتہ', }, fontFamily: 'فونٹ فیملی', fontSize: 'فونٹ سائز', @@ -376,7 +379,7 @@ const translation: I18nTranslation = { copy: 'کوڈ کاپی کریں', heading: 'کوڈ', }, - desc: 'اعلی درجے کی ترتیبات کے لیے براہ کرم <1>دستاویزات چیک کریں۔', + desc: 'اعلی درجے کی ترتیبات کے لیے براہ کرم <1>دستاویزات چیک کریں۔', embedType: { cdn: 'اسکرپٹ (سی ڈی این)', heading: 'ایمبیڈ کی قسم', @@ -447,17 +450,18 @@ const translation: I18nTranslation = { more: 'مزید...', optional: 'اختیاری', required: 'ضروری', + tagline: '!ایک کوڈ پلے گراؤنڈ جو بس کام کرتا ہے', }, import: { bulk: { - desc: 'اپنے محفوظ شدہ پروجیکٹس میں متعدد پروجیکٹس کو بلک درآمد کریں۔ پروجیکٹس کو <1>محفوظ شدہ پروجیکٹس اسکرین سے برآمد کیا جا سکتا ہے۔', + desc: 'اپنے محفوظ شدہ پروجیکٹس میں متعدد پروجیکٹس کو بلک درآمد کریں۔ پروجیکٹس کو <1>محفوظ شدہ پروجیکٹس اسکرین سے برآمد کیا جا سکتا ہے۔', fromFile: 'مقامی فائل سے بلک درآمد', fromURL: 'یو آر ایل سے بلک درآمد', heading: 'بلک درآمد', started: 'بلک درآمد شروع ہو گیا...', }, code: { - desc: 'سپورٹڈ ذرائع: <1> گٹ ہب گسٹ گٹ ہب فائل گٹ ہب ریپو میں ڈائریکٹری گٹ لیب اسنپٹ گٹ لیب فائل گٹ لیب ریپو میں ڈائریکٹری جے ایس بن خام کوڈ ویب صفحہ ڈی او ایم میں کوڈ زپ فائل میں کوڈ سرکاری پلے گراؤنڈز(ٹائپ اسکرپٹ، ویو اور سویلٹ) تفصیلات کے لیے براہ کرم دستاویزات ملاحظہ کریں۔', + desc: 'سپورٹڈ ذرائع: <1> <2>گٹ ہب گسٹ <3>گٹ ہب فائل <4>گٹ ہب ریپو میں ڈائریکٹری <5>گٹ لیب اسنپٹ <6>گٹ لیب فائل <7>گٹ لیب ریپو میں ڈائریکٹری <8>جے ایس بن <9>خام کوڈ <10>ویب صفحہ ڈی او ایم میں کوڈ <11>زپ فائل میں کوڈ <12>سرکاری پلے گراؤنڈز<13>(ٹائپ اسکرپٹ، ویو اور سویلٹ) تفصیلات کے لیے براہ کرم <14>دستاویزات ملاحظہ کریں۔', fromFile: 'مقامی فائلیں درآمد کریں', fromURL: 'یو آر ایل سے درآمد کریں', heading: 'کوڈ درآمد کریں', @@ -482,7 +486,7 @@ const translation: I18nTranslation = { }, login: { accessAllowed: 'رسائی کی اجازت دیں:', - desc: '<1>لاگ ان کر کے، آپ اس بات سے متفق ہیں کہ آپ کے آلے پر کوکیز محفوظ کی جا سکتی ہیں۔ یہ اجازتیں کیوں ضروری ہیں؟ اجازتوں کو کیسے تبدیل/منسوخ کریں؟ ', + desc: '<1>لاگ ان کر کے، آپ اس بات سے متفق ہیں کہ آپ کے آلے پر <2>کوکیز محفوظ کی جا سکتی ہیں۔ <3> <4>یہ اجازتیں کیوں ضروری ہیں؟ <5> <6>اجازتوں کو کیسے تبدیل/منسوخ کریں؟ ', gist: 'گسٹس', heading: 'گٹ ہب کے ساتھ لاگ ان کریں', loginAs: '{{name}} کے طور پر لاگ ان', @@ -500,7 +504,7 @@ const translation: I18nTranslation = { broadcast: 'نشریات …', customSettings: 'حسب ضرورت ترتیبات …', delay: { - heading: 'تاخیر: <1>1.5 سیکنڈ', + heading: 'تاخیر: <1>1.5 سیکنڈ', hint: 'خود کار اپ ڈیٹ سے پہلے تاخیر', }, deploy: 'تعینات کریں …', @@ -537,7 +541,7 @@ const translation: I18nTranslation = { hint: 'Alt/Option دبائیں اور اپنے کرسر کو نتیجے کے صفحے پر لے جائیں', }, snippets: 'کوڈ اسنیپٹس …', - sync: 'مطابقت پذیری (بیٹا) … <1> ⏳', + sync: 'مطابقت پذیری (بیٹا) … <1> ⏳', theme: 'ڈارک تھیم', welcome: { heading: 'خوش آمدید …', @@ -590,11 +594,11 @@ const translation: I18nTranslation = { recoverPrompt: { desc: 'آپ کے آخری پروجیکٹ میں غیر محفوظ شدہ تبدیلیاں ہیں!', heading: 'غیر محفوظ شدہ پروجیکٹ بحال کریں؟', - meta: 'عنوان: <1> آخری ترمیم: ', + meta: 'عنوان: <1> <2> آخری ترمیم: <3>', notShowAgain: 'یہ دوبارہ نہ دکھائیں۔', prompt: { discard: 'غیر محفوظ شدہ پروجیکٹ کو رد کریں', - heading: '<1>کیا آپ اسے ابھی بحال کرنا چاہتے ہیں؟', + heading: '<1>کیا آپ اسے ابھی بحال کرنا چاہتے ہیں؟', recover: 'پروجیکٹ کو ایڈیٹر میں بحال کریں', save: 'آلے پر محفوظ کریں اور جاری رکھیں', }, @@ -613,13 +617,13 @@ const translation: I18nTranslation = { }, fonts: { add: 'شامل کریں', - heading: 'فونٹس <1>(گوگل فونٹس کی طرف سے طاقت یافتہ)', + heading: 'فونٹس <1>(گوگل فونٹس کی طرف سے طاقت یافتہ)', select: 'فونٹ منتخب کریں ...', }, heading: 'بیرونی وسائل', scripts: 'بیرونی اسکرپٹس', search: { - heading: 'پیکیجز تلاش کریں <1>(jsDelivr کی طرف سے طاقت یافتہ)', + heading: 'پیکیجز تلاش کریں <1>(jsDelivr کی طرف سے طاقت یافتہ)', placeholder: 'مثال کے طور پر jquery, lodash@4, bootstrap@5.2.3, ...', }, stylesheets: 'بیرونی اسٹائل شیٹس', @@ -631,7 +635,7 @@ const translation: I18nTranslation = { cancel: 'منسوخ کریں', discard: 'محفوظ نہ کریں', heading: - 'آپ کی کی گئی تبدیلیاں محفوظ نہیں ہو سکتی ہیں۔ <1> کیا آپ ابھی محفوظ کرنا چاہتے ہیں؟', + 'آپ کی کی گئی تبدیلیاں محفوظ نہیں ہو سکتی ہیں۔ <1> کیا آپ ابھی محفوظ کرنا چاہتے ہیں؟', save: 'محفوظ کریں', }, }, @@ -729,7 +733,7 @@ const translation: I18nTranslation = { sync: { autoSync: 'خود کار مطابقت پذیری', create: { - desc: 'ایک نیا <1>نجی ریپو بنایا جائے گا۔ آپ کا لائیو کوڈز مقامی ڈیٹا مین برانچ کے ساتھ مطابقت پذیر ہو جائے گا۔', + desc: 'ایک نیا <1>نجی ریپو بنایا جائے گا۔ آپ کا لائیو کوڈز مقامی ڈیٹا <2>مین برانچ کے ساتھ مطابقت پذیر ہو جائے گا۔', heading: 'نیا ریپو بنائیں', repoName: 'ریپو کا نام', }, @@ -738,7 +742,7 @@ const translation: I18nTranslation = { repoNameRequired: 'ریپو کا نام درکار ہے', }, existing: { - desc: 'آپ کا لائیو کوڈز مقامی ڈیٹا <1>مین برانچ کے ساتھ مطابقت پذیر ہو جائے گا۔', + desc: 'آپ کا لائیو کوڈز مقامی ڈیٹا <1>مین برانچ کے ساتھ مطابقت پذیر ہو جائے گا۔', heading: 'موجودہ ریپو', repoName: 'ریپو کا نام', }, @@ -752,7 +756,7 @@ const translation: I18nTranslation = { templates: { heading: 'نیا پروجیکٹ', noUserTemplates: { - desc: 'آپ کسی پروجیکٹ کو سانچے کے طور پر محفوظ کر سکتے ہیں <1>(ایپ مینو > بطور محفوظ کریں > سانچہ)۔', + desc: 'آپ کسی پروجیکٹ کو سانچے کے طور پر محفوظ کر سکتے ہیں <1>(ایپ مینو > بطور محفوظ کریں > سانچہ)۔', heading: 'آپ کے پاس کوئی محفوظ شدہ سانچے نہیں ہیں۔', }, starter: { @@ -839,16 +843,16 @@ const translation: I18nTranslation = { }, test: { edit: 'ترمیم کریں', - error: '<1>ٹیسٹ میں خرابی!', - loading: '<1>ٹیسٹ لوڈ ہو رہے ہیں...', - noTest: '<1>اس پروجیکٹ میں کوئی ٹیسٹ نہیں ہے!', + error: '<1><2>ٹیسٹ میں خرابی!', + loading: '<1>ٹیسٹ لوڈ ہو رہے ہیں...', + noTest: '<1>اس پروجیکٹ میں کوئی ٹیسٹ نہیں ہے!', reset: 'دوبارہ ترتیب دیں', run: { desc: 'Ctrl/Cmd + Alt + T', heading: 'چلائیں', }, summary: { - desc: 'ٹیسٹ: {{failed}}\n {{passed}}\n {{skipped}}\n {{total}}<1>\nوقت: {{duration}}s', + desc: 'ٹیسٹ: {{failed}}\n {{passed}}\n {{skipped}}\n {{total}}<1>\nوقت: {{duration}}s', failed: '{{failedNum}} ناکام', passed: '{{passedNum}} کامیاب', skipped: '{{skippedNum}} چھوڑ دیا گیا', @@ -873,7 +877,7 @@ const translation: I18nTranslation = { recover: { cancel: 'منسوخ کریں', heading: 'بحال کریں', - lastModified: 'آخری ترمیم: <1>', + lastModified: 'آخری ترمیم: <1>', recover: 'بحال کریں', save: 'محفوظ کریں', unsavedChanges: 'آپ کے آخری پروجیکٹ میں غیر محفوظ شدہ تبدیلیاں تھیں:', diff --git a/src/livecodes/i18n/locales/zh-CN/language-info.ts b/src/livecodes/i18n/locales/zh-CN/language-info.ts index 9271275dc..11311a0fd 100644 --- a/src/livecodes/i18n/locales/zh-CN/language-info.ts +++ b/src/livecodes/i18n/locales/zh-CN/language-info.ts @@ -5,394 +5,394 @@ import type { I18nLangInfoTranslation } from '../models'; const languageInfo: I18nLangInfoTranslation = { artTemplate: { desc: '高性能 JavaScript 模板引擎。', - link: '<1> art-template 官方网站 art-template 文档 ', + link: '<1> <2> art-template 官方网站 <3> <4> art-template 文档 ', name: 'art-template', }, asciidoc: { desc: '使用 Asciidoctor 编译为 HTML 的 AsciiDoc。', - link: '<1> AsciiDoc 官方网站 Asciidoctor 官方网站 Asciidoctor 文档 在 Y 分钟内学习 X,其中 X=asciidoc ', + link: '<1> <2>AsciiDoc 官方网站 <3> <4>Asciidoctor 官方网站 <5> <6>Asciidoctor 文档 <7> <8>在 Y 分钟内学习 X,其中 X=asciidoc ', name: 'AsciiDoc', }, assemblyscript: { desc: '一种类似于 TypeScript 的 WebAssembly 语言。', - link: '<1> AssemblyScript 官方网站 AssemblyScript 文档 加载启动模板 ', + link: '<1> <2>AssemblyScript 官方网站 <3> <4>AssemblyScript 文档 <5> <6>加载启动模板 ', name: 'AssemblyScript', }, astro: { desc: '使用更少的客户端侧 Javascript 构建更快的网站。(仍处于 Beta 阶段)', - link: '<1> Astro 官网 Astro 文档 加载启动模板 ', + link: '<1> <2>Astro 官网 <3> <4>Astro 文档 <5> <6>加载启动模板 ', name: 'Astro', }, babel: { desc: 'JavaScript 编译器。', - link: '<1>官方网站 Babel 文档 ', + link: '<1><2>官方网站 <3> <4>Babel 文档 ', name: 'Babel', }, bbcode: { desc: 'BBCode("Bulletin Board Code",即 “公告板代码”)是一种轻量级标记语言,在许多互联网论坛软件中用于格式化消息。', - link: '<1>bbcode.org BBCode 指南 维基百科上的 BBCode ', + link: '<1><2>bbcode.org <3> <4>BBCode 指南 <5> <6>维基百科上的 BBCode ', name: 'BBCode', }, blockly: { desc: '用于构建可视化编程编辑器的 JavaScript 库。', - link: '<1> 官方网站 指南 参考 样例 加载启动模板 ', + link: '<1> <2>官方网站 <3> <4>指南 <5> <6>参考 <7> <8>样例 <9> <10>加载启动模板 ', name: 'Blockly', }, civet: { desc: 'Civet 是一种可编译为 TypeScript 或 JavaScript 的编程语言,因此您可以在保留现有工具链的同时,享受简洁而强大的语法。', - link: '<1> Civet 官方网站 Civet 速查册 加载启动模板 ', + link: '<1> <2>Civet 官方网站 <3> <4>Civet 速查册 <5> <6>加载启动模板 ', name: 'Civet', }, clio: { desc: 'Clio 是一种快速、分布式的函数式编程语言,可被编译为 JavaScript。', - link: '<1> Clio 官方网站 Clio 文档 加载启动模板 ', + link: '<1> <2> Clio 官方网站 <3> <4> Clio 文档 <5> <6>加载启动模板 ', name: 'Clio', }, clojurescript: { - desc: 'ClojureScript 是 <1>Clojure 到 JavaScript 的编译器。在 LiveCodes 中,它使用 Cherry 在浏览器中运行。', - link: '<1> ClojureScript 官方网站 Clojure 官方网站 Cherry 仓库 在 Y 分钟内学习 X,其中 X=clojure LiveCodes 文档 加载启动模板 ', + desc: 'ClojureScript 是 <1>Clojure 到 JavaScript 的编译器。<2>在 LiveCodes 中,它使用 <3>Cherry 在浏览器中运行。', + link: '<1> <2>ClojureScript 官方网站 <3> <4>Clojure 官方网站 <5> <6>Cherry 仓库 <7> <8>在 Y 分钟内学习 X,其中 X=clojure <9> <10>LiveCodes 文档 <11> <12>加载启动模板 ', name: 'ClojureScript(CLJS)', }, coffeescript: { desc: '不花哨的 JavaScript。', - link: '<1> CoffeeScript 官方网站 在 Y 分钟内学习 X,其中 X=CoffeeScript 加载启动模板 ', + link: '<1> <2>CoffeeScript 官方网站 <3> <4>在 Y 分钟内学习 X,其中 X=CoffeeScript <5> <6>加载启动模板 ', name: 'CoffeeScript', }, commonlisp: { desc: '使用 JSCL(从 Common Lisp 启动的 Lisp 到 Javascript 编译器)在 Javascript 上实现的 Common Lisp。', - link: '<1> Common-Lisp.net JSCL 项目 Common Lisp 资源 在 Y 分钟内学习 X,其中 X=Common Lisp 加载启动模板 ', + link: '<1> <2>Common-Lisp.net <3> <4>JSCL 项目 <5> <6>Common Lisp 资源 <7> <8>在 Y 分钟内学习 X,其中 X=Common Lisp <9> <10>加载启动模板 ', name: 'Common Lisp', }, cpp: { desc1: '由 JSCPP(使用 JavaScript 编写的简单 C++ 解释器)提供的 C++ 支持。', - desc2: '它并非 C++ 的完整实现。请查看 <1>JSCPP 文档 以了解详情。', - link: '<1> 标准 C++ 基金会 JSCPP 在 Y 分钟内学习 X,其中 X=C++ 加载启动模板 ', + desc2: '它并非 C++ 的完整实现。请查看 <1>JSCPP 文档 以了解详情。', + link: '<1> <2>标准 C++ 基金会 <3> <4>JSCPP <5> <6>在 Y 分钟内学习 X,其中 X=C++ <7> <8>加载启动模板 ', name: 'C++', }, cppWasm: { - desc: '运行在 WebAssembly 上的 Clang C/C++ 编译器,使用由 <2>polylang.io 适配的 wasm-clang 。', - link: '<1> 标准 C++ 基金会 Clang 官网 在 Y 分钟内学习 X,其中 X=C++ 加载启动模板 ', + desc: '运行在 WebAssembly 上的 Clang C/C++ 编译器,使用由 <2>polylang.io 适配的 <1>wasm-clang 。', + link: '<1> <2>标准 C++ 基金会 <3> <4>Clang 官网 <5> <6>在 Y 分钟内学习 X,其中 X=C++ <7> <8>加载启动模板 ', name: 'C/C++(WASM)', }, diagrams: { desc1: '(实验性)', desc2: '使用代码绘制图表。支持:', desc3: - '<1> Cytoscape ELK(使用 elkjs Gnuplot(使用 gnuplot-JS Graphviz(使用 @hpcc-js/wasm Mermaid Nomnoml Pintora Plotly Svgbob Vega VegaLite WaveDrom ', - link: '<1> 加载启动模板 LiveCodes 文档 ', + '<1> <2>Cytoscape <3> <4>ELK(使用 <5>elkjs <6> <7>Gnuplot(使用 <8>gnuplot-JS <9> <10>Graphviz(使用 <11>@hpcc-js/wasm <12> <13>Mermaid <14> <15>Nomnoml <16> <17>Pintora <18> <19>Plotly <20> <21>Svgbob <22> <23>Vega <24> <25>VegaLite <26> <27>WaveDrom ', + link: '<1> <2>加载启动模板 <3> <4>LiveCodes 文档 ', name: '图表', }, dot: { desc: '适用于 Node.js 和浏览器的最快、最简洁的 JavaScript 模板引擎。', - link: '<1>官方网站 LiveCodes 文档 ', + link: '<1><2>官方网站 <3> <4>LiveCodes 文档 ', name: 'doT.js', }, ejs: { desc: '嵌入式 JavaScript 模板。', - link: '<1>官方网站 LiveCodes 文档 ', + link: '<1><2>官方网站 <3> <4>LiveCodes 文档 ', name: 'EJS', }, eta: { desc: '用于 Node、Deno 和浏览器的嵌入式 JS 模板引擎。轻巧、快速且可插拔。使用 TypeScript 编写。', - link: '<1>官方网站 文档 LiveCodes 文档 ', + link: '<1><2>官方网站 <3> <4>文档 <5> <6>LiveCodes 文档 ', name: 'Eta', }, fennel: { desc: 'Fennel 是一种编程语言,它结合了 Lua 的快速、简洁和广泛性以及 Lisp 语法和宏系统的灵活性。', - link: '<1> Fennel 官方网站 Fennel 入门 LiveCodes 文档 加载启动模板 ', + link: '<1> <2>Fennel 官方网站 <3> <4>Fennel 入门 <5> <6>LiveCodes 文档 <7> <8>加载启动模板 ', name: 'Fennel', }, flow: { desc: 'Flow 是 JavaScript 的静态类型检查器。', - link: '<1> Flow 官方网站 Flow 文档 ', + link: '<1> <2>Flow 官方网站 <3> <4>Flow 文档 ', name: 'Flow', }, gleam: { desc1: 'Gleam 是一种对构建可扩展的类型安全系统友好的编程语言!', desc2: 'Gleam 是一种静态类型的函数式编程语言,可编译为 Erlang 或 JavaScript。', - link: '<1>Gleam 官方网站 Gleam 文档 Gleam 语言导览 加载启动模板 ', + link: '<1><2>Gleam 官方网站 <3> <4>Gleam 文档 <5> <6>Gleam 语言导览 <7> <8>加载启动模板 ', name: 'Gleam', }, go: { desc1: 'Go(Golang)是一种开源编程语言,可以轻松构建简单、可靠、高效的软件。', desc2: '此处使用 GopherJS 将其编译为 JavaScript。', - link: '<1>Go 官方网站 Go 文档 GopherJS 仓库 在 Y 分钟内学习 X,其中 X=Go 加载启动模板', + link: '<1><2>Go 官方网站 <3><4>Go 文档 <5> <6>GopherJS 仓库 <7> <8>在 Y 分钟内学习 X,其中 X=Go <9><10>加载启动模板', name: 'Go', }, haml: { desc: '使用 clientside-haml-js 的 Haml 编译器,用于编写客户端侧 JavaScript 视图模板。', - link: '<1>Haml 官网 Haml 文档 clientside-haml-js GitHub 仓库 在 Y 分钟内学习 X,其中 X=haml LiveCodes 文档 ', + link: '<1><2>Haml 官网 <3> <4>Haml 文档 <5> <6>clientside-haml-js GitHub 仓库 <7> <8>在 Y 分钟内学习 X,其中 X=haml <9> <10>LiveCodes 文档 ', name: 'Haml', }, handlebars: { desc: '极简模板引擎的增强版。', - link: '<1>官方网站 LiveCodes 文档 ', + link: '<1><2>官方网站 <3> <4>LiveCodes 文档 ', name: 'Handlebars', }, imba: { desc: '友好的全栈语言。', - link: '<1>官方网站', + link: '<1><2>官方网站', name: 'Imba', }, jsx: { desc: '在 LiveCodes 中,JSX 使用 TypeScript 编译器编译为 JavaScript。默认情况下,React 将作为 JSX 运行时。', - link: '<1> React 官方网站 React 文档中的 JSX LiveCodes 文档 加载启动模板 ', + link: '<1> <2>React 官方网站 <3> <4>React 文档中的 JSX <5> <6>LiveCodes 文档 <7> <8>加载启动模板 ', name: 'JSX', }, julia: { desc1: '(LiveCodes 中的 Julia 语言支持仍处于实验阶段)', desc2: - '在 WASM 上运行的 Julia 编译器和 Julia Base,使用由 <2>polylang.io 适配的 julia-wasm 。', - link: '<1> Julia 官方网站 Julia 文档 在 Y 分钟内学习 X,其中 X=Julia 加载启动模板 ', + '在 WASM 上运行的 Julia 编译器和 Julia Base,使用由 <2>polylang.io 适配的 <1>julia-wasm 。', + link: '<1> <2>Julia 官方网站 <3> <4>Julia 文档 <5> <6>在 Y 分钟内学习 X,其中 X=Julia <7> <8>加载启动模板 ', name: 'Julia', }, less: { desc: '只多了一点点内容的 CSS。', - link: '<1>Less 官方网站 在 Y 分钟内学习 X,其中 X=less ', + link: '<1><2>Less 官方网站 <3> <4>在 Y 分钟内学习 X,其中 X=less ', name: 'Less', }, liquid: { desc: '一个简单、富有表现力且安全的模板引擎。', - link: '<1> LiquidJS 官方网站 LiquidJS 文档 LiveCodes 文档 ', + link: '<1> <2>LiquidJS 官方网站 <3> <4>LiquidJS 文档 <5> <6>LiveCodes 文档 ', name: 'LiquidJS', }, livescript: { desc: '一种可编译为 JavaScript 的语言。', - link: '<1> LiveScript 官方网站 在 Y 分钟内学习 X,其中 X=LiveScript 加载启动模板 ', + link: '<1> <2>LiveScript 官方网站 <3> <4>在 Y 分钟内学习 X,其中 X=LiveScript <5> <6>加载启动模板 ', name: 'LiveScript', }, lua: { desc: '使用 fengari-web 在浏览器中运行的 Lua。', - link: '<1>Lua 官方网站 Lua 文档 Fengari 官网 fengari-web GitHub 仓库 在 Y 分钟内学习 X,其中 X=Lua LiveCodes 文档 加载启动模板', + link: '<1><2>Lua 官方网站 <3> <4>Lua 文档 <5> <6>Fengari 官网 <7> <8>fengari-web GitHub 仓库 <9> <10>在 Y 分钟内学习 X,其中 X=Lua <11> <12>LiveCodes 文档 <13><14>加载启动模板', name: 'Lua', }, luaWasm: { desc: '使用 Wasmoon 在浏览器中运行的 Lua。Wasmoon 是一个真正的 Lua 5.4 虚拟机,附带使用 WebAssembly 制作的 JS 绑定。', - link: '<1>Lua 官方网站 Lua 文档 Wasmoon GitHub 仓库 在 Y 分钟内学习 X,其中 X=Lua LiveCodes 文档 加载启动模板 ', + link: '<1><2>Lua 官方网站 <3> <4>Lua 文档 <5> <6>Wasmoon GitHub 仓库 <7> <8>在 Y 分钟内学习 X,其中 X=Lua <9> <10>LiveCodes 文档 <11> <12>加载启动模板 ', name: 'Lua(WASM)', }, malina: { desc: '前端编译器,受到 Svelte 的启发。', - link: '<1> Malina.js 仓库 Malina.js 文档 加载启动模板 ', + link: '<1> <2>Malina.js 仓库 <3> <4>Malina.js 文档 <5> <6>加载启动模板 ', name: 'Malina.js', }, markdown: { desc: '使用 Marked 编译为 HTML 的 Markdown。', - link: '<1> Markdown 官方网站 Marked 文档 在 Y 分钟内学习 X,其中 X=Markdown 加载启动模板 ', + link: '<1> <2>Markdown 官方网站 <3> <4>Marked 文档 <5> <6>在 Y 分钟内学习 X,其中 X=Markdown <7> <8>加载启动模板 ', name: 'Markdown', }, mdx: { - desc: '组件时代的 Markdown。 <1> MDX 让您可以在 Markdown 文档中无缝编写 JSX。', - link: '<1>MDX 文档 加载启动模板', + desc: '组件时代的 Markdown。 <1> MDX 让您可以在 Markdown 文档中无缝编写 JSX。', + link: '<1><2>MDX 文档 <3><4>加载启动模板', name: 'MDX', }, mjml: { desc: 'MJML 是一种标记语言,旨在减轻编写响应式电子邮件的痛苦。', - link: '<1>MJML 官方网站 MJML 文档 MJML 官方模板 LiveCodes 文档 ', + link: '<1><2>MJML 官方网站 <3> <4>MJML 文档 <5> <6>MJML 官方模板 <7> <8>LiveCodes 文档 ', name: 'MJML', }, mustache: { desc: '无逻辑的模板。', - link: '<1> 官方网站 Mustache 5 手册 JavaScript 实现 LiveCodes 文档 ', + link: '<1> <2>官方网站 <3> <4>Mustache 5 手册 <5> <6>JavaScript 实现 <7> <8>LiveCodes 文档 ', name: 'Mustache', }, nunjucks: { - desc: '一种丰富而强大的 JavaScript 模板语言。Nunjucks 本质上是 <1>jinja2 的一个移植。', - link: '<1> 官方网站 LiveCodes 文档 ', + desc: '一种丰富而强大的 JavaScript 模板语言。Nunjucks 本质上是 <1>jinja2 的一个移植。', + link: '<1> <2>官方网站 <3> <4>LiveCodes 文档 ', name: 'Nunjucks', }, ocaml: { desc1: 'OCaml 是一种工业级编程语言,支持函数式、命令式和面向对象编程范式。', desc2: 'ReScript 编译器将用于把 OCaml 编译为 JavaScript。', - link: '<1>OCaml 官方网站 OCaml 文档 ReScript 网站 在 Y 分钟内学习 X,其中 X=OCaml 加载启动模板 ', + link: '<1><2>OCaml 官方网站 <3> <4>OCaml 文档 <5> <6>ReScript 网站 <7> <8>在 Y 分钟内学习 X,其中 X=OCaml <9> <10>加载启动模板 ', name: 'OCaml', }, perl: { desc: '使用 Perlito 在浏览器中运行的 Perl。', - link: '<1> Perl 官网 Perl 文档 Perlito5 自述文件 在 Y 分钟内学习 X,其中 X=Perl 加载启动模板 ', + link: '<1> <2>Perl 官网 <3> <4>Perl 文档 <5> <6>Perlito5 自述文件 <7> <8>在 Y 分钟内学习 X,其中 X=Perl <9> <10>加载启动模板 ', name: 'Perl', }, php: { desc: '使用 Uniter 在浏览器中运行的 PHP。', - link: '<1>PHP 官网 PHP 文档 Uniter GitHub 仓库 在 Y 分钟内学习 X,其中 X=PHP LiveCodes 文档 加载启动模板', + link: '<1><2>PHP 官网 <3> <4>PHP 文档 <5> <6>Uniter GitHub 仓库 <7> <8>在 Y 分钟内学习 X,其中 X=PHP <9> <10>LiveCodes 文档 <11><12>加载启动模板', name: 'PHP', }, phpWasm: { desc: '浏览器中的 PHP,由 WebAssembly 提供支持,使用 php-wasm。', - link: '<1>PHP 官方网站 PHP 文档 php-wasm GitHub 仓库 在 Y 分钟内学习 X,其中 X=PHP LiveCodes 文档 加载启动模板 ', + link: '<1><2>PHP 官方网站 <3> <4>PHP 文档 <5> <6>php-wasm GitHub 仓库 <7> <8>在 Y 分钟内学习 X,其中 X=PHP <9> <10>LiveCodes 文档 <11> <12>加载启动模板 ', name: 'PHP(WASM)', }, postgresql: { desc: '使用 PGlite 打包为 WASM 的 PostgreSQL。', - link: '<1> PostgreSQL官网 PostgreSQL文档 PGlite GitHub 仓库 在 Y 分钟内学习 X,其中 X=SQL 加载启动模板 ', + link: '<1> <2>PostgreSQL官网 <3> <4>PostgreSQL文档 <5> <6>PGlite GitHub 仓库 <7> <8>在 Y 分钟内学习 X,其中 X=SQL <9> <10>加载启动模板 ', name: 'PostgreSQL', }, prolog: { desc: 'JavaScript 中的开源 Prolog 解释器。', - link: '<1> Tau Prolog 官方网站 Tau Prolog 文档 SWI-Prolog 在 Y 分钟内学习 X,其中 X=Prolog 加载启动模板 ', + link: '<1> <2>Tau Prolog 官方网站 <3> <4>Tau Prolog 文档 <5> <6>SWI-Prolog <7> <8>在 Y 分钟内学习 X,其中 X=Prolog <9> <10>加载启动模板 ', name: 'Tau Prolog', }, pug: { desc: '强大、优雅、功能丰富的模板引擎。', - link: '<1> Pug 文档 在 Y 分钟内学习 X,其中 X=Pug LiveCodes 文档 ', + link: '<1> <2>Pug 文档 <3> <4>在 Y 分钟内学习 X,其中 X=Pug <5> <6>LiveCodes 文档 ', name: 'Pug', }, python: { desc: '使用 Brython 在浏览器中运行的 Python。', - link: '<1> Python 官网 Python 文档 Brython 文档 在 Y 分钟内学习 X,其中 X=Python LiveCodes 文档 加载启动模板 ', + link: '<1> <2>Python 官网 <3> <4>Python 文档 <5> <6>Brython 文档 <7> <8>在 Y 分钟内学习 X,其中 X=Python <9> <10>LiveCodes 文档 <11> <12>加载启动模板 ', name: 'Python', }, pythonWasm: { desc1: '支持科学技术栈的 Python,使用 Pyodide 编译为 WebAssembly。', desc2: 'Pyodide 允许使用包括 NumPy, Pandas, Matplotlib, SciPy, scikit-learn 等库在内的 Python 科学技术栈。此外,还可以从 PyPI 安装纯 Python Wheel。', - link: '<1> Python 官方网站 Python 文档 Pyodide 文档 在 Y 分钟内学习 X,其中 X=Python LiveCodes 文档 加载启动模板 ', + link: '<1> <2>Python 官方网站 <3> <4>Python 文档 <5><6>Pyodide 文档 <7> <8>在 Y 分钟内学习 X,其中 X=Python <9> <10>LiveCodes 文档 <11> <12>加载启动模板 ', name: 'Python(WASM)', }, r: { desc: '使用 WebR 在浏览器中运行的 R。', - link: '<1> R 项目官方网站 R 手册 R for Data Science(2e) WebR 文档 在 Y 分钟内学习 X,其中 X=R LiveCodes 文档 加载启动模板 ', + link: '<1> <2>R 项目官方网站 <3> <4>R 手册 <5> <6>R for Data Science(2e) <7> <8>WebR 文档 <9> <10>在 Y 分钟内学习 X,其中 X=R <11> <12>LiveCodes 文档 <13> <14>加载启动模板 ', name: 'R', }, reactNative: { desc: 'React Native for Web 是 React Native 的组件和 API 的可访问实现,可与 React DOM 互操作。', - link: '<1> React 官方网站 React Native 官方网站 React Native for Web 官方网站 React Native 文档 LiveCodes 文档 加载启动模板 ', + link: '<1> <2>React 官方网站 <3> <4>React Native 官方网站 <5> <6>React Native for Web 官方网站 <7> <8>React Native 文档 <9> <10>LiveCodes 文档 <11> <12>加载启动模板 ', name: 'React Native for Web', }, reactNativeTsx: { desc: 'React Native for Web 是 React Native 的组件和 API 的可访问实现,可与 React DOM 互操作。', - link: '<1> React 官方网站 React Native 官方网站 React Native for Web 官方网站 React Native 文档 TypeScript 网站 TypeScript 文档 LiveCodes 文档 加载启动模板(JSX) ', + link: '<1> <2>React 官方网站 <3> <4>React Native 官方网站 <5> <6>React Native for Web 官方网站 <7> <8>React Native 文档 <9> <10>TypeScript 网站 <11> <12>TypeScript 文档 <13> <14>LiveCodes 文档 <15> <16>加载启动模板(JSX) ', name: 'React Native for Web(TypeScript 支持)', }, reason: { desc1: 'Reason 可让您利用 JavaScript 和 OCaml 生态系统编写简单、快速和高质量的类型安全代码。', desc2: 'ReScript 编译器将用于把 Reason 编译为 JavaScript。', - link: '<1>Reason 官方网站 Reason 文档 ReasonReact ReScript 网站 在 Y 分钟内学习 X,其中 X=reason 加载启动模板 ', + link: '<1><2>Reason 官方网站 <3> <4>Reason 文档 <5> <6>ReasonReact <7> <8>ReScript 网站 <9> <10>在 Y 分钟内学习 X,其中 X=reason <11> <12>加载启动模板 ', name: 'Reason', }, rescript: { desc: 'ReScript 是一种强类型语言,可以编译为高效且人类可读的 JavaScript。', - link: '<1> ReScript 官方网站 ReScript / React 加载启动模板 ', + link: '<1> <2>ReScript 官方网站 <3> <4>ReScript / React <5> <6>加载启动模板 ', name: 'ReScript', }, richtext: { desc1: '使用 Quill:', desc2: '您功能强大的富文本编辑器。', - link: '<1> Quill 官方网站 ', + link: '<1> <2>Quill 官方网站 ', name: '富文本编辑器', }, riot: { desc: '简单而优雅的、基于组件的 UI 库。', - link: '<1> Riot.js 官方网站 Riot.js 文档 加载启动模板 ', + link: '<1> <2>Riot.js 官方网站 <3> <4>Riot.js 文档 <5> <6>加载启动模板 ', name: 'Riot.js', }, ruby: { desc: '使用 Opal 在浏览器中运行的 Ruby。', - link: '<1> Ruby 官方网站 Ruby 文档 Opal 官方网站 Opal 标准库 CDN 在 Y 分钟内学习 X,其中 X=ruby LiveCodes 文档 加载启动模板 ', + link: '<1> <2>Ruby 官方网站 <3> <4>Ruby 文档 <5><6>Opal 官方网站 <7> <8>Opal 标准库 CDN <9> <10>在 Y 分钟内学习 X,其中 X=ruby <11> <12>LiveCodes 文档 <13> <14>加载启动模板 ', name: 'Ruby', }, rubyWasm: { desc: '使用 ruby-wasm(移植到 WebAssembly 中的 CRuby 集合)在浏览器中运行的 Ruby。', - link: '<1> Ruby 官方网站 Ruby 文档 ruby.wasm 网站 CRuby 在 Y 分钟内学习 X,其中 X=ruby LiveCodes 文档 加载启动模板 ', + link: '<1> <2>Ruby 官方网站 <3> <4>Ruby 文档 <5> <6>ruby.wasm 网站 <7><8>CRuby <9> <10>在 Y 分钟内学习 X,其中 X=ruby <11> <12>LiveCodes 文档 <13> <14>加载启动模板 ', name: 'Ruby(WASM)', }, sass: { desc: '语法超赞的样式表。', - link: '<1> Sass 官方网站 Sass 文档 Sass(缩进)语法 在 Y 分钟内学习 X,其中 X=sass ', + link: '<1> <2>Sass 官方网站 <3> <4>Sass 文档 <5> <6>Sass(缩进)语法 <7> <8>在 Y 分钟内学习 X,其中 X=sass ', name: 'Sass', }, scheme: { desc: '使用 biwascheme 在浏览器中运行的 Scheme。', - link: '<1> Scheme 编程语言 BiwaScheme 官方网站 BiwaScheme 参考 加载启动模板 ', + link: '<1> <2>Scheme 编程语言 <3> <4>BiwaScheme 官方网站 <5> <6>BiwaScheme 参考 <7> <8>加载启动模板 ', name: 'Scheme', }, scss: { desc: '语法超赞的样式表。', - link: '<1> Sass 官方网站 Sass 文档 SCSS 语法 在 Y 分钟内学习 X,其中 X=Sass ', + link: '<1> <2>Sass 官方网站 <3> <4>Sass 文档 <5> <6>SCSS 语法 <7> <8>在 Y 分钟内学习 X,其中 X=Sass ', name: 'SCSS', }, solid: { desc: '用于构建用户界面的声明式、高效且灵活的 JavaScript 库。', - link: '<1>官方网站 文档 LiveCodes 文档 加载启动模板(TSX) ', + link: '<1><2>官方网站 <3><4>文档 <5> <6>LiveCodes 文档 <7> <8>加载启动模板(TSX) ', name: 'Solid', tsx: { desc: '用于构建用户界面的声明式、高效且灵活的 JavaScript 库。', - link: '<1>官方网站 Solid 文档 TypeScript 官方网站 TypeScript 文档 LiveCodes 文档 加载启动模板 ', + link: '<1><2>官方网站 <3> <4>Solid 文档 <5> <6>TypeScript 官方网站 <7> <8>TypeScript 文档 <9> <10>LiveCodes 文档 <11> <12>加载启动模板 ', name: 'Solid(TypeScript 支持)', }, }, sql: { desc: '使用 SQL.js 编译为 JavaScript 的 SQLite。', - link: '<1> SQLite 官方网站 SQLite 语法文档 SQL.js 官方网站 在 Y 分钟内学习 X,其中 X=SQL 加载启动模板', + link: '<1> <2>SQLite 官方网站 <3> <4>SQLite 语法文档 <5> <6>SQL.js 官方网站 <7> <8>在 Y 分钟内学习 X,其中 X=SQL <9><10>加载启动模板', name: 'SQLite', }, stencil: { desc: '用于 Web 组件和高性能 Web 应用程序的编译器。', - link: '<1> Stencil 官方网站 Stencil 文档 加载启动模板 ', + link: '<1> <2>Stencil 官方网站 <3> <4>Stencil 文档 <5> <6>加载启动模板 ', name: 'Stencil', }, styleProcessors: { - link: '<1> Tailwind CSS Windi CSS UnoCSS Lightning CSS PostCSS 插件: Autoprefixer postcss-preset-env postcss-import-url postcss-modules ', + link: '<1> <2>Tailwind CSS <3> <4>Windi CSS <5> <6>UnoCSS <7> <8>Lightning CSS <9> <10>PostCSS 插件:<11> <12> <13>Autoprefixer <14> <15>postcss-preset-env <16> <17>postcss-import-url <18> <19>postcss-modules ', name: 'CSS 框架及处理器', }, stylis: { desc: '轻量级 CSS 预处理器。', - link: '<1> Stylis 官方网站 ', + link: '<1> <2>Stylis 官方网站 ', name: 'Stylis', }, stylus: { desc: '富有表现力、动态、健壮的 CSS。', - link: '<1> Stylus 官方网站 在 Y 分钟内学习 X,其中 X=stylus ', + link: '<1> <2>Stylus 官方网站 <3> <4>在 Y 分钟内学习 X,其中 X=stylus ', name: 'Stylus', }, sucrase: { desc: '针对现代 JS 运行时的 Babel 的超快速替代品。', - link: '<1> Sucrase 官方网站 Sucrase GitHub 仓库 LiveCodes 文档 ', + link: '<1> <2>Sucrase 官方网站 <3> <4>Sucrase GitHub 仓库 <5> <6>LiveCodes 文档 ', name: 'Sucrase', }, svelte: { desc: '通过控制论增强的 Web 应用程序。', - link: '<1> Svelte 官方网站 Svelte 文档 加载启动模板 ', + link: '<1> <2>Svelte 官方网站 <3> <4>Svelte 文档 <5> <6>加载启动模板 ', name: 'Svelte', }, tcl: { - desc: '使用 <1>wacl 在浏览器中运行的 Tcl。', - link: '<1> Tcl 官方网站 wacl 仓库 在 Y 分钟内学习 X,其中 X=Tcl 加载启动模板 ', + desc: '使用 <1>wacl 在浏览器中运行的 Tcl。', + link: '<1> <2>Tcl 官方网站 <3> <4>wacl 仓库 <5> <6>在 Y 分钟内学习 X,其中 X=Tcl <7> <8>加载启动模板 ', name: 'Tcl(工具命令语言)', }, teal: { desc: 'Lua 的一种类型化方言。', - link: '<1> Teal GitHub 仓库 Teal 文档 Teal 教程 LiveCodes 文档 加载启动模板 ', + link: '<1> <2>Teal GitHub 仓库 <3> <4>Teal 文档 <5> <6>Teal 教程 <7> <8>LiveCodes 文档 <9> <10>加载启动模板 ', name: 'Teal', }, tsx: { desc: 'JSX 中的 TypeScript。在 LiveCodes 中,TSX 使用 TypeScript 编译器编译为 JavaScript。默认情况下,React 将作为 JSX 运行时。', - link: '<1> React 官方网站 React 中的 JSX 文档 Typescript 文档 LiveCodes 文档 ', + link: '<1> <2>React 官方网站 <3> <4>React 中的 JSX 文档 <5> <6>Typescript 文档 <7> <8>LiveCodes 文档 ', name: 'TSX', }, twig: { - desc: '由 <2>Twig.js 支持的 Twig PHP 模板语言的 JavaScript 实现。', - link: '<1> Twig 官方网站 Twig 文档 Twig.js 仓库 Twig.js 文档 LiveCodes 文档 ', + desc: '由 <2>Twig.js 支持的 <1>Twig PHP 模板语言的 JavaScript 实现。', + link: '<1> <2>Twig 官方网站 <3> <4>Twig 文档 <5> <6>Twig.js 仓库 <7> <8>Twig.js 文档 <9> <10>LiveCodes 文档 ', name: 'Twig', }, typescript: { desc: 'JavaScript 的类型化超集。', - link: '<1> 官方网站 TypeScript 文档 在 Y 分钟内学习 X,其中 X=TypeScript 加载启动模板 ', + link: '<1> <2>官方网站 <3> <4>TypeScript 文档 <5> <6>在 Y 分钟内学习 X,其中 X=TypeScript <7> <8>加载启动模板 ', name: 'TypeScript', }, vue: { - link: '<1> Vue.js v3 官方网站 Vue3 文档 Vue3 单文件组件 LiveCodes 文档 加载启动模板', + link: '<1> <2>Vue.js v3 官方网站 <3> <4>Vue3 文档 <5> <6>Vue3 单文件组件 <7> <8>LiveCodes 文档 <9><10>加载启动模板', name: 'Vue3 单文件组件', }, vue2: { desc: '使用 vue3-sfc-loader 加载。', - link: '<1>Vue.js 官方网站 Vue2 文档 Vue2 单文件组件 vue3-sfc-loader GitHub 仓库 LiveCodes 文档 ', + link: '<1><2>Vue.js 官方网站 <3> <4>Vue2 文档 <5> <6>Vue2 单文件组件 <7> <8>vue3-sfc-loader GitHub 仓库 <9> <10>LiveCodes 文档 ', name: 'Vue2 单文件组件', }, wat: { desc1: 'WebAssembly(wasm)二进制格式的低级文本表示。', desc2: '使用 wabt.js 将其转换为 wasm。', - link: '<1>WebAssembly.org WebAssembly 文本规范 MDN 上的 WebAssembly 理解 WebAssembly 文本格式 wabt.js 文档 在 Y 分钟内学习 X,其中 X=WebAssembly 加载启动模板', + link: '<1><2>WebAssembly.org <3> <4> WebAssembly 文本规范 <5> <6> MDN 上的 WebAssembly <7> <8> 理解 WebAssembly 文本格式 <9> <10> wabt.js 文档 <11> <12> 在 Y 分钟内学习 X,其中 X=WebAssembly <13> <14> 加载启动模板', name: 'WebAssembly 文本格式', }, }; diff --git a/src/livecodes/i18n/locales/zh-CN/translation.ts b/src/livecodes/i18n/locales/zh-CN/translation.ts index f8fd25bf0..882bc17e5 100644 --- a/src/livecodes/i18n/locales/zh-CN/translation.ts +++ b/src/livecodes/i18n/locales/zh-CN/translation.ts @@ -14,9 +14,9 @@ const translation: I18nTranslation = { heading: '关于 LiveCodes', livecodes: { para1: - '<1>LiveCodes 是一个开源的功能丰富的客户端侧的代码运行环境。目前支持超过 80 种语言 / 框架。它可以作为独立应用使用,亦可嵌入到任意网页中。可以通过多种途径将代码预填到编辑器中。', + '<1><2>LiveCodes 是一个<3>开源的、<4>功能丰富的、<5>客户端侧的代码运行环境。目前支持<6>超过 80 种语言 / <7>框架。它可以作为独立应用使用,亦可<8>嵌入到任意网页中。可以通过多种途径将代码<9>预填到编辑器中。', para2: - '多种<1>配置选项使其非常灵活。功能强大的 SDK(可用于 JS / TS, React, VueSvelte)便于嵌入运行环境并与其进行通信文档内容详细完整,代码示例、实时演示和屏幕截图一应俱全。', + '多种<1>配置选项使其非常灵活。功能强大的 <2>SDK(可用于 <3>JS / TS, <4>React, <5>Vue 和 <6>Svelte)便于<7>嵌入运行环境并与其<8>进行通信。<9>文档内容详细完整,代码示例、实时演示和屏幕截图一应俱全。', }, version: { app: '应用版本:{{APP_VERSION}}', @@ -28,6 +28,9 @@ const translation: I18nTranslation = { }, }, app: { + consoleMessage: { + learnMore: '了解更多! {{docsUrl}} 🚀', + }, copy: { hint: '复制(Ctrl/Cmd + A, Ctrl/Cmd + C)', }, @@ -81,12 +84,12 @@ const translation: I18nTranslation = { assets: { add: { dataURL: { - desc: '将资产添加为 base64 编码的 <1>Data URL 。', + desc: '将资产添加为 base64 编码的 <1>Data URL 。', heading: 'Data URL', label: '添加文件', }, githubPages: { - desc: '将资产部署到 GitHub Pages。该文件将推送至您 GitHub 帐户上 <2> livecodes-assets 仓库的 gh-pages 分支。如果该仓库尚不存在,则将创建一个公开仓库。', + desc: '将资产部署到 GitHub Pages。该文件将推送至您 GitHub 帐户上 <2> livecodes-assets 仓库的 <1>gh-pages 分支。如果该仓库尚不存在,则将创建一个公开仓库。', heading: 'GitHub Pages', label: '上传文件', }, @@ -157,7 +160,7 @@ const translation: I18nTranslation = { backup: { assets: '资产', button: '备份', - desc: '备份 LiveCodes 数据,以便稍后在此设备上或其他设备上恢复。 <1> 请访问文档以了解详情。', + desc: '备份 LiveCodes 数据,以便稍后在此设备上或其他设备上恢复。 <1> 请访问<2>文档以了解详情。', heading: '备份', projects: '项目', settings: '用户设置', @@ -173,7 +176,7 @@ const translation: I18nTranslation = { heading: '备份 / 恢复', inProgress: '进行中 ...', restore: { - desc: '恢复先前备份的 LiveCodes 数据。<1>如果您选择替换当前内容,可能需要先将其备份。请访问文档 以了解详情。', + desc: '恢复先前备份的 LiveCodes 数据。<1>如果您选择替换当前内容,可能需要先将其备份。<2>请访问<3>文档 以了解详情。', fromFile: '从文件恢复', heading: '恢复', mode: { @@ -191,7 +194,7 @@ const translation: I18nTranslation = { broadcasting: '正在播送 ...', channelURL: '频道 URL', connecting: '正在连接 ...', - desc: '将结果页面实时播送到其他浏览器 / 设备。请访问<1>文档以了解详情。', + desc: '将结果页面实时播送到其他浏览器 / 设备。请访问<1>文档以了解详情。', error: { generic: '播送失败!', serverURLRequired: '必须填写服务器 URL!', @@ -291,9 +294,9 @@ const translation: I18nTranslation = { }, deploy: { create: { - desc: '将创建一个新的<1>公开仓库。结果页面将被推送到 gh-pages 分支。', + desc: '将创建一个新的<1>公开仓库。结果页面将被推送到 <2>gh-pages 分支。', heading: '创建新仓库', - repoName: '仓库名称<1>', + repoName: '仓库名称<1>', }, error: { generic: '部署失败!', @@ -301,7 +304,7 @@ const translation: I18nTranslation = { repoNameRequired: '必须填写仓库名称', }, existing: { - desc: '新提交将被添加到 <1>gh-pages 分支。', + desc: '新提交将被添加到 <1>gh-pages 分支。', heading: '现有仓库', repoName: '仓库名称', }, @@ -322,7 +325,7 @@ const translation: I18nTranslation = { closeBrackets: '自动闭合括号和引号', codeJarDesc: '* 标记的功能在 CodeJar 中不可用。', default: '默认', - desc: '请查看<1>文档以了解详情。', + desc: '请查看<1>文档以了解详情。', editor: { codejar: 'CodeJar', codemirror: 'CodeMirror', @@ -338,7 +341,7 @@ const translation: I18nTranslation = { emmet: '启用 Emmet *', enableAI: { heading: '启用 AI 代码助手', - note: '由 <1> 提供支持', + note: '由 <1> <2> 提供支持', }, fontFamily: '字体', fontSize: '字体大小', @@ -376,7 +379,7 @@ const translation: I18nTranslation = { copy: '复制代码', heading: '代码', }, - desc: '请查看<1>文档以了解高级配置。', + desc: '请查看<1>文档以了解高级配置。', embedType: { cdn: '脚本(CDN)', heading: '嵌入类型', @@ -447,17 +450,18 @@ const translation: I18nTranslation = { more: '更多...', optional: '可选', required: '必填', + tagline: '一个简单实用的代码游乐场!', }, import: { bulk: { - desc: '将多个项目批量导入到您已保存的项目中。可以从<1>已保存的项目屏幕导出项目。', + desc: '将多个项目批量导入到您已保存的项目中。可以从<1>已保存的项目屏幕导出项目。', fromFile: '从本地文件批量导入', fromURL: '从 URL 批量导入', heading: '批量导入', started: '批量导入已开始 ...', }, code: { - desc: '支持的来源: <1> GitHub Gist GitHub 文件 GitHub 仓库中的目录 Gitlab Snippet Gitlab 文件Gitlab 仓库中的目录 JS Bin 原始代码 网页 DOM 中的代码 zip 文件中的代码 官方样板(TypeScript, Vue 和 Svelte) 请访问文档以了解详细信息。', + desc: '支持的来源: <1> <2>GitHub Gist <3>GitHub 文件 <4>GitHub 仓库中的目录 <5>Gitlab Snippet <6>Gitlab 文件<7>Gitlab 仓库中的目录 <8>JS Bin<9> 原始代码 <10>网页 DOM 中的代码 <11>zip 文件中的代码 <12>官方样板<13>(TypeScript, Vue 和 Svelte) 请访问<14>文档以了解详细信息。', fromFile: '从本地文件导入', fromURL: '从 URL 导入', heading: '导入代码', @@ -482,7 +486,7 @@ const translation: I18nTranslation = { }, login: { accessAllowed: '允许访问:', - desc: '<1>登录即表示您同意 Cookie 将可能存储在您的设备上。 为什么需要这些权限? 如何更改 / 撤销权限? ', + desc: '<1>登录即表示您同意 <2>Cookie 将可能存储在您的设备上。<3> <4>为什么需要这些权限? <5> <6>如何更改 / 撤销权限? ', gist: 'Gists', heading: '使用 GitHub 登录', loginAs: '以 {{name}} 的身份登录', @@ -500,7 +504,7 @@ const translation: I18nTranslation = { broadcast: '播送 ...', customSettings: '自定义设置 ...', delay: { - heading: '延迟:<1> 1.5 秒', + heading: '延迟:<1> 1.5 秒', hint: '自动更新前的延迟', }, deploy: '部署 ...', @@ -537,7 +541,7 @@ const translation: I18nTranslation = { hint: '按下 Alt/Option 并将光标移至结果页面', }, snippets: '代码片段 ...', - sync: '同步(Beta 版)... <1> ⏳', + sync: '同步(Beta 版)... <1> ⏳', theme: '深色主题', welcome: { heading: '欢迎 ...', @@ -590,11 +594,11 @@ const translation: I18nTranslation = { recoverPrompt: { desc: '您的最后一个项目存在尚未保存的更改!', heading: '恢复未保存的项目?', - meta: '标题:<1> 最后修改时间: ', + meta: '标题:<1> <2> 最后修改时间:<3> ', notShowAgain: '不要再展示此内容。', prompt: { discard: '丢弃未保存的项目', - heading: '<1> 您想现在恢复吗?', + heading: '<1> 您想现在恢复吗?', recover: '将项目恢复到编辑器', save: '保存到设备并继续', }, @@ -613,13 +617,13 @@ const translation: I18nTranslation = { }, fonts: { add: '添加', - heading: '字体<1>(由 Google Fonts 提供)', + heading: '字体<1>(由 Google Fonts 提供)', select: '选择字体 ...', }, heading: '外部资源', scripts: '外部脚本', search: { - heading: '搜索软件包<1>(由 jsDelivr 提供)', + heading: '搜索软件包<1>(由 jsDelivr 提供)', placeholder: '例如 jquery, lodash@4, bootstrap@5.2.3, ...', }, stylesheets: '外部样式', @@ -630,7 +634,7 @@ const translation: I18nTranslation = { prompt: { cancel: '取消', discard: '不保存', - heading: '您所做的更改可能无法保存。 <1> 您想现在保存吗?', + heading: '您所做的更改可能无法保存。 <1> 您想现在保存吗?', save: '保存', }, }, @@ -728,7 +732,7 @@ const translation: I18nTranslation = { sync: { autoSync: '自动同步', create: { - desc: '将创建一个新的<1>私有仓库。您的 LiveCodes 本地数据将与 main 分支同步。', + desc: '将创建一个新的<1>私有仓库。您的 LiveCodes 本地数据将与 <2>main 分支同步。', heading: '创建新仓库', repoName: '仓库名称', }, @@ -737,7 +741,7 @@ const translation: I18nTranslation = { repoNameRequired: '必须填写仓库名称', }, existing: { - desc: '您的 LiveCodes 本地数据将与 <1>main 分支同步。', + desc: '您的 LiveCodes 本地数据将与 <1>main 分支同步。', heading: '现有仓库', repoName: '仓库名称', }, @@ -751,7 +755,7 @@ const translation: I18nTranslation = { templates: { heading: '新项目', noUserTemplates: { - desc: '您可以通过<1>(菜单 > 另存为 > 模板)将项目另存为模板。', + desc: '您可以通过<1>(菜单 > 另存为 > 模板)将项目另存为模板。', heading: '您没有已保存的模板。', }, starter: { @@ -838,16 +842,16 @@ const translation: I18nTranslation = { }, test: { edit: '编辑', - error: '<1>测试错误!', - loading: '<1>正在加载测试... ', - noTest: '<1>该项目没有测试!', + error: '<1><2>测试错误!', + loading: '<1>正在加载测试... ', + noTest: '<1>该项目没有测试!', reset: '重置', run: { desc: 'Ctrl/Cmd + Alt + T', heading: '运行', }, summary: { - desc: '测试: {{failed}}\n {{passed}}\n {{skipped}}\n {{total}}<1>\n耗时:{{duration}} 秒', + desc: '测试: {{failed}}\n {{passed}}\n {{skipped}}\n {{total}}<1>\n耗时:{{duration}} 秒', failed: '失败 {{failedNum}}', passed: '通过 {{passedNum}}', skipped: '已跳过 {{skippedNum}}', @@ -872,7 +876,7 @@ const translation: I18nTranslation = { recover: { cancel: '取消', heading: '恢复', - lastModified: '最后修改时间:<1>', + lastModified: '最后修改时间:<1>', recover: '恢复', save: '保存', unsavedChanges: '您的上一个项目有未保存的更改:',