mirror of
https://github.com/immich-app/immich
synced 2025-10-17 18:19:27 +00:00
Merge branch 'main' into feat/14486-limit_people_search
This commit is contained in:
commit
98a4d208c2
258 changed files with 14157 additions and 5910 deletions
1
.github/labeler.yml
vendored
1
.github/labeler.yml
vendored
|
|
@ -6,7 +6,6 @@ cli:
|
|||
documentation:
|
||||
- changed-files:
|
||||
- any-glob-to-any-file:
|
||||
- docs/blob/**
|
||||
- docs/docs/**
|
||||
- docs/src/**
|
||||
- docs/static/**
|
||||
|
|
|
|||
6
.github/workflows/build-mobile.yml
vendored
6
.github/workflows/build-mobile.yml
vendored
|
|
@ -36,7 +36,7 @@ jobs:
|
|||
steps:
|
||||
- name: Check what should run
|
||||
id: check
|
||||
uses: immich-app/devtools/actions/pre-job@24820aa4ef67959b0dcf69a438cccf00d7c7042b # pre-job-action-v1.0.1
|
||||
uses: immich-app/devtools/actions/pre-job@5f91b52dfbb92b8d96ca411ab59c896cd59714ca # pre-job-action-v1.1.0
|
||||
with:
|
||||
filters: |
|
||||
mobile:
|
||||
|
|
@ -73,7 +73,7 @@ jobs:
|
|||
|
||||
- name: Restore Gradle Cache
|
||||
id: cache-gradle-restore
|
||||
uses: actions/cache/restore@0400d5f644dc74513175e3cd8d07132dd4860809 # v4
|
||||
uses: actions/cache/restore@0057852bfaa89a56745cba8c7296529d2fc39830 # v4
|
||||
with:
|
||||
path: |
|
||||
~/.gradle/caches
|
||||
|
|
@ -130,7 +130,7 @@ jobs:
|
|||
|
||||
- name: Save Gradle Cache
|
||||
id: cache-gradle-save
|
||||
uses: actions/cache/save@0400d5f644dc74513175e3cd8d07132dd4860809 # v4
|
||||
uses: actions/cache/save@0057852bfaa89a56745cba8c7296529d2fc39830 # v4
|
||||
if: github.ref == 'refs/heads/main'
|
||||
with:
|
||||
path: |
|
||||
|
|
|
|||
2
.github/workflows/docker.yml
vendored
2
.github/workflows/docker.yml
vendored
|
|
@ -24,7 +24,7 @@ jobs:
|
|||
steps:
|
||||
- name: Check what should run
|
||||
id: check
|
||||
uses: immich-app/devtools/actions/pre-job@24820aa4ef67959b0dcf69a438cccf00d7c7042b # pre-job-action-v1.0.1
|
||||
uses: immich-app/devtools/actions/pre-job@5f91b52dfbb92b8d96ca411ab59c896cd59714ca # pre-job-action-v1.1.0
|
||||
with:
|
||||
filters: |
|
||||
server:
|
||||
|
|
|
|||
2
.github/workflows/docs-build.yml
vendored
2
.github/workflows/docs-build.yml
vendored
|
|
@ -22,7 +22,7 @@ jobs:
|
|||
steps:
|
||||
- name: Check what should run
|
||||
id: check
|
||||
uses: immich-app/devtools/actions/pre-job@24820aa4ef67959b0dcf69a438cccf00d7c7042b # pre-job-action-v1.0.1
|
||||
uses: immich-app/devtools/actions/pre-job@5f91b52dfbb92b8d96ca411ab59c896cd59714ca # pre-job-action-v1.1.0
|
||||
with:
|
||||
filters: |
|
||||
docs:
|
||||
|
|
|
|||
2
.github/workflows/fix-format.yml
vendored
2
.github/workflows/fix-format.yml
vendored
|
|
@ -16,7 +16,7 @@ jobs:
|
|||
steps:
|
||||
- name: Generate a token
|
||||
id: generate-token
|
||||
uses: actions/create-github-app-token@a8d616148505b5069dccd32f177bb87d7f39123b # v2.1.1
|
||||
uses: actions/create-github-app-token@67018539274d69449ef7c02e8e71183d1719ab42 # v2.1.4
|
||||
with:
|
||||
app-id: ${{ secrets.PUSH_O_MATIC_APP_ID }}
|
||||
private-key: ${{ secrets.PUSH_O_MATIC_APP_KEY }}
|
||||
|
|
|
|||
18
.github/workflows/merge-translations.yml
vendored
18
.github/workflows/merge-translations.yml
vendored
|
|
@ -10,6 +10,11 @@ on:
|
|||
required: true
|
||||
WEBLATE_TOKEN:
|
||||
required: true
|
||||
inputs:
|
||||
skip:
|
||||
description: 'Skip translations'
|
||||
required: false
|
||||
type: boolean
|
||||
|
||||
permissions: {}
|
||||
|
||||
|
|
@ -25,6 +30,7 @@ jobs:
|
|||
steps:
|
||||
- name: Find translation PR
|
||||
id: find_pr
|
||||
if: ${{ inputs.skip != true }}
|
||||
env:
|
||||
GH_TOKEN: ${{ github.token }}
|
||||
run: |
|
||||
|
|
@ -51,18 +57,21 @@ jobs:
|
|||
|
||||
- name: Generate a token
|
||||
id: generate_token
|
||||
uses: actions/create-github-app-token@a8d616148505b5069dccd32f177bb87d7f39123b # v2.1.1
|
||||
if: ${{ inputs.skip != true }}
|
||||
uses: actions/create-github-app-token@67018539274d69449ef7c02e8e71183d1719ab42 # v2.1.4
|
||||
with:
|
||||
app-id: ${{ secrets.PUSH_O_MATIC_APP_ID }}
|
||||
private-key: ${{ secrets.PUSH_O_MATIC_APP_KEY }}
|
||||
|
||||
- name: Lock weblate
|
||||
if: ${{ inputs.skip != true }}
|
||||
env:
|
||||
WEBLATE_TOKEN: ${{ secrets.WEBLATE_TOKEN }}
|
||||
run: |
|
||||
curl --fail-with-body -X POST -H "Authorization: Token $WEBLATE_TOKEN" "$WEBLATE_HOST/api/components/$WEBLATE_COMPONENT/lock/" -d lock=true
|
||||
|
||||
- name: Commit translations
|
||||
if: ${{ inputs.skip != true }}
|
||||
env:
|
||||
WEBLATE_TOKEN: ${{ secrets.WEBLATE_TOKEN }}
|
||||
run: |
|
||||
|
|
@ -71,6 +80,7 @@ jobs:
|
|||
|
||||
- name: Merge PR
|
||||
id: merge_pr
|
||||
if: ${{ inputs.skip != true }}
|
||||
env:
|
||||
GH_TOKEN: ${{ steps.generate_token.outputs.token }}
|
||||
PR_NUMBER: ${{ steps.find_pr.outputs.PR_NUMBER }}
|
||||
|
|
@ -83,6 +93,7 @@ jobs:
|
|||
gh pr merge "$PR_NUMBER" --repo "$GITHUB_REPOSITORY" --auto --squash
|
||||
|
||||
- name: Wait for PR to merge
|
||||
if: ${{ inputs.skip != true }}
|
||||
env:
|
||||
GH_TOKEN: ${{ steps.generate_token.outputs.token }}
|
||||
PR_NUMBER: ${{ steps.find_pr.outputs.PR_NUMBER }}
|
||||
|
|
@ -106,7 +117,12 @@ jobs:
|
|||
exit 1
|
||||
|
||||
- name: Unlock weblate
|
||||
if: ${{ inputs.skip != true }}
|
||||
env:
|
||||
WEBLATE_TOKEN: ${{ secrets.WEBLATE_TOKEN }}
|
||||
run: |
|
||||
curl --fail-with-body -X POST -H "Authorization: Token $WEBLATE_TOKEN" "$WEBLATE_HOST/api/components/$WEBLATE_COMPONENT/lock/" -d lock=false
|
||||
|
||||
- name: Report success
|
||||
run: |
|
||||
echo "Workflow completed successfully (or was skipped)"
|
||||
|
|
|
|||
13
.github/workflows/prepare-release.yml
vendored
13
.github/workflows/prepare-release.yml
vendored
|
|
@ -10,12 +10,17 @@ on:
|
|||
type: choice
|
||||
options:
|
||||
- 'false'
|
||||
- major
|
||||
- minor
|
||||
- patch
|
||||
mobileBump:
|
||||
description: 'Bump mobile build number'
|
||||
required: false
|
||||
type: boolean
|
||||
skipTranslations:
|
||||
description: 'Skip translations'
|
||||
required: false
|
||||
type: boolean
|
||||
|
||||
concurrency:
|
||||
group: ${{ github.workflow }}-${{ github.ref }}-root
|
||||
|
|
@ -26,6 +31,8 @@ permissions: {}
|
|||
jobs:
|
||||
merge_translations:
|
||||
uses: ./.github/workflows/merge-translations.yml
|
||||
with:
|
||||
skip: ${{ inputs.skipTranslations }}
|
||||
permissions:
|
||||
pull-requests: write
|
||||
secrets:
|
||||
|
|
@ -35,13 +42,14 @@ jobs:
|
|||
|
||||
bump_version:
|
||||
runs-on: ubuntu-latest
|
||||
needs: [merge_translations]
|
||||
outputs:
|
||||
ref: ${{ steps.push-tag.outputs.commit_long_sha }}
|
||||
permissions: {} # No job-level permissions are needed because it uses the app-token
|
||||
steps:
|
||||
- name: Generate a token
|
||||
id: generate-token
|
||||
uses: actions/create-github-app-token@a8d616148505b5069dccd32f177bb87d7f39123b # v2.1.1
|
||||
uses: actions/create-github-app-token@67018539274d69449ef7c02e8e71183d1719ab42 # v2.1.4
|
||||
with:
|
||||
app-id: ${{ secrets.PUSH_O_MATIC_APP_ID }}
|
||||
private-key: ${{ secrets.PUSH_O_MATIC_APP_KEY }}
|
||||
|
|
@ -51,6 +59,7 @@ jobs:
|
|||
with:
|
||||
token: ${{ steps.generate-token.outputs.token }}
|
||||
persist-credentials: true
|
||||
ref: main
|
||||
|
||||
- name: Install uv
|
||||
uses: astral-sh/setup-uv@d4b2f3b6ecc6e67c4457f6d3e41ec42d3d0fcb86 # v5.4.2
|
||||
|
|
@ -102,7 +111,7 @@ jobs:
|
|||
steps:
|
||||
- name: Generate a token
|
||||
id: generate-token
|
||||
uses: actions/create-github-app-token@a8d616148505b5069dccd32f177bb87d7f39123b # v2.1.1
|
||||
uses: actions/create-github-app-token@67018539274d69449ef7c02e8e71183d1719ab42 # v2.1.4
|
||||
with:
|
||||
app-id: ${{ secrets.PUSH_O_MATIC_APP_ID }}
|
||||
private-key: ${{ secrets.PUSH_O_MATIC_APP_KEY }}
|
||||
|
|
|
|||
2
.github/workflows/static_analysis.yml
vendored
2
.github/workflows/static_analysis.yml
vendored
|
|
@ -21,7 +21,7 @@ jobs:
|
|||
steps:
|
||||
- name: Check what should run
|
||||
id: check
|
||||
uses: immich-app/devtools/actions/pre-job@24820aa4ef67959b0dcf69a438cccf00d7c7042b # pre-job-action-v1.0.1
|
||||
uses: immich-app/devtools/actions/pre-job@5f91b52dfbb92b8d96ca411ab59c896cd59714ca # pre-job-action-v1.1.0
|
||||
with:
|
||||
filters: |
|
||||
mobile:
|
||||
|
|
|
|||
2
.github/workflows/test.yml
vendored
2
.github/workflows/test.yml
vendored
|
|
@ -18,7 +18,7 @@ jobs:
|
|||
steps:
|
||||
- name: Check what should run
|
||||
id: check
|
||||
uses: immich-app/devtools/actions/pre-job@24820aa4ef67959b0dcf69a438cccf00d7c7042b # pre-job-action-v1.0.1
|
||||
uses: immich-app/devtools/actions/pre-job@5f91b52dfbb92b8d96ca411ab59c896cd59714ca # pre-job-action-v1.1.0
|
||||
with:
|
||||
filters: |
|
||||
i18n:
|
||||
|
|
|
|||
2
.github/workflows/weblate-lock.yml
vendored
2
.github/workflows/weblate-lock.yml
vendored
|
|
@ -25,7 +25,7 @@ jobs:
|
|||
steps:
|
||||
- name: Check what should run
|
||||
id: check
|
||||
uses: immich-app/devtools/actions/pre-job@24820aa4ef67959b0dcf69a438cccf00d7c7042b # pre-job-action-v1.0.1
|
||||
uses: immich-app/devtools/actions/pre-job@5f91b52dfbb92b8d96ca411ab59c896cd59714ca # pre-job-action-v1.1.0
|
||||
with:
|
||||
filters: |
|
||||
i18n:
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "@immich/cli",
|
||||
"version": "2.2.90",
|
||||
"version": "2.2.94",
|
||||
"description": "Command Line Interface (CLI) for Immich",
|
||||
"type": "module",
|
||||
"exports": "./dist/index.js",
|
||||
|
|
|
|||
4
deployment/.env
Normal file
4
deployment/.env
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
export CLOUDFLARE_ACCOUNT_ID="op://tf/cloudflare/account_id"
|
||||
export CLOUDFLARE_API_TOKEN="op://tf/cloudflare/api_token"
|
||||
export TF_STATE_POSTGRES_CONN_STR="op://tf/tf_state/postgres_conn_str"
|
||||
export TF_VAR_env=$ENVIRONMENT
|
||||
|
|
@ -1,11 +1,11 @@
|
|||
resource "cloudflare_pages_domain" "immich_app_release_domain" {
|
||||
account_id = var.cloudflare_account_id
|
||||
project_name = data.terraform_remote_state.cloudflare_account.outputs.immich_app_archive_pages_project_name
|
||||
domain = "immich.app"
|
||||
domain = "docs.immich.app"
|
||||
}
|
||||
|
||||
resource "cloudflare_record" "immich_app_release_domain" {
|
||||
name = "immich.app"
|
||||
name = "docs.immich.app"
|
||||
proxied = true
|
||||
ttl = 1
|
||||
type = "CNAME"
|
||||
|
|
|
|||
|
|
@ -1,11 +1,11 @@
|
|||
resource "cloudflare_pages_domain" "immich_app_branch_domain" {
|
||||
account_id = var.cloudflare_account_id
|
||||
project_name = local.is_release ? data.terraform_remote_state.cloudflare_account.outputs.immich_app_archive_pages_project_name : data.terraform_remote_state.cloudflare_account.outputs.immich_app_preview_pages_project_name
|
||||
domain = "${var.prefix_name}.${local.deploy_domain_prefix}.immich.app"
|
||||
domain = "docs.${var.prefix_name}.${local.deploy_domain_prefix}.immich.app"
|
||||
}
|
||||
|
||||
resource "cloudflare_record" "immich_app_branch_subdomain" {
|
||||
name = "${var.prefix_name}.${local.deploy_domain_prefix}.immich.app"
|
||||
name = "docs.${var.prefix_name}.${local.deploy_domain_prefix}.immich.app"
|
||||
proxied = true
|
||||
ttl = 1
|
||||
type = "CNAME"
|
||||
|
|
|
|||
|
|
@ -140,7 +140,7 @@ services:
|
|||
|
||||
database:
|
||||
container_name: immich_postgres
|
||||
image: ghcr.io/immich-app/postgres:14-vectorchord0.4.3-pgvectors0.2.0@sha256:c44be5f2871c59362966d71eab4268170eb6f5653c0e6170184e72b38ffdf107
|
||||
image: ghcr.io/immich-app/postgres:14-vectorchord0.4.3-pgvectors0.2.0@sha256:41eacbe83eca995561fe43814fd4891e16e39632806253848efaf04d3c8a8b84
|
||||
env_file:
|
||||
- .env
|
||||
environment:
|
||||
|
|
|
|||
|
|
@ -63,7 +63,7 @@ services:
|
|||
|
||||
database:
|
||||
container_name: immich_postgres
|
||||
image: ghcr.io/immich-app/postgres:14-vectorchord0.4.3-pgvectors0.2.0@sha256:c44be5f2871c59362966d71eab4268170eb6f5653c0e6170184e72b38ffdf107
|
||||
image: ghcr.io/immich-app/postgres:14-vectorchord0.4.3-pgvectors0.2.0@sha256:41eacbe83eca995561fe43814fd4891e16e39632806253848efaf04d3c8a8b84
|
||||
env_file:
|
||||
- .env
|
||||
environment:
|
||||
|
|
|
|||
|
|
@ -56,7 +56,7 @@ services:
|
|||
|
||||
database:
|
||||
container_name: immich_postgres
|
||||
image: ghcr.io/immich-app/postgres:14-vectorchord0.4.3-pgvectors0.2.0@sha256:c44be5f2871c59362966d71eab4268170eb6f5653c0e6170184e72b38ffdf107
|
||||
image: ghcr.io/immich-app/postgres:14-vectorchord0.4.3-pgvectors0.2.0@sha256:41eacbe83eca995561fe43814fd4891e16e39632806253848efaf04d3c8a8b84
|
||||
environment:
|
||||
POSTGRES_PASSWORD: ${DB_PASSWORD}
|
||||
POSTGRES_USER: ${DB_USERNAME}
|
||||
|
|
|
|||
|
|
@ -1,110 +0,0 @@
|
|||
---
|
||||
slug: release-1-36
|
||||
title: Release v1.36.0
|
||||
authors: [alextran]
|
||||
tags: [release]
|
||||
date: 2022-11-10
|
||||
---
|
||||
|
||||
Hello everyone, it is my pleasure to deliver the new release of Immich to you. The team has been working hard to bring you the new features and improvements. This release includes some big features that the community has been asking since the beginning of Immich. We hope you will enjoy it.
|
||||
|
||||
Some notable features are:
|
||||
|
||||
- OAuth integration
|
||||
- LivePhoto support on iOS
|
||||
- User config system
|
||||
|
||||
<!--truncate-->
|
||||
|
||||
## LivePhoto iOS Support 🎉
|
||||
|
||||
LivePhoto on iOS is now supported in Immich.
|
||||
|
||||
The motion part will now be uploaded and can be played on the mobile app and the web.
|
||||
|
||||
:::caution
|
||||
|
||||
- The server and the app has to be on version **1.36.x** for the application to work correctly.
|
||||
- Previous uploaded photos will not be updated automatically, you will have to remove and reupload them if you want to keep the LivePhoto functionality.
|
||||
|
||||
:::
|
||||
|
||||
<img
|
||||
src="https://media.giphy.com/media/fTrGceZd7t1ewi8ESc/giphy.gif"
|
||||
width="100%"
|
||||
style={{
|
||||
borderRadius: '10px',
|
||||
boxShadow: 'rgba(9, 30, 66, 0.25) 0px 1px 1px, rgba(9, 30, 66, 0.13) 0px 0px 1px 1px',
|
||||
}}
|
||||
title="LivePhoto playback on the web"
|
||||
/>
|
||||
|
||||
## OAuth Integration 🎉
|
||||
|
||||
I want to borrow this chance to express my gratitude to [@EnricoBilla](https://github.com/EnricoBilla), who has been the trailblazer for this feature since the beginning days of Immich. His PR has sparked ideas, suggestions, and discussion among the team member on how to integrate this feature successfully into the app. Thank you so much for your work and your time.
|
||||
|
||||
OAuth is now integrated into the system. Please follow the guide [here](https://immich.app/docs/usage/oauth) to set up your OAuth integration
|
||||
|
||||
After setting up the correct environment variables in the `.env` file, as shown below
|
||||
|
||||
| Key | Type | Default | Description |
|
||||
| ------------------- | ------- | -------------------- | ------------------------------------------------------------------------- |
|
||||
| OAUTH_ENABLED | boolean | false | Enable/disable OAuth2 |
|
||||
| OAUTH_ISSUER_URL | URL | (required) | Required. Self-discovery URL for client |
|
||||
| OAUTH_CLIENT_ID | string | (required) | Required. Client ID |
|
||||
| OAUTH_CLIENT_SECRET | string | (required) | Required. Client Secret |
|
||||
| OAUTH_SCOPE | string | openid email profile | Full list of scopes to send with the request (space delimited) |
|
||||
| OAUTH_AUTO_REGISTER | boolean | true | When true, will automatically register a user the first time they sign in |
|
||||
| OAUTH_BUTTON_TEXT | string | Login with OAuth | Text for the OAuth button on the web |
|
||||
|
||||
```bash title="Authentik Example"
|
||||
OAUTH_ENABLED=true
|
||||
OAUTH_ISSUER_URL=http://10.1.15.216:9000/application/o/immich-test/
|
||||
OAUTH_CLIENT_ID=30596v8f78a4b6a97d5985c3076b6b4c4d12ddc33
|
||||
OAUTH_CLIENT_SECRET=50f1eafdec353b95b1c638db390db4ab67ef035a51212dbec2f56175e2eb272b5d572c099176e6fe116ecf47ffdd544bgdb9e2edc588307ee0339d25eeccd88
|
||||
OAUTH_BUTTON_TEXT=Login with Authentik
|
||||
```
|
||||
|
||||
The web will have the option to sign in with OAuth.
|
||||
|
||||
<img
|
||||
src="https://user-images.githubusercontent.com/27055614/202923726-f43fa148-47f5-4182-8f29-b0b87e4586fa.png"
|
||||
width="50%"
|
||||
title="Web Sign in with OAuth"
|
||||
style={{
|
||||
borderRadius: '10px',
|
||||
boxShadow: 'rgba(9, 30, 66, 0.25) 0px 1px 1px, rgba(9, 30, 66, 0.13) 0px 0px 1px 1px',
|
||||
}}
|
||||
/>
|
||||
|
||||
The mobile app will check if the server has OAuth enabled before displaying the OAuth
|
||||
sign-in button.
|
||||
|
||||
<img
|
||||
src="https://media.giphy.com/media/3iy3SaNkVYtlkEiw06/giphy.gif"
|
||||
title="Mobile sign in with OAuth"
|
||||
style={{
|
||||
borderRadius: '10px',
|
||||
boxShadow: 'rgba(9, 30, 66, 0.25) 0px 1px 1px, rgba(9, 30, 66, 0.13) 0px 0px 1px 1px',
|
||||
}}
|
||||
/>
|
||||
|
||||
## Support
|
||||
|
||||
<img
|
||||
src="https://media.giphy.com/media/LStqgGESXW8XnuCv5y/giphy.gif"
|
||||
width="300"
|
||||
style={{
|
||||
borderRadius: '10px',
|
||||
boxShadow: 'rgba(9, 30, 66, 0.25) 0px 1px 1px, rgba(9, 30, 66, 0.13) 0px 0px 1px 1px',
|
||||
}}
|
||||
title="Support the project"
|
||||
/>
|
||||
|
||||
If you find the project helpful and it helps you in some ways, you can support the project [one time](https://github.com/sponsors/alextran1502?frequency=one-time&sponsor=alextran1502) or [monthly](https://github.com/sponsors/alextran1502) from GitHub Sponsor
|
||||
|
||||
It is a great way to let me know that you want me to continue developing and working on this project for years to come.
|
||||
|
||||
## Details
|
||||
|
||||
For more details, please check out the [release note](https://github.com/immich-app/immich/releases/tag/v1.36.0_55-dev)
|
||||
|
|
@ -1,103 +0,0 @@
|
|||
---
|
||||
title: Immich Update - June 2023
|
||||
authors: [alextran]
|
||||
tags: [update]
|
||||
---
|
||||
|
||||
Hello everybody, Alex here!
|
||||
|
||||
I am back with another update on Immich. It has been only a month since my last update (May 18th, 2023), but it seems forever. I think the rapid releases of Immich and the amount of work make the perspective of time change in Immich’s world. We have some exciting updates that I think you will like.
|
||||
|
||||
Before going into detail, on behalf of the core team, I would like to thank all of you for loving Immich and contributing to the project. Thank you for helping me make Immich an enjoyable alternative solution to Google Photos so that you have complete control of your data and privacy. I know we are still young and have a lot of work to do, but I am confident we will get there with help from the community. I appreciate all of you from the bottom of my heart!
|
||||
|
||||
<!--truncate-->
|
||||
|
||||
And now, to the exciting part, what is new in Immich’s world?
|
||||
|
||||
- Initial support for existing gallery.
|
||||
- Memory feature.
|
||||
- Support XMP sidecar.
|
||||
- Support more raw formats.
|
||||
- Justified layout for web timeline and blurred thumbnail hash.
|
||||
- Mechanism to host machine learning on a completely different machine.
|
||||
|
||||
## Support for existing gallery
|
||||
|
||||
I know this is the most controversial feature when it comes to Immich’s way of ingesting photos and videos. For many users, having to upload photos and videos to Immich is simply not working. We listen, discuss, and digest this feature internally more than you imagine because it is not a simple feature to tackle while keeping the performance and the user experience at the top level, which is Immich’s primary goal.
|
||||
|
||||
Thankfully, we have many great contributors and developers that want to make this come true. So we came up with an initial implementation of this feature in the form of a supporting read-only gallery.
|
||||
|
||||
To be concise, Immich can now read in the gallery files, register the path into the database, and then generate necessary files and put them through Immich’s machine learning pipeline so you can use all the goodness of Immich without the need to upload them. Since this is the initial implementation, some actions/behavior are not yet supported, and we aim to build toward them in future releases, namely:
|
||||
|
||||
- Assets are not automatically synced and must instead be manually synced with the CLI tool.
|
||||
- Only new files that are added to the gallery will be detected.
|
||||
- Deleted and moved files will not be detected.
|
||||
|
||||
## Memory feature
|
||||
|
||||
This is considered a fun feature that the team and I wanted to build for so long, but we had to put it off because of the refactoring of the code base. The code base is now in a good enough form to circle back and add more exciting features.
|
||||
|
||||
This memory feature is very much similar to GPhotos' implementation of “x years since…”. We are aiming to add more categories of memories in the future, such as “Spotlight of the day” or “Day of the Week highlights”
|
||||
|
||||
<iframe
|
||||
width="560"
|
||||
height="315"
|
||||
src="https://www.youtube.com/embed/j5XZKvViPew"
|
||||
title="YouTube video player"
|
||||
frameborder="0"
|
||||
allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share"
|
||||
allowfullscreen
|
||||
></iframe>
|
||||
|
||||
This feature is now available on the web and will be ported to the mobile app in the near future.
|
||||
|
||||
## Support XMP Sidecar
|
||||
|
||||
Immich can now import/upload XMP sidecars from the CLI and use the information as the metadata of assets.
|
||||
|
||||
## Support more raw formats.
|
||||
|
||||
With the recent updates on the dependencies of Immich, we are now extending and hardening support for multiple raw formats. So users with DSLR or mirrorless cameras can now upload their original files to Immich and have them displayed in high-quality thumbnails on the web and mobile view.
|
||||
|
||||
## Justified layout for web timeline and blurred thumbnail hash
|
||||
|
||||
This is an aesthetic improvement in user experience when browsing the timeline. Photos and videos are now displayed correctly with perspective orientation, making the browsing experience more pleasurable.
|
||||
|
||||
To further improve the browsing experience, we now added a blur hash to the thumbnail, so the transition is more natural with a dreamy fade in effect, similar to how our brain goes from faded to vivid memory
|
||||
|
||||
<iframe
|
||||
width="560"
|
||||
height="315"
|
||||
src="https://www.youtube.com/embed/b95FLmGHRFc"
|
||||
title="YouTube video player"
|
||||
frameborder="0"
|
||||
allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share"
|
||||
allowfullscreen
|
||||
></iframe>
|
||||
|
||||
## Hosting machine learning container on a different machine
|
||||
|
||||
With more capabilities Immich is building toward, machine learning will get more powerful and therefore require more resources to run effectively. However, we understand that users might not have the best server resources where they host the Immich instance. Therefore, we changed how machine learning interacts and receives the photos and videos to run through its inference pipeline.
|
||||
|
||||
The machine learning container is now a headless system that can run on any machine. As long as your Immich instance can communicate with the system running the machine learning container, it can send the files and receive the required information to make Immich powerful in terms of searching and intelligence. This helps you to utilize a more powerful machine in your home/infrastructure to perform the CPU-intensive tasks while letting Immich only handle the I/O operations for a pleasant and smooth experience.
|
||||
|
||||
---
|
||||
|
||||
So, those are the highlights for the team and the community after a busy month. There are a lot more changes and improvements. I encourage you to read some release notes, starting from version [v1.57.0](https://github.com/immich-app/immich/releases/tag/v1.57.0) to now.
|
||||
|
||||
Thank you, and I am asking for your support for the project. I hope to be a full-time maintainer of Immich one day to dedicate myself to the project as my life works for the community and my family. You can find the support channels below:
|
||||
|
||||
- Monthly donation via [GitHub Sponsors](https://github.com/sponsors/alextran1502)
|
||||
- One-time donation via [GitHub Sponsors](https://github.com/sponsors/alextran1502?frequency=one-time&sponsor=alextran1502)
|
||||
- [Liberapay](https://liberapay.com/alex.tran1502/)
|
||||
- [buymeacoffee](https://www.buymeacoffee.com/altran1502)
|
||||
- Bitcoin: 3QVAb9dCHutquVejeNXitPqZX26Yg5kxb7
|
||||
- Give a project a star - the contributors love gazing at the stars and seeing their creations shining in the sky.
|
||||
|
||||
Join our friendly [Discord](https://discord.immich.app) to talk and discuss Immich, tech, or anything
|
||||
|
||||
Cheer!
|
||||
|
||||
Until next time!
|
||||
|
||||
Alex
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 1.8 MiB |
|
|
@ -1,151 +0,0 @@
|
|||
---
|
||||
title: Immich Update - July 2023
|
||||
authors: [alextran]
|
||||
tags: [update, v1.64.0-v1.71.0]
|
||||
---
|
||||
|
||||
Hello, Immich fans, another month, another milestone. We hope you are staying cool and safe in this scorching hot summer across the globe.
|
||||
|
||||
Immich recently got some good recognition when getting to the front page of HackerNews, which helped to let more people know about the project's existence. The project will help more and more people find a solution to control the privacy of their most precious moments. And with the gain in popularity and recognition, we have gotten new users and more questions from the community than ever.
|
||||
|
||||
I want to express my gratitude to all the contributors and the community who have been tremendously helpful to new users' questions and provided technical support.
|
||||
|
||||
Below are the highlights of new features we added to the application over the past month, along with countless bug fixes and improvements across the board, from developer experience to resource optimization and UI/UX improvement. I hope you find these topics as exciting as I am.
|
||||
|
||||
## Highlights
|
||||
|
||||
- Memories feature.
|
||||
- Facial recognition improvements.
|
||||
- Improvements on multi selection behavior on the web.
|
||||
- Shortcuts for common actions on the web.
|
||||
- Support viewer for 360-panorama photos.
|
||||
|
||||
<!--truncate-->
|
||||
|
||||
---
|
||||
|
||||
### Memories feature
|
||||
|
||||
We've added the memory feature on the mobile app, so you can reminisce about your past memories.
|
||||
|
||||
<iframe
|
||||
width="560"
|
||||
height="315"
|
||||
src="https://youtube.com/embed/c7OTl-RqNRE"
|
||||
title="YouTube video player"
|
||||
frameborder="0"
|
||||
allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share"
|
||||
allowfullscreen
|
||||
></iframe>
|
||||
|
||||
### Facial recognition improvements
|
||||
|
||||
Over the past few releases, we have added many UI improvements to the facial recognition feature to help you manage the recognized people better. Some of the highlights:
|
||||
|
||||
#### Choose a new feature photo for a person.
|
||||
|
||||
<iframe
|
||||
width="560"
|
||||
height="315"
|
||||
src="https://youtube.com/embed/PmJp8DmSh1U"
|
||||
title="YouTube video player"
|
||||
frameborder="0"
|
||||
allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share"
|
||||
allowfullscreen
|
||||
></iframe>
|
||||
|
||||
#### Hide and show faces.
|
||||
|
||||
You can now select irrelevant faces to hide them. The hidden faces won’t be displayed in search results and the people section in the info panel.
|
||||
|
||||
#### Merge faces.
|
||||
|
||||
This is useful when you have multiple faces of the same person in your photos, and you want to merge them into one.
|
||||
|
||||
<iframe
|
||||
width="560"
|
||||
height="315"
|
||||
src="https://youtube.com/embed/-Xskhw-vpc4"
|
||||
title="YouTube video player"
|
||||
frameborder="0"
|
||||
allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share"
|
||||
allowfullscreen
|
||||
></iframe>
|
||||
|
||||
We also added a nifty mechanism that when naming a face, similar names will prompt you a merge face option for the convenience.
|
||||
|
||||
<iframe
|
||||
width="560"
|
||||
height="315"
|
||||
src="https://youtube.com/embed/XzE6wficbl4"
|
||||
title="YouTube video player"
|
||||
frameborder="0"
|
||||
allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share"
|
||||
allowfullscreen
|
||||
></iframe>
|
||||
|
||||
### Improvements on multi selection behavior on the web
|
||||
|
||||
We have added a new multi selection behavior on the web to help you select multiple items easier. You can now select a range of photos and videos by holding the `Shift` key.
|
||||
|
||||
<iframe
|
||||
width="560"
|
||||
height="315"
|
||||
src="https://youtube.com/embed/e_SiuHpVnmM"
|
||||
title="YouTube video player"
|
||||
frameborder="0"
|
||||
allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share"
|
||||
allowfullscreen
|
||||
></iframe>
|
||||
|
||||
### Shortcuts for common actions on the web.
|
||||
|
||||
Some of us only navigate the world and the web with a keyboard (looking at you, Vim and Emacs users). So it would take away the sacred weapon of choice to require many clicks to perform repetitive actions. So we added quick shortcuts for the following action on the web.
|
||||
|
||||
<img
|
||||
src={require('./images/web-shortcuts-panel.png').default}
|
||||
width="100%"
|
||||
style={{ borderRadius: '25px' }}
|
||||
alt="Dot Env Example"
|
||||
/>
|
||||
|
||||
### Support viewer for 360-panorama photos.
|
||||
|
||||
Photos with the EXIF property of `ProjectionType` will now have a special viewer on the web to view all the angles of the panorama.
|
||||
|
||||
The thumbnail of the 360 degrees panoramas will have a special icon on the top right of the thumbnail
|
||||
|
||||
<img
|
||||
src="https://github.com/immich-app/immich/assets/61410067/728ca1b0-375c-4631-8081-a609843e702f"
|
||||
width="50%"
|
||||
style={{ borderRadius: '25px' }}
|
||||
alt="Dot Env Example"
|
||||
/>
|
||||
|
||||
Panorama in the detail view
|
||||
|
||||
<img
|
||||
src="https://github.com/immich-app/immich/assets/61410067/3c89dac4-395d-45fa-9bc5-98a6248fd476"
|
||||
width="50%"
|
||||
style={{ borderRadius: '25px' }}
|
||||
alt="Dot Env Example"
|
||||
/>
|
||||
|
||||
---
|
||||
|
||||
Thank you, and I am asking for your support for the project. I hope to be a full-time maintainer of Immich one day to dedicate myself to the project as my life's work for the community and my family. You can find the support channels below:
|
||||
|
||||
- Monthly donation via [GitHub Sponsors](https://github.com/sponsors/alextran1502)
|
||||
- One-time donation via [GitHub Sponsors](https://github.com/sponsors/alextran1502?frequency=one-time&sponsor=alextran1502)
|
||||
- [Liberapay](https://liberapay.com/alex.tran1502/)
|
||||
- [buymeacoffee](https://www.buymeacoffee.com/altran1502)
|
||||
- Bitcoin: 3QVAb9dCHutquVejeNXitPqZX26Yg5kxb7
|
||||
- Give a project a star - the contributors love gazing at the stars and seeing their creations shining in the sky.
|
||||
|
||||
Join our friendly [Discord](https://discord.immich.app) to talk and discuss Immich, tech, or anything
|
||||
|
||||
Cheer!
|
||||
|
||||
Until next time!
|
||||
|
||||
Alex
|
||||
|
|
@ -1,71 +0,0 @@
|
|||
---
|
||||
title: Immich Recap 2023
|
||||
authors: [alextran]
|
||||
tags: [update, recap-2023]
|
||||
date: 2023-12-30T00:00
|
||||
---
|
||||
|
||||
Hi everyone,
|
||||
|
||||
Alex from Immich here.
|
||||
|
||||
We are entering the last few weeks of 2023, and it has been quite a year for Immich. The project has grown so much in terms of users, developers, features, maturity, and the community around it. When I started working on Immich, it was simply a challenge for myself and an opportunity to learn new technologies, crafting something fun and useful for my wife during my free time to satisfy my urge to build and create things. I never thought it would become so popular and help so many people. At the end of the day, all we have is memory. I am proud that the team and I have created something to make storing and viewing those precious memories easier without restrictions and without sacrificing our privacy. As the year closes, here’s a recap of everything the project accomplished in 2023.
|
||||
|
||||
# Milestones
|
||||
|
||||
- Public shared links
|
||||
- Favorites page
|
||||
- Immich turned 1
|
||||
- Material Design 3 on the mobile app
|
||||
- Auto-link LivePhotos server-side
|
||||
- iOS background backup
|
||||
- Explore page
|
||||
- CLIP search
|
||||
- Search by metadata
|
||||
- Responsive web app
|
||||
- Archive page
|
||||
- Asset descriptions
|
||||
- 10,000 stars on GitHub
|
||||
- Manage auth devices
|
||||
- Map view
|
||||
- Facial recognition, clustering, searching, renaming, and person management
|
||||
- Partner sharing and unifying timeline between partners' users
|
||||
- Custom storage label
|
||||
- XMP sidecar reading
|
||||
- RAW file formats
|
||||
- Justified layout on the web
|
||||
- Memories
|
||||
- Multi-select via SHIFT
|
||||
- Android Motion Photos
|
||||
- 360° Photos
|
||||
- Album description
|
||||
- Album performance improvements (time buckets)
|
||||
- Video hardware transcoding
|
||||
- Slideshow mode on the web
|
||||
- Configuration file
|
||||
- External libraries
|
||||
- Trash page
|
||||
- Custom theme
|
||||
- Asset Stacking
|
||||
- 20,000 stars on GitHub
|
||||
- Shared album activity and comments
|
||||
- CLI v2
|
||||
- Down to 5 containers (from 8)
|
||||
|
||||
# Fun Statistics
|
||||
|
||||
- We have gone from the release version `1.41.0` to `1.90.0` at the time of writing. On average, we see a release every 7 days.
|
||||
- According to GitHub's metrics, the `immich-server` container image has been pulled almost _4 million_ times.
|
||||
- According to mobile app store metrics, we have 22,000 installations on Android and 6700 installation units on iOS (opt-in only).
|
||||
- Immich is making around $1200/month on average from donations. (Thank you all so much!)
|
||||
- We were guests on two podcasts:
|
||||
- [Self-hosted](https://selfhosted.show/110)
|
||||
- [The Vergecast](https://www.theverge.com/23938533/self-hosting-local-first-software-vergecast)
|
||||
- There are over 4,500 members on the Discord server.
|
||||
- We have over 22,000 stars on the main GitHub repository, gaining 15,000 stars since January 2023.
|
||||
|
||||
Diving into the next year, the team will continue to build on the foundation we have laid out over the past year, implementing more advanced features for searching, organizing, and sharing between users. Bugs will continue to be squashed and conquered. “Shit Alex wrote'' code will continue to be replaced by beautiful, clean code from Jason, Zack, Boet, Daniel, Osorin, Mert, Fynn, Marty, Martin, and Jonathan. The team has my eternal gratitude for creating a welcoming environment for new contributors, helping, teaching, and learning from each other. I’ve realized that hardly a day has gone by where the team hasn’t been in communication about Immich related topics over the past year.
|
||||
|
||||
My long-term goal is to help hone Immich into a diamond in the FOSS space, where the UI, UX, development experiences, documentation, and quality are at a high standard while remaining free for everybody to use.
|
||||
|
||||
I hope you enjoy Immich and have a happy and peaceful holiday.
|
||||
|
|
@ -1,75 +0,0 @@
|
|||
---
|
||||
title: The Immich core team goes full-time
|
||||
authors: [alextran]
|
||||
tags: [update, announcement, FUTO]
|
||||
date: 2024-05-01T00:00
|
||||
---
|
||||
|
||||
**Immich is joining [FUTO](https://futo.org/)!**
|
||||
|
||||
Since the beginning of this adventure, my goal has always been to create a better world for my children. Memories are priceless, and privacy should not be a luxury. However, building quality open source has its challenges. Over the past two years, it has taken significant dedication, time, and effort.
|
||||
|
||||
Recently, a company in Austin, Texas, called FUTO contacted the team. FUTO strives to develop quality and sustainable open software. They build software alternatives that focus on giving control to users. From their mission statement:
|
||||
|
||||
“Computers should belong to you, the people. We develop and fund technology to give them back.”
|
||||
|
||||
FUTO loved Immich and wanted to see if we’d consider working with them to take the project to the next level. In short, FUTO offered to:
|
||||
|
||||
- Pay the core team to work on Immich full-time
|
||||
- Let us keep full autonomy about the project’s direction and leadership
|
||||
- Continue to license Immich under AGPL
|
||||
- Keep Immich’s development direction with no paywalled features
|
||||
- Keep Immich “built for the people” (no ads, data mining/selling, or alternative motives)
|
||||
- Provide us with financial, technical, legal, and administrative support
|
||||
|
||||
After careful deliberation, the team decided that FUTO’s vision closely aligns with our own: to build a better future by providing a polished, performant, and privacy-preserving open-source software solution for photo and video management delivered in a sustainable way.
|
||||
|
||||
Immich’s future has never looked brighter, and we look forward to realizing our vision for Immich as part of FUTO.
|
||||
|
||||
If you have more questions, we’ll host a Q&A live stream on May 9th at 3PM UTC (10AM CST). [You can ask questions here](https://www.live-ask.com/event/01HWP2SB99A1K8EXFBDKZ5Z9CF), and the stream will be live [here on our YouTube channel](https://youtube.com/live/cwz2iZwYpgg).
|
||||
|
||||
Cheers,
|
||||
|
||||
The Immich Team
|
||||
|
||||
---
|
||||
|
||||
## FAQs
|
||||
|
||||
### What is FUTO?
|
||||
|
||||
[https://futo.org/what-is-futo/](https://futo.org/what-is-futo/)
|
||||
|
||||
### Will the license change?
|
||||
|
||||
No. Immich will continue to be licensed under AGPL without a CLA.
|
||||
|
||||
### Will Immich continue to be free?
|
||||
|
||||
Yes. The Immich source code will remain freely available under the AGPL license.
|
||||
|
||||
### Is Immich getting VC funding?
|
||||
|
||||
No. Venture capital implies investment in a business, often with the expectation of a future payout (exit plan). Immich is neither a business that can be acquired nor comes with a money-making exit plan.
|
||||
|
||||
### I am currently supporting Immich through GitHub sponsors. What will happen to my donation?
|
||||
|
||||
Effective immediately, all donations to the Immich organization will be canceled. In the future, we will offer an optional, modest payment option instead. Thank you to everyone who donated to help us get this far!
|
||||
|
||||
### How is funding sustainable?
|
||||
|
||||
Immich and FUTO believe a sustainable future requires a model that does not rely on users-as-a-product. To this end, FUTO advocates that users pay for good, open software. In keeping with this model, we will adopt a purchase price. This means we no longer accept donations, but — _without limiting features for those who do not pay_ — we will soon allow you to purchase Immich through a modest payment. We encourage you to pay for the high-quality software you use to foster a healthy software culture where developers build great applications without hidden motives for their users.
|
||||
|
||||
### When does this change take effect?
|
||||
|
||||
This change takes effect immediately.
|
||||
|
||||
### What will change?
|
||||
|
||||
The following things will change as Immich joins FUTO:
|
||||
|
||||
- The brand, logo, and other Immich trademarks will be transferred to FUTO.
|
||||
- We will stop all donations to the project.
|
||||
- The core team can now dedicate our full attention to Immich
|
||||
- Before the end of the year, we plan to have a roadmap for what it will take to get Immich to a stable release.
|
||||
- Bugs will be squashed, and features will be delivered faster.
|
||||
|
|
@ -1,91 +0,0 @@
|
|||
---
|
||||
title: Licensing announcement - Purchase a license to support Immich
|
||||
authors: [alextran]
|
||||
tags: [update, announcement, FUTO]
|
||||
date: 2024-07-18T00:00
|
||||
---
|
||||
|
||||
Hello everybody,
|
||||
|
||||
Firstly, on behalf of the Immich team, I'd like to thank everybody for your continuous support of Immich since the very first day! Your contributions, encouragement, and community engagement have helped bring Immich to its current state. The team and I are forever grateful for that.
|
||||
|
||||
Since our [last announcement of the core team joining FUTO to work on Immich full-time](https://immich.app/blog/2024/immich-core-team-goes-fulltime), one of the goals of our new position is to foster a healthy relationship between the developers and the users. We believe that this enables us to create great software, establish transparent policies and build trust.
|
||||
|
||||
We want to build a great software application that brings value to you and your loved ones' lives. We are not using you as a product, i.e., selling or tracking your data. We are not putting annoying ads into our software. We respect your privacy. We want to be compensated for the hard work we put in to build Immich for you.
|
||||
|
||||
With those notes, we have enabled a way for you to financially support the continued development of Immich, ensuring the software can move forward and will be maintained, by offering a lifetime license of the software. We think if you like and use software, you should pay for it, but _we're never going to force anyone to pay or try to limit Immich for those who don't._
|
||||
|
||||
There are two types of license that you can choose to purchase: **Server License** and **Individual License**.
|
||||
|
||||
### Server License
|
||||
|
||||
This is a lifetime license costing **$99.99**. The license is applied to the whole server. You and all users that use your server are licensed.
|
||||
|
||||
### Individual License
|
||||
|
||||
This is a lifetime license costing **$24.99**. The license is applied to a single user, and can be used on any server they choose to connect to.
|
||||
|
||||
<img
|
||||
width="837"
|
||||
alt="license-social-gh"
|
||||
src="https://github.com/user-attachments/assets/241932ed-ef3b-44ec-a9e2-ee80754e0cca"
|
||||
/>
|
||||
|
||||
You can purchase the license on [our page - https://buy.immich.app](https://buy.immich.app).
|
||||
|
||||
Starting with release `v1.109.0` you can purchase and enter your purchased license key directly in the app.
|
||||
|
||||
<img
|
||||
width="1414"
|
||||
alt="license-page-gh"
|
||||
src="https://github.com/user-attachments/assets/364fc32a-f6ef-4594-9fea-28d5a26ad77c"
|
||||
/>
|
||||
|
||||
## Thank you
|
||||
|
||||
Thank you again for your support, this will help create a strong foundation and stability for the Immich team to continue developing and maintaining the project that you love to use.
|
||||
|
||||
<p align="center">
|
||||
<img
|
||||
src="https://media.giphy.com/media/v1.Y2lkPTc5MGI3NjExbjY2eWc5Y2F0ZW56MmR4aWE0dDhzZXlidXRmYWZyajl1bWZidXZpcyZlcD12MV9pbnRlcm5hbF9naWZfYnlfaWQmY3Q9Zw/87CKDqErVfMqY/giphy.gif"
|
||||
width="550"
|
||||
title="SUPPORT THE PROJECT!"
|
||||
/>
|
||||
</p>
|
||||
|
||||
<br />
|
||||
<br />
|
||||
|
||||
Cheers! 🎉
|
||||
|
||||
Immich team
|
||||
|
||||
# FAQ
|
||||
|
||||
### 1. Where can I purchase a license?
|
||||
|
||||
There are several places where you can purchase the license from
|
||||
|
||||
- [https://buy.immich.app](https://buy.immich.app)
|
||||
- [https://pay.futo.org](https://pay.futo.org/)
|
||||
- or directly from the app.
|
||||
|
||||
### 2. Do I need both _Individual License_ and _Server License_?
|
||||
|
||||
No,
|
||||
|
||||
If you are the admin and the sole user, or your instance has less than a total of 4 users, you can buy the **Individual License** for each user.
|
||||
|
||||
If your instance has more than 4 users, it is more cost-effective to buy the **Server License**, which will license all the users on your instance.
|
||||
|
||||
### 3. What do I do if I don't pay?
|
||||
|
||||
You can continue using Immich without any restriction.
|
||||
|
||||
### 4. Will there be any paywalled features?
|
||||
|
||||
No, there will never be any paywalled features.
|
||||
|
||||
### 5. Where can I get support regarding payment issues?
|
||||
|
||||
You can email us with your `orderId` and your email address `billing@futo.org` or on our Discord server.
|
||||
|
|
@ -1,78 +0,0 @@
|
|||
---
|
||||
title: Immich Update - July 2024
|
||||
authors: [alextran]
|
||||
date: 2024-07-01T00:00
|
||||
tags: [update, v1.106.0]
|
||||
---
|
||||
|
||||
Hello everybody! Alex from Immich here and I am back with another development progress update for the project.
|
||||
|
||||
Summer has returned once again, and the night sky is filled with stars, thank you for **38_000 shining stars** you have sent to our [GitHub repo](https://github.com/immich-app/immich)! Since the last announcement several core contributors have started full time. Everything is going great with development, PRs get merged with _brrrrrrr_ rate, conversation exchange between team members is on a new high, we met and are working with the great engineers at FUTO. The spirit is high and we have a lot of things brewing that we think you will like.
|
||||
|
||||
Let's go over some of the updates we had since the last post.
|
||||
|
||||
### Container consolidation
|
||||
|
||||
Reduced the number of total containers from 5 to 4 by making the microservices thread get spawned directly in the server container. Woohoo, remember when Immich had 7 containers?
|
||||
|
||||
### Email notifications
|
||||
|
||||

|
||||
|
||||
We added email notifications to the app with SMTP settings that you can configure for the following events
|
||||
|
||||
- A new account is created for you.
|
||||
- You are added to a shared album.
|
||||
- New media is added to an album.
|
||||
|
||||
### Versioned docs
|
||||
|
||||
You can now jump back into the past or take a peek at the unreleased version of the documentation by selecting the version on the website.
|
||||
|
||||

|
||||
|
||||
### Similarity deduplication
|
||||
|
||||
With more machine learning and CLIP magic, we now have similarity deduplication built into the application where it will search for closely similar images and let you decide what to do with them; i.e keep or trash.
|
||||
|
||||

|
||||
|
||||
### Permanent URL for asset on the web
|
||||
|
||||
The detail view for an asset now has a permanent URL so you can easily share them with your loved ones.
|
||||
|
||||
### Web app translations
|
||||
|
||||
We now have a public Weblate project which the community can use to translate the webapp to their native languages. We are planning to port the mobile app translation to this platform as well. If you would like to contribute, you can take a look [here](https://hosted.weblate.org/projects/immich/immich/). We're already close to 50% translations -- we really appreciate everyone contributing to that!
|
||||
|
||||

|
||||
|
||||
### Read-only/Editor mode on shared album
|
||||
|
||||
As the owner of the album, you can choose if the shared user can edit the album or to only view the content of the album without any modification.
|
||||
|
||||

|
||||
|
||||
### Better video thumbnails
|
||||
|
||||
Immich now tries to find a descriptive video thumbnail instead of simply using the first frame. No more black images for thumbnails!
|
||||
|
||||
### Public Roadmap
|
||||
|
||||
We now have a [public roadmap](https://immich.app/roadmap), giving you a high-level overview of things the team is working on. The first goal of this roadmap is to bring Immich to a stable release, which is expected sometime later this year. Some of the highlights include
|
||||
|
||||
- Auto stacking - Auto stacking of burst photos
|
||||
- Basic editor - Basic photo editing capabilities
|
||||
- Workflows - Automate tasks with workflows
|
||||
- Fine grained access controls - Granular access controls for users and api keys
|
||||
- Better background backups - Rework background backups to be more reliable
|
||||
- Private/locked photos - Private assets with extra protections
|
||||
|
||||
Beyond the items in the roadmap, we have _many many_ more ideas for Immich. The team and I hope that you are enjoying the application, find it helpful in your life and we have nothing but the intention of building out great software for you all!
|
||||
|
||||
Have an amazing Summer or Winter for those in the southern hemisphere! :D
|
||||
|
||||
Until next time,
|
||||
|
||||
Cheers!
|
||||
Alex
|
||||
|
|
@ -1,5 +0,0 @@
|
|||
alextran:
|
||||
name: Alex Tran
|
||||
title: Maintainer of Immich
|
||||
url: https://github.com/alextran1502
|
||||
image_url: https://github.com/alextran1502.png
|
||||
|
|
@ -30,11 +30,11 @@ When in doubt or if you have an edge case scenario, we encourage you to contact
|
|||
|
||||
### How can I reset the admin password?
|
||||
|
||||
The admin password can be reset by running the [reset-admin-password](/docs/administration/server-commands.md) command on the immich-server.
|
||||
The admin password can be reset by running the [reset-admin-password](/administration/server-commands.md) command on the immich-server.
|
||||
|
||||
### How can I see a list of all users in Immich?
|
||||
|
||||
You can see the list of all users by running [list-users](/docs/administration/server-commands.md) Command on the Immich-server.
|
||||
You can see the list of all users by running [list-users](/administration/server-commands.md) Command on the Immich-server.
|
||||
|
||||
---
|
||||
|
||||
|
|
@ -106,20 +106,20 @@ However, Immich will delete original files that have been trashed when the trash
|
|||
|
||||
When Storage Template is off (default) Immich saves the file names in a random string (also known as random UUIDs) to prevent duplicate file names.
|
||||
To retrieve the original file names, you must enable the Storage Template and then run the STORAGE TEMPLATE MIGRATION job.
|
||||
It is recommended to read about [Storage Template](https://immich.app/docs/administration/storage-template) before activation.
|
||||
It is recommended to read about [Storage Template](/administration/storage-template) before activation.
|
||||
|
||||
### Can I add my existing photo library?
|
||||
|
||||
Yes, with an [External Library](/docs/features/libraries.md).
|
||||
Yes, with an [External Library](/features/libraries.md).
|
||||
|
||||
### What happens to existing files after I choose a new [Storage Template](/docs/administration/storage-template.mdx)?
|
||||
### What happens to existing files after I choose a new [Storage Template](/administration/storage-template.mdx)?
|
||||
|
||||
Template changes will only apply to _new_ assets. To retroactively apply the template to previously uploaded assets, run the Storage Migration Job, available on the [Jobs](/docs/administration/jobs-workers/#jobs) page.
|
||||
Template changes will only apply to _new_ assets. To retroactively apply the template to previously uploaded assets, run the Storage Migration Job, available on the [Jobs](/administration/jobs-workers/#jobs) page.
|
||||
|
||||
### Why are only photos and not videos being uploaded to Immich?
|
||||
|
||||
This often happens when using a reverse proxy in front of Immich.
|
||||
Make sure to [set your reverse proxy](/docs/administration/reverse-proxy/) to allow large requests.
|
||||
Make sure to [set your reverse proxy](/administration/reverse-proxy/) to allow large requests.
|
||||
Also, check the disk space of your reverse proxy.
|
||||
In some cases, proxies cache requests to disk before passing them on, and if disk space runs out, the request fails.
|
||||
|
||||
|
|
@ -139,7 +139,7 @@ You can _archive_ them.
|
|||
|
||||
### How can I backup data from Immich?
|
||||
|
||||
See [Backup and Restore](/docs/administration/backup-and-restore.md).
|
||||
See [Backup and Restore](/administration/backup-and-restore.md).
|
||||
|
||||
### Does Immich support reading existing face tag metadata?
|
||||
|
||||
|
|
@ -225,7 +225,7 @@ volumes:
|
|||
|
||||
### Can I keep my existing album structure while importing assets into Immich?
|
||||
|
||||
Yes, by using the [Immich CLI](/docs/features/command-line-interface) along with the `--album` flag.
|
||||
Yes, by using the [Immich CLI](/features/command-line-interface) along with the `--album` flag.
|
||||
|
||||
### Is there a way to reorder photos within an album?
|
||||
|
||||
|
|
@ -266,7 +266,7 @@ Immich uses CLIP models. An ML model converts each image to an "embedding", whic
|
|||
|
||||
### How does facial recognition work?
|
||||
|
||||
See [How Facial Recognition Works](/docs/features/facial-recognition#how-facial-recognition-works) for details.
|
||||
See [How Facial Recognition Works](/features/facial-recognition#how-facial-recognition-works) for details.
|
||||
|
||||
### How can I disable machine learning?
|
||||
|
||||
|
|
@ -288,7 +288,7 @@ No, this is not supported. Only models listed in the [Hugging Face][huggingface]
|
|||
|
||||
### I want to be able to search in other languages besides English. How can I do that?
|
||||
|
||||
You can change to a multilingual CLIP model. See [here](/docs/features/searching#clip-models) for instructions.
|
||||
You can change to a multilingual CLIP model. See [here](/features/searching#clip-models) for instructions.
|
||||
|
||||
### Does Immich support Facial Recognition for videos?
|
||||
|
||||
|
|
@ -299,7 +299,7 @@ Scanning the entire video for faces may be implemented in the future.
|
|||
|
||||
No.
|
||||
:::tip
|
||||
You can use [Smart Search](/docs/features/searching.md) for this to some extent. For example, if you have a Golden Retriever and a Chihuahua, type these words in the smart search and watch the results.
|
||||
You can use [Smart Search](/features/searching.md) for this to some extent. For example, if you have a Golden Retriever and a Chihuahua, type these words in the smart search and watch the results.
|
||||
:::
|
||||
|
||||
### I'm getting a lot of "faces" that aren't faces, what can I do?
|
||||
|
|
@ -329,7 +329,7 @@ ls clip/ facial-recognition/
|
|||
|
||||
### Why is Immich slow on low-memory systems like the Raspberry Pi?
|
||||
|
||||
Immich optionally uses transcoding and machine learning for several features. However, it can be too heavy to run on a Raspberry Pi. You can [mitigate](/docs/FAQ#can-i-lower-cpu-and-ram-usage) this or host Immich's machine-learning container on a [more powerful system](/docs/guides/remote-machine-learning), or [disable](/docs/FAQ#how-can-i-disable-machine-learning) machine learning entirely.
|
||||
Immich optionally uses transcoding and machine learning for several features. However, it can be too heavy to run on a Raspberry Pi. You can [mitigate](/FAQ#can-i-lower-cpu-and-ram-usage) this or host Immich's machine-learning container on a [more powerful system](/guides/remote-machine-learning), or [disable](/FAQ#how-can-i-disable-machine-learning) machine learning entirely.
|
||||
|
||||
### Can I lower CPU and RAM usage?
|
||||
|
||||
|
|
@ -339,9 +339,9 @@ The initial backup is the most intensive due to the number of jobs running. The
|
|||
- Under Settings > Transcoding Settings > Threads, set the number of threads to a low number like 1 or 2.
|
||||
- Under Settings > Machine Learning Settings > Facial Recognition > Model Name, you can change the facial recognition model to `buffalo_s` instead of `buffalo_l`. The former is a smaller and faster model, albeit not as good.
|
||||
- For facial recognition on new images to work properly, You must re-run the Face Detection job for all images after this.
|
||||
- At the container level, you can [set resource constraints](/docs/FAQ#can-i-limit-cpu-and-ram-usage) to lower usage further.
|
||||
- At the container level, you can [set resource constraints](/FAQ#can-i-limit-cpu-and-ram-usage) to lower usage further.
|
||||
- It's recommended to only apply these constraints _after_ taking some of the measures here for best performance.
|
||||
- If these changes are not enough, see [above](/docs/FAQ#how-can-i-disable-machine-learning) for instructions on how to disable machine learning.
|
||||
- If these changes are not enough, see [above](/FAQ#how-can-i-disable-machine-learning) for instructions on how to disable machine learning.
|
||||
|
||||
### Can I limit CPU and RAM usage?
|
||||
|
||||
|
|
@ -383,7 +383,7 @@ Do not exaggerate with the job concurrency because you're probably thoroughly ov
|
|||
|
||||
### My server shows Server Status Offline | Version Unknown. What can I do?
|
||||
|
||||
You need to [enable WebSockets](/docs/administration/reverse-proxy/) on your reverse proxy.
|
||||
You need to [enable WebSockets](/administration/reverse-proxy/) on your reverse proxy.
|
||||
|
||||
---
|
||||
|
||||
|
|
@ -391,7 +391,7 @@ You need to [enable WebSockets](/docs/administration/reverse-proxy/) on your rev
|
|||
|
||||
### How can I see Immich logs?
|
||||
|
||||
Immich components are typically deployed using docker. To see logs for deployed docker containers, you can use the [Docker CLI](https://docs.docker.com/engine/reference/commandline/cli/), specifically the `docker logs` command. For examples, see [Docker Help](/docs/guides/docker-help.md).
|
||||
Immich components are typically deployed using docker. To see logs for deployed docker containers, you can use the [Docker CLI](https://docs.docker.com/engine/reference/commandline/cli/), specifically the `docker logs` command. For examples, see [Docker Help](/guides/docker-help.md).
|
||||
|
||||
### How can I reduce the log verbosity of Redis?
|
||||
|
||||
|
|
@ -435,7 +435,7 @@ cap_drop:
|
|||
Data for Immich comes in two forms:
|
||||
|
||||
1. **Metadata** stored in a Postgres database, stored in the `DB_DATA_LOCATION` folder (previously `pg_data` Docker volume).
|
||||
2. **Files** (originals, thumbs, profile, etc.), stored in the `UPLOAD_LOCATION` folder, more [info](/docs/administration/backup-and-restore#asset-types-and-storage-locations).
|
||||
2. **Files** (originals, thumbs, profile, etc.), stored in the `UPLOAD_LOCATION` folder, more [info](/administration/backup-and-restore#asset-types-and-storage-locations).
|
||||
|
||||
:::warning
|
||||
This will destroy your database and reset your instance, meaning that you start from scratch.
|
||||
|
|
@ -473,7 +473,7 @@ If it mentions SIGILL (note the lack of a K) or error code 132, it most likely m
|
|||
### Why am I getting database ownership errors?
|
||||
|
||||
If you get database errors such as `FATAL: data directory "/var/lib/postgresql/data" has wrong ownership` upon database startup, this is likely due to an issue with your filesystem.
|
||||
NTFS and ex/FAT/32 filesystems are not supported. See [here](/docs/install/requirements#special-requirements-for-windows-users) for more details.
|
||||
NTFS and ex/FAT/32 filesystems are not supported. See [here](/install/requirements#special-requirements-for-windows-users) for more details.
|
||||
|
||||
### How can I verify the integrity of my database?
|
||||
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@
|
|||
import Tabs from '@theme/Tabs';
|
||||
import TabItem from '@theme/TabItem';
|
||||
|
||||
A [3-2-1 backup strategy](https://www.backblaze.com/blog/the-3-2-1-backup-strategy/) is recommended to protect your data. You should keep copies of your uploaded photos/videos as well as the Immich database for a comprehensive backup solution. This page provides an overview on how to backup the database and the location of user-uploaded pictures and videos. A template bash script that can be run as a cron job is provided [here](/docs/guides/template-backup-script.md)
|
||||
A [3-2-1 backup strategy](https://www.backblaze.com/blog/the-3-2-1-backup-strategy/) is recommended to protect your data. You should keep copies of your uploaded photos/videos as well as the Immich database for a comprehensive backup solution. This page provides an overview on how to backup the database and the location of user-uploaded pictures and videos. A template bash script that can be run as a cron job is provided [here](/guides/template-backup-script.md)
|
||||
|
||||
:::danger
|
||||
The instructions on this page show you how to prepare your Immich instance to be backed up, and which files to take a backup of. You still need to take care of using an actual backup tool to make a backup yourself.
|
||||
|
|
@ -160,7 +160,7 @@ for more info read the [release notes](https://github.com/immich-app/immich/rele
|
|||
|
||||
:::danger
|
||||
A backup of this folder does not constitute a backup of your database!
|
||||
Follow the instructions listed [here](/docs/administration/backup-and-restore#database) to learn how to perform a proper backup.
|
||||
Follow the instructions listed [here](/administration/backup-and-restore#database) to learn how to perform a proper backup.
|
||||
:::
|
||||
|
||||
</TabItem>
|
||||
|
|
@ -205,7 +205,7 @@ When you turn off the storage template engine, it will leave the assets in `UPLO
|
|||
|
||||
:::danger
|
||||
A backup of this folder does not constitute a backup of your database!
|
||||
Follow the instructions listed [here](/docs/administration/backup-and-restore#database) to learn how to perform a proper backup.
|
||||
Follow the instructions listed [here](/administration/backup-and-restore#database) to learn how to perform a proper backup.
|
||||
:::
|
||||
|
||||
</TabItem>
|
||||
|
|
|
|||
|
|
@ -12,7 +12,7 @@ You can access the settings panel from the web at `Administration -> Settings ->
|
|||
|
||||
Under Email, enter the required details to connect with an SMTP server.
|
||||
|
||||
You can use [this guide](/docs/guides/smtp-gmail) to use Gmail's SMTP server.
|
||||
You can use [this guide](/guides/smtp-gmail) to use Gmail's SMTP server.
|
||||
|
||||
## User's notifications settings
|
||||
|
||||
|
|
|
|||
|
|
@ -11,7 +11,7 @@ The `immich-server` container contains multiple workers:
|
|||
|
||||
## Split workers
|
||||
|
||||
If you prefer to throttle or distribute the workers, you can do this using the [environment variables](/docs/install/environment-variables) to specify which container should pick up which tasks.
|
||||
If you prefer to throttle or distribute the workers, you can do this using the [environment variables](/install/environment-variables) to specify which container should pick up which tasks.
|
||||
|
||||
For example, for a simple setup with one container for the Web/API and one for all other microservices, you can do the following:
|
||||
|
||||
|
|
@ -53,5 +53,5 @@ Additionally, some jobs (such as memories generation) run on a schedule, which i
|
|||
<img src={require('./img/admin-nightly-tasks.webp').default} width="60%" title="Admin nightly tasks" />
|
||||
|
||||
:::note
|
||||
Some jobs ([External Libraries](/docs/features/libraries) scanning, Database Dump) are configured in their own sections in System Settings.
|
||||
Some jobs ([External Libraries](/features/libraries) scanning, Database Dump) are configured in their own sections in System Settings.
|
||||
:::
|
||||
|
|
|
|||
|
|
@ -28,7 +28,7 @@ Before enabling OAuth in Immich, a new client application needs to be configured
|
|||
2. Configure Redirect URIs/Origins
|
||||
|
||||
The **Sign-in redirect URIs** should include:
|
||||
- `app.immich:///oauth-callback` - for logging in with OAuth from the [Mobile App](/docs/features/mobile-app.mdx)
|
||||
- `app.immich:///oauth-callback` - for logging in with OAuth from the [Mobile App](/features/mobile-app.mdx)
|
||||
- `http://DOMAIN:PORT/auth/login` - for logging in with OAuth from the Web Client
|
||||
- `http://DOMAIN:PORT/user-settings` - for manually linking OAuth in the Web Client
|
||||
|
||||
|
|
@ -98,7 +98,7 @@ The redirect URI for the mobile app is `app.immich:///oauth-callback`, which is
|
|||
2. Whitelist the new endpoint as a valid redirect URI with your provider.
|
||||
3. Specify the new endpoint as the `Mobile Redirect URI Override`, in the OAuth settings.
|
||||
|
||||
With these steps in place, you should be able to use OAuth from the [Mobile App](/docs/features/mobile-app.mdx) without a custom scheme redirect URI.
|
||||
With these steps in place, you should be able to use OAuth from the [Mobile App](/features/mobile-app.mdx) without a custom scheme redirect URI.
|
||||
|
||||
:::info
|
||||
Immich has a route (`/api/oauth/mobile-redirect`) that is already configured to forward requests to `app.immich:///oauth-callback`, and can be used for step 1.
|
||||
|
|
|
|||
|
|
@ -16,7 +16,7 @@ The `immich-server` docker image comes preinstalled with an administrative CLI (
|
|||
|
||||
## How to run a command
|
||||
|
||||
To run a command, [connect](/docs/guides/docker-help.md#attach-to-a-container) to the `immich_server` container and then execute the command via `immich-admin <command>`.
|
||||
To run a command, [connect](/guides/docker-help.md#attach-to-a-container) to the `immich_server` container and then execute the command via `immich-admin <command>`.
|
||||
|
||||
## Examples
|
||||
|
||||
|
|
|
|||
|
|
@ -12,14 +12,14 @@ Manage password, OAuth, and other authentication settings
|
|||
|
||||
### OAuth Authentication
|
||||
|
||||
Immich supports OAuth Authentication. Read more about this feature and its configuration [here](/docs/administration/oauth).
|
||||
Immich supports OAuth Authentication. Read more about this feature and its configuration [here](/administration/oauth).
|
||||
|
||||
### Password Authentication
|
||||
|
||||
The administrator can choose to disable login with username and password for the entire instance. This means that **no one**, including the system administrator, will be able to log using this method. If [OAuth Authentication](/docs/administration/oauth) is also disabled, no users will be able to login using **any** method. Changing this setting does not affect existing sessions, just new login attempts.
|
||||
The administrator can choose to disable login with username and password for the entire instance. This means that **no one**, including the system administrator, will be able to log using this method. If [OAuth Authentication](/administration/oauth) is also disabled, no users will be able to login using **any** method. Changing this setting does not affect existing sessions, just new login attempts.
|
||||
|
||||
:::tip
|
||||
You can always use the [Server CLI](/docs/administration/server-commands) to re-enable password login.
|
||||
You can always use the [Server CLI](/administration/server-commands) to re-enable password login.
|
||||
:::
|
||||
|
||||
## Image Settings (thumbnails and previews)
|
||||
|
|
@ -108,7 +108,7 @@ If more than one URL is provided, each server will be attempted one-at-a-time un
|
|||
|
||||
### Smart Search
|
||||
|
||||
The [smart search](/docs/features/searching) settings allow you to change the [CLIP model](https://openai.com/research/clip). Larger models will typically provide [more accurate search results](https://github.com/immich-app/immich/discussions/11862) but consume more processing power and RAM. When [changing the CLIP model](/docs/FAQ#can-i-use-a-custom-clip-model) it is mandatory to re-run the Smart Search job on all images to fully apply the change.
|
||||
The [smart search](/features/searching) settings allow you to change the [CLIP model](https://openai.com/research/clip). Larger models will typically provide [more accurate search results](https://github.com/immich-app/immich/discussions/11862) but consume more processing power and RAM. When [changing the CLIP model](/FAQ#can-i-use-a-custom-clip-model) it is mandatory to re-run the Smart Search job on all images to fully apply the change.
|
||||
|
||||
:::info Internet connection
|
||||
Changing models requires a connection to the Internet to download the model.
|
||||
|
|
@ -132,7 +132,7 @@ Editable settings:
|
|||
- **Max Recognition Distance**
|
||||
- **Min Recognized Faces**
|
||||
|
||||
You can learn more about these options on the [Facial Recognition page](/docs/features/facial-recognition#how-face-detection-works)
|
||||
You can learn more about these options on the [Facial Recognition page](/features/facial-recognition#how-face-detection-works)
|
||||
|
||||
:::info
|
||||
When changing the values in Min Detection Score, Max Recognition Distance, and Min Recognized Faces.
|
||||
|
|
@ -154,15 +154,15 @@ The map can be adjusted via [OpenMapTiles](https://openmaptiles.org/styles/) for
|
|||
|
||||
### Reverse Geocoding Settings
|
||||
|
||||
Immich supports [Reverse Geocoding](/docs/features/reverse-geocoding) using data from the [GeoNames](https://www.geonames.org/) geographical database.
|
||||
Immich supports [Reverse Geocoding](/features/reverse-geocoding) using data from the [GeoNames](https://www.geonames.org/) geographical database.
|
||||
|
||||
## Notification Settings
|
||||
|
||||
SMTP server setup, for user creation notifications, new albums, etc. More information can be found [here](/docs/administration/email-notification)
|
||||
SMTP server setup, for user creation notifications, new albums, etc. More information can be found [here](/administration/email-notification)
|
||||
|
||||
## Notification Templates
|
||||
|
||||
Override the default notifications text with notification templates. More information can be found [here](/docs/administration/email-notification)
|
||||
Override the default notifications text with notification templates. More information can be found [here](/administration/email-notification)
|
||||
|
||||
## Server Settings
|
||||
|
||||
|
|
@ -176,7 +176,7 @@ The administrator can set a custom message on the login screen (the message will
|
|||
|
||||
## Storage Template
|
||||
|
||||
Immich supports a custom [Storage Template](/docs/administration/storage-template). Learn more about this feature and its configuration [here](/docs/administration/storage-template).
|
||||
Immich supports a custom [Storage Template](/administration/storage-template). Learn more about this feature and its configuration [here](/administration/storage-template).
|
||||
|
||||
## Theme Settings
|
||||
|
||||
|
|
|
|||
|
|
@ -44,7 +44,7 @@ The web app is a [TypeScript](https://www.typescriptlang.org/) project that uses
|
|||
|
||||
### CLI
|
||||
|
||||
The Immich CLI is an [npm](https://www.npmjs.com/) package that lets users control their Immich instance from the command line. It uses the API to perform various tasks, especially uploading assets. See the [CLI documentation](/docs/features/command-line-interface.md) for more information.
|
||||
The Immich CLI is an [npm](https://www.npmjs.com/) package that lets users control their Immich instance from the command line. It uses the API to perform various tasks, especially uploading assets. See the [CLI documentation](/features/command-line-interface.md) for more information.
|
||||
|
||||
## Server
|
||||
|
||||
|
|
@ -83,11 +83,11 @@ Immich uses a [worker](https://github.com/immich-app/immich/blob/main/server/src
|
|||
- Smart Search
|
||||
- Facial Recognition
|
||||
- Storage Template Migration
|
||||
- Sidecar (see [XMP Sidecars](/docs/features/xmp-sidecars.md))
|
||||
- Sidecar (see [XMP Sidecars](/features/xmp-sidecars.md))
|
||||
- Background jobs (file deletion, user deletion)
|
||||
|
||||
:::info
|
||||
This list closely matches what is available on the [Administration > Jobs](/docs/administration/jobs-workers/#jobs) page, which provides some remote queue management capabilities.
|
||||
This list closely matches what is available on the [Administration > Jobs](/administration/jobs-workers/#jobs) page, which provides some remote queue management capabilities.
|
||||
:::
|
||||
|
||||
### Machine Learning
|
||||
|
|
|
|||
|
|
@ -431,7 +431,7 @@ While the Dev Container focuses on server and web development, you can connect m
|
|||
- Server URL: `http://YOUR_IP:2283/api`
|
||||
- Ensure firewall allows port 2283
|
||||
|
||||
3. **For full mobile development**, see the [mobile development guide](/docs/developer/setup) which covers:
|
||||
3. **For full mobile development**, see the [mobile development guide](/developer/setup) which covers:
|
||||
- Flutter setup
|
||||
- Running on simulators/devices
|
||||
- Mobile-specific debugging
|
||||
|
|
@ -474,7 +474,7 @@ Recommended minimums:
|
|||
|
||||
## Next Steps
|
||||
|
||||
- Read the [architecture overview](/docs/developer/architecture)
|
||||
- Learn about [database migrations](/docs/developer/database-migrations)
|
||||
- Explore [API documentation](/docs/api)
|
||||
- Read the [architecture overview](/developer/architecture)
|
||||
- Learn about [database migrations](/developer/database-migrations)
|
||||
- Explore [API documentation](https://api.immich.app/)
|
||||
- Join `#immich` on [Discord](https://discord.immich.app)
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
# OpenAPI
|
||||
|
||||
Immich uses the [OpenAPI](https://swagger.io/specification/) standard to generate API documentation. To view the published docs see [here](/docs/api).
|
||||
Immich uses the [OpenAPI](https://swagger.io/specification/) standard to generate API documentation. To view the published docs see [here](https://api.immich.app/).
|
||||
|
||||
## Generator
|
||||
|
||||
|
|
|
|||
|
|
@ -53,8 +53,8 @@ You can use `dart fix --apply` and `dcm fix lib` to potentially correct some iss
|
|||
|
||||
## OpenAPI
|
||||
|
||||
The OpenAPI client libraries need to be regenerated whenever there are changes to the `immich-openapi-specs.json` file. Note that you should not modify this file directly as it is auto-generated. See [OpenAPI](/docs/developer/open-api.md) for more details.
|
||||
The OpenAPI client libraries need to be regenerated whenever there are changes to the `immich-openapi-specs.json` file. Note that you should not modify this file directly as it is auto-generated. See [OpenAPI](/developer/open-api.md) for more details.
|
||||
|
||||
## Database Migrations
|
||||
|
||||
A database migration needs to be generated whenever there are changes to `server/src/infra/src/entities`. See [Database Migration](/docs/developer/database-migrations.md) for more details.
|
||||
A database migration needs to be generated whenever there are changes to `server/src/infra/src/entities`. See [Database Migration](/developer/database-migrations.md) for more details.
|
||||
|
|
|
|||
|
|
@ -16,7 +16,7 @@ If foreground backup is enabled: whenever the app is opened or resumed, it will
|
|||
|
||||
## Background backup
|
||||
|
||||
This feature is intended for everyday use. For initial bulk uploading, please use the foreground upload feature. For more information on why background upload is not working as expected, please refer to the [FAQ](/docs/FAQ#why-does-foreground-backup-stop-when-i-navigate-away-from-the-app-shouldnt-it-transfer-the-job-to-background-backup).
|
||||
This feature is intended for everyday use. For initial bulk uploading, please use the foreground upload feature. For more information on why background upload is not working as expected, please refer to the [FAQ](/FAQ#why-does-foreground-backup-stop-when-i-navigate-away-from-the-app-shouldnt-it-transfer-the-job-to-background-backup).
|
||||
|
||||
If background backup is enabled. The app will periodically check if there are any new photos or videos in the selected album(s) to be uploaded to the server. If there are, it will upload them to the cloud in the background.
|
||||
|
||||
|
|
|
|||
|
|
@ -70,7 +70,7 @@ Navigating to Administration > Settings > Machine Learning Settings > Facial Rec
|
|||
:::tip
|
||||
It's better to only tweak the parameters here than to set them to something very different unless you're ready to test a variety of options. If you do need to set a parameter to a strict setting, relaxing other settings can be a good option to compensate, and vice versa.
|
||||
|
||||
You can learn how the tune the result in this [Guide](/docs/guides/better-facial-clusters)
|
||||
You can learn how the tune the result in this [Guide](/guides/better-facial-clusters)
|
||||
:::
|
||||
|
||||
### Facial recognition model
|
||||
|
|
|
|||
|
|
@ -103,7 +103,7 @@ The `immich-server` container will need access to the gallery. Modify your docke
|
|||
|
||||
:::tip
|
||||
The `ro` flag at the end only gives read-only access to the volumes.
|
||||
This will disallow the images from being deleted in the web UI, or adding metadata to the library ([XMP sidecars](/docs/features/xmp-sidecars)).
|
||||
This will disallow the images from being deleted in the web UI, or adding metadata to the library ([XMP sidecars](/features/xmp-sidecars)).
|
||||
:::
|
||||
|
||||
:::info
|
||||
|
|
|
|||
|
|
@ -35,7 +35,7 @@ You do not need to redo any machine learning jobs after enabling hardware accele
|
|||
- Where and how you can get this file depends on device and vendor, but typically, the device vendor also supplies these
|
||||
- The `hwaccel.ml.yml` file assumes the path to it is `/usr/lib/libmali.so`, so update accordingly if it is elsewhere
|
||||
- The `hwaccel.ml.yml` file assumes an additional file `/lib/firmware/mali_csffw.bin`, so update accordingly if your device's driver does not require this file
|
||||
- Optional: Configure your `.env` file, see [environment variables](/docs/install/environment-variables) for ARM NN specific settings
|
||||
- Optional: Configure your `.env` file, see [environment variables](/install/environment-variables) for ARM NN specific settings
|
||||
- In particular, the `MACHINE_LEARNING_ANN_FP16_TURBO` can significantly improve performance at the cost of very slightly lower accuracy
|
||||
|
||||
#### CUDA
|
||||
|
|
@ -49,7 +49,7 @@ You do not need to redo any machine learning jobs after enabling hardware accele
|
|||
|
||||
- The GPU must be supported by ROCm. If it isn't officially supported, you can attempt to use the `HSA_OVERRIDE_GFX_VERSION` environmental variable: `HSA_OVERRIDE_GFX_VERSION=<a supported version, e.g. 10.3.0>`. If this doesn't work, you might need to also set `HSA_USE_SVM=0`.
|
||||
- The ROCm image is quite large and requires at least 35GiB of free disk space. However, pulling later updates to the service through Docker will generally only amount to a few hundred megabytes as the rest will be cached.
|
||||
- This backend is new and may experience some issues. For example, GPU power consumption can be higher than usual after running inference, even if the machine learning service is idle. In this case, it will only go back to normal after being idle for 5 minutes (configurable with the [MACHINE_LEARNING_MODEL_TTL](/docs/install/environment-variables) setting).
|
||||
- This backend is new and may experience some issues. For example, GPU power consumption can be higher than usual after running inference, even if the machine learning service is idle. In this case, it will only go back to normal after being idle for 5 minutes (configurable with the [MACHINE_LEARNING_MODEL_TTL](/install/environment-variables) setting).
|
||||
|
||||
#### OpenVINO
|
||||
|
||||
|
|
@ -64,7 +64,7 @@ You do not need to redo any machine learning jobs after enabling hardware accele
|
|||
- This is usually pre-installed on the device vendor's Linux images
|
||||
- RKNPU driver V0.9.8 or later must be available in the host server
|
||||
- You may confirm this by running `cat /sys/kernel/debug/rknpu/version` to check the version
|
||||
- Optional: Configure your `.env` file, see [environment variables](/docs/install/environment-variables) for RKNN specific settings
|
||||
- Optional: Configure your `.env` file, see [environment variables](/install/environment-variables) for RKNN specific settings
|
||||
- In particular, setting `MACHINE_LEARNING_RKNN_THREADS` to 2 or 3 can _dramatically_ improve performance for RK3576 and RK3588 compared to the default of 1, at the expense of multiplying the amount of RAM each model uses by that amount.
|
||||
|
||||
## Setup
|
||||
|
|
|
|||
|
|
@ -28,7 +28,7 @@ The beta release channel allows users to test upcoming changes before they are o
|
|||
<MobileAppBackup />
|
||||
|
||||
:::info
|
||||
You can enable automatic backup on supported devices. For more information see [Automatic Backup](/docs/features/automatic-backup.md).
|
||||
You can enable automatic backup on supported devices. For more information see [Automatic Backup](/features/automatic-backup.md).
|
||||
:::
|
||||
|
||||
## Sync only selected photos
|
||||
|
|
@ -75,7 +75,7 @@ You can sync or mirror an album from your phone to the Immich server on your acc
|
|||
|
||||
- **User-Specific Sync:** Album synchronization is unique to each server user and does not sync between different users or partners.
|
||||
|
||||
- **Mobile-Only Feature:** Album synchronization is currently only available on mobile. For similar options on a computer, refer to [Libraries](/docs/features/libraries) for further details.
|
||||
- **Mobile-Only Feature:** Album synchronization is currently only available on mobile. For similar options on a computer, refer to [Libraries](/features/libraries) for further details.
|
||||
|
||||
### Synchronizing albums from the past
|
||||
|
||||
|
|
|
|||
|
|
@ -28,7 +28,7 @@ The metrics in immich are grouped into API (endpoint calls and response times),
|
|||
Immich will not expose an endpoint for metrics by default. To enable this endpoint, you can add the `IMMICH_TELEMETRY_INCLUDE=all` environmental variable to your `.env` file. Note that only the server container currently use this variable.
|
||||
|
||||
:::tip
|
||||
`IMMICH_TELEMETRY_INCLUDE=all` enables all metrics. For a more granular configuration you can enumerate the telemetry metrics that should be included as a comma separated list (e.g. `IMMICH_TELEMETRY_INCLUDE=repo,api`). Alternatively, you can also exclude specific metrics with `IMMICH_TELEMETRY_EXCLUDE`. For more information refer to the [environment section](/docs/install/environment-variables.md#prometheus).
|
||||
`IMMICH_TELEMETRY_INCLUDE=all` enables all metrics. For a more granular configuration you can enumerate the telemetry metrics that should be included as a comma separated list (e.g. `IMMICH_TELEMETRY_INCLUDE=repo,api`). Alternatively, you can also exclude specific metrics with `IMMICH_TELEMETRY_EXCLUDE`. For more information refer to the [environment section](/install/environment-variables.md#prometheus).
|
||||
:::
|
||||
|
||||
The next step is to configure a new or existing Prometheus instance to scrape this endpoint. The following steps assume that you do not have an existing Prometheus instance, but the steps will be similar either way.
|
||||
|
|
@ -68,7 +68,7 @@ After bringing down the containers with `docker compose down` and back up with `
|
|||
:::note
|
||||
To see exactly what metrics are made available, you can additionally add `8081:8081` (API metrics) and `8082:8082` (microservices metrics) to the immich_server container's ports.
|
||||
Visiting the `/metrics` endpoint for these services will show the same raw data that Prometheus collects.
|
||||
To configure these ports see [`IMMICH_API_METRICS_PORT` & `IMMICH_MICROSERVICES_METRICS_PORT`](/docs/install/environment-variables/#general).
|
||||
To configure these ports see [`IMMICH_API_METRICS_PORT` & `IMMICH_MICROSERVICES_METRICS_PORT`](/install/environment-variables/#general).
|
||||
:::
|
||||
|
||||
### Usage
|
||||
|
|
|
|||
|
|
@ -8,7 +8,7 @@ During Exif Extraction, assets with latitudes and longitudes are reverse geocode
|
|||
|
||||
## Usage
|
||||
|
||||
Data from a reverse geocode is displayed in the image details, and used in [Smart Search](/docs/features/searching.md).
|
||||
Data from a reverse geocode is displayed in the image details, and used in [Smart Search](/features/searching.md).
|
||||
|
||||
<img src={require('./img/reverse-geocoding-mobile3.webp').default} width='33%' title='Reverse Geocoding' />
|
||||
<img src={require('./img/reverse-geocoding-mobile1.webp').default} width='33%' title='Reverse Geocoding' />
|
||||
|
|
|
|||
|
|
@ -24,7 +24,7 @@ After creating an album, you can access the sharing options by clicking on the s
|
|||
|
||||
Partner sharing allows you to share your _entire_ library with other users of your choice. They can then view your library and download the assets.
|
||||
|
||||
You can read this guide to learn more about [partner sharing](/docs/features/partner-sharing).
|
||||
You can read this guide to learn more about [partner sharing](/features/partner-sharing).
|
||||
|
||||
## Public sharing
|
||||
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
# Tags
|
||||
|
||||
Immich supports hierarchical tags, with the ability to read existing tags from the XMP `TagsList` field and IPTC `Keywords` field. Any changes to tags made through Immich are also written back to a [sidecar](/docs/features/xmp-sidecars) file. You can re-run the metadata extraction jobs for all assets to import your existing tags.
|
||||
Immich supports hierarchical tags, with the ability to read existing tags from the XMP `TagsList` field and IPTC `Keywords` field. Any changes to tags made through Immich are also written back to a [sidecar](/features/xmp-sidecars) file. You can re-run the metadata extraction jobs for all assets to import your existing tags.
|
||||
|
||||
## Enable tags feature
|
||||
|
||||
|
|
|
|||
|
|
@ -15,9 +15,9 @@ You can access the [user settings](https://my.immich.app/user-settings) by click
|
|||
---
|
||||
|
||||
:::tip Reset Password
|
||||
The admin can reset a user password through the [User Management](/docs/administration/user-management.mdx) screen.
|
||||
The admin can reset a user password through the [User Management](/administration/user-management.mdx) screen.
|
||||
:::
|
||||
|
||||
:::tip Reset Admin Password
|
||||
The admin password can be reset using a [Server Command](/docs/administration/server-commands.md)
|
||||
The admin password can be reset using a [Server Command](/administration/server-commands.md)
|
||||
:::
|
||||
|
|
|
|||
|
|
@ -10,7 +10,7 @@ This guide explains how to optimize facial recognition in systems with large ima
|
|||
|
||||
- **Best Suited For:** Large image libraries after importing a significant number of images.
|
||||
- **Warning:** This method deletes all previously assigned names.
|
||||
- **Tip:** **Always take a [backup](/docs/administration/backup-and-restore#database) before proceeding!**
|
||||
- **Tip:** **Always take a [backup](/administration/backup-and-restore#database) before proceeding!**
|
||||
|
||||
---
|
||||
|
||||
|
|
|
|||
|
|
@ -9,7 +9,7 @@ It is important to remember to update the backup settings after following the gu
|
|||
In our `.env` file, we will define the paths we want to use. Note that you don't have to define all of these: UPLOAD_LOCATION will be the base folder that files are stored in by default, with the other paths acting as overrides.
|
||||
|
||||
```diff title=".env"
|
||||
# You can find documentation for all the supported environment variables [here](/docs/install/environment-variables)
|
||||
# You can find documentation for all the supported environment variables [here](/install/environment-variables)
|
||||
|
||||
# Custom location where your uploaded, thumbnails, and transcoded video files are stored
|
||||
- UPLOAD_LOCATION=./library
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@ Keep in mind that mucking around in the database might set the Moon on fire. Avo
|
|||
:::tip
|
||||
Run `docker exec -it immich_postgres psql --dbname=<DB_DATABASE_NAME> --username=<DB_USERNAME>` to connect to the database via the container directly.
|
||||
|
||||
(Replace `<DB_DATABASE_NAME>` and `<DB_USERNAME>` with the values from your [`.env` file](/docs/install/environment-variables#database)).
|
||||
(Replace `<DB_DATABASE_NAME>` and `<DB_USERNAME>` with the values from your [`.env` file](/install/environment-variables#database)).
|
||||
:::
|
||||
|
||||
## Assets
|
||||
|
|
@ -142,7 +142,7 @@ DELETE FROM "person" WHERE "name" = 'PersonNameHere';
|
|||
SELECT "key", "value" FROM "system_metadata" WHERE "key" = 'system-config';
|
||||
```
|
||||
|
||||
(Only used when not using the [config file](/docs/install/config-file))
|
||||
(Only used when not using the [config file](/install/config-file))
|
||||
|
||||
### File properties
|
||||
|
||||
|
|
|
|||
|
|
@ -1,13 +1,13 @@
|
|||
# External Library
|
||||
|
||||
This guide walks you through adding an [External Library](/docs/features/libraries).
|
||||
This guide walks you through adding an [External Library](/features/libraries).
|
||||
This guide assumes you are running Immich in Docker and that the files you wish to access are stored
|
||||
in a directory on the same machine.
|
||||
|
||||
# Mount the directory into the containers.
|
||||
|
||||
Edit `docker-compose.yml` to add one or more new mount points in the section `immich-server:` under `volumes:`.
|
||||
If you want Immich to be able to delete the images in the external library or add metadata ([XMP sidecars](/docs/features/xmp-sidecars)), remove `:ro` from the end of the mount point.
|
||||
If you want Immich to be able to delete the images in the external library or add metadata ([XMP sidecars](/features/xmp-sidecars)), remove `:ro` from the end of the mount point.
|
||||
|
||||
```diff
|
||||
immich-server:
|
||||
|
|
|
|||
|
|
@ -46,7 +46,7 @@ You can learn how to set up Tailscale together with Immich with the [tutorial vi
|
|||
|
||||
A reverse proxy is a service that sits between web servers and clients. A reverse proxy can either be hosted on the server itself or remotely. Clients can connect to the reverse proxy via https, and the proxy relays data to Immich. This setup makes most sense if you have your own domain and want to access your Immich instance just like any other website, from outside your LAN. You can also use a DDNS provider like DuckDNS or no-ip if you don't have a domain. This configuration allows the Immich Android and iphone apps to connect to your server without a VPN or tailscale app on the client side.
|
||||
|
||||
If you're hosting your own reverse proxy, [Nginx](https://docs.nginx.com/nginx/admin-guide/web-server/reverse-proxy/) is a great option. An example configuration for Nginx is provided [here](/docs/administration/reverse-proxy.md).
|
||||
If you're hosting your own reverse proxy, [Nginx](https://docs.nginx.com/nginx/admin-guide/web-server/reverse-proxy/) is a great option. An example configuration for Nginx is provided [here](/administration/reverse-proxy.md).
|
||||
|
||||
You'll also need your own certificate to authenticate https connections. If you're making Immich publicly accessible, [Let's Encrypt](https://letsencrypt.org/) can provide a free certificate for your domain and is the recommended option. Alternatively, a [self-signed certificate](https://en.wikipedia.org/wiki/Self-signed_certificate) allows you to encrypt your connection to Immich, but it raises a security warning on the client's browser.
|
||||
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
# Remote Machine Learning
|
||||
|
||||
To alleviate [performance issues on low-memory systems](/docs/FAQ.mdx#why-is-immich-slow-on-low-memory-systems-like-the-raspberry-pi) like the Raspberry Pi, you may also host Immich's machine learning container on a more powerful system, such as your laptop or desktop computer. The server container will send requests containing the image preview to the remote machine learning container for processing. The machine learning container does not persist this data or associate it with a particular user.
|
||||
To alleviate [performance issues on low-memory systems](/FAQ.mdx#why-is-immich-slow-on-low-memory-systems-like-the-raspberry-pi) like the Raspberry Pi, you may also host Immich's machine learning container on a more powerful system, such as your laptop or desktop computer. The server container will send requests containing the image preview to the remote machine learning container for processing. The machine learning container does not persist this data or associate it with a particular user.
|
||||
|
||||
:::info
|
||||
Smart Search and Face Detection will use this feature, but Facial Recognition will not. This is because Facial Recognition uses the _outputs_ of these models that have already been saved to the database. As such, its processing is between the server container and the database.
|
||||
|
|
@ -14,7 +14,7 @@ Image previews are sent to the remote machine learning container. Use this optio
|
|||
2. Copy the following `docker-compose.yml` to the remote server
|
||||
|
||||
:::info
|
||||
If using hardware acceleration, the [hwaccel.ml.yml](https://github.com/immich-app/immich/releases/latest/download/hwaccel.ml.yml) file also needs to be added and the `docker-compose.yml` needs to be configured as described in the [hardware acceleration documentation](/docs/features/ml-hardware-acceleration)
|
||||
If using hardware acceleration, the [hwaccel.ml.yml](https://github.com/immich-app/immich/releases/latest/download/hwaccel.ml.yml) file also needs to be added and the `docker-compose.yml` needs to be configured as described in the [hardware acceleration documentation](/features/ml-hardware-acceleration)
|
||||
:::
|
||||
|
||||
```yaml
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@ This script assumes you have a second hard drive connected to your server for on
|
|||
The database is saved to your Immich upload folder in the `database-backup` subdirectory. The database is then backed up and versioned with your assets by Borg. This ensures that the database backup is in sync with your assets in every snapshot.
|
||||
|
||||
:::info
|
||||
This script makes backups of your database along with your photo/video library. This is redundant with the [automatic database backup tool](https://immich.app/docs/administration/backup-and-restore#automatic-database-backups) built into Immich. Using this script to backup your database has two advantages over the built-in backup tool:
|
||||
This script makes backups of your database along with your photo/video library. This is redundant with the [automatic database backup tool](/administration/backup-and-restore#automatic-database-dumps) built into Immich. Using this script to backup your database has two advantages over the built-in backup tool:
|
||||
|
||||
- This script uses storage more efficiently by versioning your backups instead of making multiple copies.
|
||||
- The database backups are performed at the same time as the library backup, ensuring that the backups of your database and the library are always in sync.
|
||||
|
|
|
|||
|
|
@ -209,7 +209,7 @@ So you can just grab it from there, paste it into a file and you're pretty much
|
|||
### Step 2 - Specify the file location
|
||||
|
||||
In your `.env` file, set the variable `IMMICH_CONFIG_FILE` to the path of your config.
|
||||
For more information, refer to the [Environment Variables](/docs/install/environment-variables.md) section.
|
||||
For more information, refer to the [Environment Variables](/install/environment-variables.md) section.
|
||||
|
||||
:::tip
|
||||
YAML-formatted config files are also supported.
|
||||
|
|
|
|||
|
|
@ -29,4 +29,4 @@ If you get an error `can't set healthcheck.start_interval as feature require Doc
|
|||
|
||||
## Next Steps
|
||||
|
||||
Read the [Post Installation](/docs/install/post-install.mdx) steps and [upgrade instructions](/docs/install/upgrading.md).
|
||||
Read the [Post Installation](/install/post-install.mdx) steps and [upgrade instructions](/install/upgrading.md).
|
||||
|
|
|
|||
|
|
@ -42,7 +42,7 @@ These environment variables are used by the `docker-compose.yml` file and do **N
|
|||
| `IMMICH_MICROSERVICES_METRICS_PORT` | Port for the OTEL metrics | `8082` | server | microservices |
|
||||
| `IMMICH_PROCESS_INVALID_IMAGES` | When `true`, generate thumbnails for invalid images | | server | microservices |
|
||||
| `IMMICH_TRUSTED_PROXIES` | List of comma-separated IPs set as trusted proxies | | server | api |
|
||||
| `IMMICH_IGNORE_MOUNT_CHECK_ERRORS` | See [System Integrity](/docs/administration/system-integrity) | | server | api, microservices |
|
||||
| `IMMICH_IGNORE_MOUNT_CHECK_ERRORS` | See [System Integrity](/administration/system-integrity) | | server | api, microservices |
|
||||
|
||||
\*1: `TZ` should be set to a `TZ identifier` from [this list][tz-list]. For example, `TZ="Etc/UTC"`.
|
||||
`TZ` is used by `exiftool` as a fallback in case the timezone cannot be determined from the image metadata. It is also used for logfile timestamps and cron job execution.
|
||||
|
|
@ -57,7 +57,7 @@ These environment variables are used by the `docker-compose.yml` file and do **N
|
|||
| `IMMICH_WORKERS_EXCLUDE` | Do not run these workers. Matches against default workers, or `IMMICH_WORKERS_INCLUDE` if specified. | | server |
|
||||
|
||||
:::info
|
||||
Information on the current workers can be found [here](/docs/administration/jobs-workers).
|
||||
Information on the current workers can be found [here](/administration/jobs-workers).
|
||||
:::
|
||||
|
||||
## Ports
|
||||
|
|
@ -169,8 +169,6 @@ Redis (Sentinel) URL example JSON before encoding:
|
|||
| `MACHINE_LEARNING_ANN_TUNING_LEVEL` | ARM-NN GPU tuning level (1: rapid, 2: normal, 3: exhaustive) | `2` | machine learning |
|
||||
| `MACHINE_LEARNING_DEVICE_IDS`<sup>\*4</sup> | Device IDs to use in multi-GPU environments | `0` | machine learning |
|
||||
| `MACHINE_LEARNING_MAX_BATCH_SIZE__FACIAL_RECOGNITION` | Set the maximum number of faces that will be processed at once by the facial recognition model | None (`1` if using OpenVINO) | machine learning |
|
||||
| `MACHINE_LEARNING_PING_TIMEOUT` | How long (ms) to wait for a PING response when checking if an ML server is available | `2000` | server |
|
||||
| `MACHINE_LEARNING_AVAILABILITY_BACKOFF_TIME` | How long to ignore ML servers that are offline before trying again | `30000` | server |
|
||||
| `MACHINE_LEARNING_RKNN` | Enable RKNN hardware acceleration if supported | `True` | machine learning |
|
||||
| `MACHINE_LEARNING_RKNN_THREADS` | How many threads of RKNN runtime should be spinned up while inferencing. | `1` | machine learning |
|
||||
|
||||
|
|
|
|||
|
|
@ -45,5 +45,5 @@ alt="Dot Env Example"
|
|||
11. Click on "**Deploy the stack**".
|
||||
|
||||
:::tip
|
||||
For more information on how to use the application, please refer to the [Post Installation](/docs/install/post-install.mdx) guide.
|
||||
For more information on how to use the application, please refer to the [Post Installation](/install/post-install.mdx) guide.
|
||||
:::
|
||||
|
|
|
|||
|
|
@ -44,6 +44,6 @@ A list of common steps to take after installing Immich include:
|
|||
|
||||
## Setting up optional features
|
||||
|
||||
- [External Libraries](/docs/features/libraries.md): Adding your existing photo library to Immich
|
||||
- [Hardware Transcoding](/docs/features/hardware-transcoding.md): Speeding up video transcoding
|
||||
- [Hardware-Accelerated Machine Learning](/docs/features/ml-hardware-acceleration.md): Speeding up various machine learning tasks in Immich
|
||||
- [External Libraries](/features/libraries.md): Adding your existing photo library to Immich
|
||||
- [Hardware Transcoding](/features/hardware-transcoding.md): Speeding up video transcoding
|
||||
- [Hardware-Accelerated Machine Learning](/features/ml-hardware-acceleration.md): Speeding up various machine learning tasks in Immich
|
||||
|
|
|
|||
|
|
@ -5,12 +5,12 @@ sidebar_position: 20
|
|||
# Install script [Experimental]
|
||||
|
||||
:::caution
|
||||
This method is experimental and not currently recommended for production use. For production, please refer to installing with [Docker Compose](/docs/install/docker-compose.mdx).
|
||||
This method is experimental and not currently recommended for production use. For production, please refer to installing with [Docker Compose](/install/docker-compose.mdx).
|
||||
:::
|
||||
|
||||
## Requirements
|
||||
|
||||
Follow the [requirements page](/docs/install/requirements) to get started.
|
||||
Follow the [requirements page](/install/requirements) to get started.
|
||||
|
||||
The install script only supports Linux operating systems and requires Docker to be already installed on the system.
|
||||
|
||||
|
|
@ -32,5 +32,5 @@ The web application and mobile app will be available at `http://<machine-ip-addr
|
|||
The directory which is used to store the library files is `./immich-app` relative to the current directory.
|
||||
|
||||
:::tip
|
||||
For common next steps, see [Post Install Steps](/docs/install/post-install.mdx).
|
||||
For common next steps, see [Post Install Steps](/install/post-install.mdx).
|
||||
:::
|
||||
|
|
|
|||
|
|
@ -29,7 +29,7 @@ Download [`docker-compose.yml`](https://github.com/immich-app/immich/releases/la
|
|||
|
||||
## Step 2 - Populate the .env file with custom values
|
||||
|
||||
Follow [Step 2 in Docker Compose](/docs/install/docker-compose#step-2---populate-the-env-file-with-custom-values) for instructions on customizing the `.env` file, and then return back to this guide to continue.
|
||||
Follow [Step 2 in Docker Compose](/install/docker-compose#step-2---populate-the-env-file-with-custom-values) for instructions on customizing the `.env` file, and then return back to this guide to continue.
|
||||
|
||||
## Step 3 - Create a new project in Container Manager
|
||||
|
||||
|
|
@ -67,4 +67,4 @@ Click "**Edit Rules**" and add the following firewall rules:
|
|||
|
||||
## Next Steps
|
||||
|
||||
Read the [Post Installation](/docs/install/post-install.mdx) steps and [upgrade instructions](/docs/install/upgrading.md).
|
||||
Read the [Post Installation](/install/post-install.mdx) steps and [upgrade instructions](/install/upgrading.md).
|
||||
|
|
|
|||
|
|
@ -60,13 +60,13 @@ For an easy setup:
|
|||
:::tip
|
||||
To improve performance, Immich recommends using SSDs for the database. If you have a pool made of SSDs, you can create the `pgData` dataset on that pool.
|
||||
|
||||
Thumbnails can also be stored on the SSDs for faster access. This is an advanced option and not required for Immich to run. More information on how you can use multiple datasets to manage Immich storage in a finer-grained manner can be found in the [Advanced: Multiple Datasets for Immich Storage](#advanced-multiple-datasets-for-immich-storage) section below.
|
||||
Thumbnails can also be stored on the SSDs for faster access. This is an advanced option and not required for Immich to run. More information on how you can use multiple datasets to manage Immich storage in a finer-grained manner can be found in the [Additional Storage: Multiple Datasets for Immich Storage](#additional-storage-advanced-users) section below.
|
||||
:::
|
||||
|
||||
:::warning
|
||||
If you just created the datasets using the **Apps** preset, you can skip this warning section.
|
||||
|
||||
If the **data** dataset uses ACL it must have [ACL mode](https://www.truenas.com/docs/scale/scaletutorials/datasets/permissionsscale/) set to `Passthrough` if you plan on using a [storage template](/docs/administration/storage-template.mdx) and the dataset is configured for network sharing (its ACL type is set to `SMB/NFSv4`). When the template is applied and files need to be moved from **upload** to **library** (internal folder created by Immich within the **data** dataset), Immich performs `chmod` internally and must be allowed to execute the command. [More info.](https://github.com/immich-app/immich/pull/13017)
|
||||
If the **data** dataset uses ACL it must have [ACL mode](https://www.truenas.com/docs/scale/scaletutorials/datasets/permissionsscale/) set to `Passthrough` if you plan on using a [storage template](/administration/storage-template.mdx) and the dataset is configured for network sharing (its ACL type is set to `SMB/NFSv4`). When the template is applied and files need to be moved from **upload** to **library** (internal folder created by Immich within the **data** dataset), Immich performs `chmod` internally and must be allowed to execute the command. [More info.](https://github.com/immich-app/immich/pull/13017)
|
||||
|
||||
To change or verify the ACL mode, go to the **Datasets** screen, select the **library** dataset, click on the **Edit** button next to **Dataset Details**, then click on the **Advanced Options** tab, scroll down to the **ACL Mode** section, and select `Passthrough` from the dropdown menu. Click **Save** to apply the changes. If the option is greyed out, set the **ACL Type** to `SMB/NFSv4` first, then you can change the **ACL Mode** to `Passthrough`.
|
||||
:::
|
||||
|
|
@ -129,7 +129,7 @@ The **Timezone** is set to the system default, which usually matches your local
|
|||
|
||||
**Enable Machine Learning** is enabled by default. It allows Immich to use machine learning features such as face recognition, image search, and smart duplicate detection. Untick this option if you do not want to use these features.
|
||||
|
||||
Select the **Machine Learning Image Type** based on the hardware you have. More details here: [Hardware-Accelerated Machine Learning](/docs/features/ml-hardware-acceleration.md)
|
||||
Select the **Machine Learning Image Type** based on the hardware you have. More details here: [Hardware-Accelerated Machine Learning](/features/ml-hardware-acceleration.md)
|
||||
|
||||
**Database Password** should be set to a custom value using only the characters `A-Za-z0-9`. This password is used to secure the Postgres database.
|
||||
|
||||
|
|
@ -156,7 +156,7 @@ className="border rounded-xl"
|
|||
/>
|
||||
|
||||
These are used to add custom configuration options or to enable specific features.
|
||||
More information on available environment variables can be found in the **[environment variables documentation](/docs/install/environment-variables/)**.
|
||||
More information on available environment variables can be found in the **[environment variables documentation](/install/environment-variables/)**.
|
||||
|
||||
:::info
|
||||
Some environment variables are not available for the TrueNAS Community Edition app as they can be configured through GUI options in the [Edit Immich screen](#edit-app-settings).
|
||||
|
|
@ -242,7 +242,7 @@ alt="Add External Libraries with Additional Storage"
|
|||
className="border rounded-xl"
|
||||
/>
|
||||
|
||||
You may configure [external libraries](/docs/features/libraries) by mounting them using **Additional Storage**.
|
||||
You may configure [external libraries](/features/libraries) by mounting them using **Additional Storage**.
|
||||
|
||||
The dataset that contains your external library files must at least give **read** access to the user running Immich (Default: `apps` (UID 568), `apps` (GID 568)).
|
||||
If you want to be able to delete files or edit metadata in the external library using Immich, you will need to give the **modify** permission to the user running Immich.
|
||||
|
|
@ -266,7 +266,7 @@ A general recommendation is to mount any external libraries to a path beginning
|
|||
This feature should only be used by advanced users.
|
||||
:::
|
||||
|
||||
Immich can use multiple datasets for its storage, allowing you to manage your data more granularly, similar to the old storage configuration. This is useful if you want to separate your data into different datasets for performance or organizational reasons. There is a general guide for this [here](/docs/guides/custom-locations), but read on for the TrueNAS guide.
|
||||
Immich can use multiple datasets for its storage, allowing you to manage your data more granularly, similar to the old storage configuration. This is useful if you want to separate your data into different datasets for performance or organizational reasons. There is a general guide for this [here](/guides/custom-locations), but read on for the TrueNAS guide.
|
||||
|
||||
Each additional dataset has to give the permission **_modify_** to the user who will run Immich (Default: `apps` (UID 568), `apps` (GID 568))
|
||||
As described in the [Setting up Storage Datasets](#setting-up-storage-datasets) section above, you have to create the datasets with the **Apps** preset to ensure the correct permissions are set, or you can set the permissions manually after creating the datasets.
|
||||
|
|
@ -309,7 +309,7 @@ className="border rounded-xl"
|
|||
|
||||
Both **CPU** and **Memory** are limits, not reservations. This means that Immich can use up to the specified amount of CPU threads and RAM, but it will not reserve that amount of resources at all times. The system will allocate resources as needed, and Immich will use less than the specified amount most of the time.
|
||||
|
||||
- Enable **GPU Configuration** options if you have a GPU or CPU with integrated graphics that you will use for [Hardware Transcoding](/docs/features/hardware-transcoding) and/or [Hardware-Accelerated Machine Learning](/docs/features/ml-hardware-acceleration.md).
|
||||
- Enable **GPU Configuration** options if you have a GPU or CPU with integrated graphics that you will use for [Hardware Transcoding](/features/hardware-transcoding) and/or [Hardware-Accelerated Machine Learning](/features/ml-hardware-acceleration.md).
|
||||
|
||||
The process for NVIDIA GPU passthrough requires additional steps.
|
||||
More details here: [GPU Passthrough Docs for TrueNAS Apps](https://apps.truenas.com/managing-apps/installing-apps/#gpu-passthrough)
|
||||
|
|
@ -332,7 +332,7 @@ Click **Web Portal** on the **Application Info** widget, or go to the URL `http:
|
|||
After that, you can start using Immich to upload and manage your photos and videos.
|
||||
|
||||
:::tip
|
||||
For more information on how to use the application once installed, please refer to the [Post Install](/docs/install/post-install.mdx) guide.
|
||||
For more information on how to use the application once installed, please refer to the [Post Install](/install/post-install.mdx) guide.
|
||||
:::
|
||||
|
||||
## Edit App Settings
|
||||
|
|
@ -347,7 +347,7 @@ For more information on how to use the application once installed, please refer
|
|||
## Updating the App
|
||||
|
||||
:::danger
|
||||
Make sure to read the general [upgrade instructions](/docs/install/upgrading.md).
|
||||
Make sure to read the general [upgrade instructions](/install/upgrading.md).
|
||||
:::
|
||||
|
||||
When updates become available, TrueNAS alerts and provides easy updates.
|
||||
|
|
|
|||
|
|
@ -125,13 +125,13 @@ alt="Go to Docker Tab and visit the address listed next to immich-web"
|
|||
</details>
|
||||
|
||||
:::tip
|
||||
For more information on how to use the application once installed, please refer to the [Post Install](/docs/install/post-install.mdx) guide.
|
||||
For more information on how to use the application once installed, please refer to the [Post Install](/install/post-install.mdx) guide.
|
||||
:::
|
||||
|
||||
## Updating Steps
|
||||
|
||||
:::danger
|
||||
Make sure to read the general [upgrade instructions](/docs/install/upgrading.md).
|
||||
Make sure to read the general [upgrade instructions](/install/upgrading.md).
|
||||
:::
|
||||
|
||||
Updating is extremely easy however it's important to be aware that containers managed via the Docker Compose Manager plugin do not integrate with Unraid's native dockerman UI, the label "_update ready_" will always be present on containers installed via the Docker Compose Manager.
|
||||
|
|
|
|||
|
|
@ -40,7 +40,7 @@ If you do not deploy Immich using Docker Compose and see a deprecation warning f
|
|||
|
||||
Immich has migrated off of the deprecated pgvecto.rs database extension to its successor, [VectorChord](https://github.com/tensorchord/VectorChord), which comes with performance improvements in almost every aspect. This section will guide you on how to make this change in a Docker Compose setup.
|
||||
|
||||
Before making any changes, please [back up your database](/docs/administration/backup-and-restore). While every effort has been made to make this migration as smooth as possible, there’s always a chance that something can go wrong.
|
||||
Before making any changes, please [back up your database](/administration/backup-and-restore). While every effort has been made to make this migration as smooth as possible, there’s always a chance that something can go wrong.
|
||||
|
||||
After making a backup, please modify your `docker-compose.yml` file with the following information.
|
||||
|
||||
|
|
@ -101,7 +101,7 @@ Please don’t hesitate to contact us on [GitHub](https://github.com/immich-app/
|
|||
|
||||
#### I have a separate PostgreSQL instance shared with multiple services. How can I switch to VectorChord?
|
||||
|
||||
Please see the [standalone PostgreSQL documentation](/docs/administration/postgres-standalone#migrating-to-vectorchord) for migration instructions. The migration path will be different depending on whether you’re currently using pgvecto.rs or pgvector, as well as whether Immich has superuser DB permissions.
|
||||
Please see the [standalone PostgreSQL documentation](/administration/postgres-standalone#migrating-to-vectorchord) for migration instructions. The migration path will be different depending on whether you’re currently using pgvecto.rs or pgvector, as well as whether Immich has superuser DB permissions.
|
||||
|
||||
#### Why are so many lines removed from the `docker-compose.yml` file? Does this mean the health check is removed?
|
||||
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@ sidebar_position: 6
|
|||
|
||||
Running into an issue or have a question? Try the following:
|
||||
|
||||
1. Check the [FAQs](/docs/FAQ.mdx).
|
||||
1. Check the [FAQs](/FAQ.mdx).
|
||||
2. Read through the [Release Notes][github-releases].
|
||||
3. Search through existing [GitHub Issues][github-issues].
|
||||
4. Open a help ticket on [Discord][discord-link].
|
||||
|
|
|
|||
Binary file not shown.
|
Before Width: | Height: | Size: 233 KiB |
|
|
@ -13,7 +13,7 @@ to install and use it.
|
|||
- A system with at least 4GB of RAM and 2 CPU cores.
|
||||
- [Docker](https://docs.docker.com/engine/install/)
|
||||
|
||||
> For a more detailed list of requirements, see the [requirements page](/docs/install/requirements).
|
||||
> For a more detailed list of requirements, see the [requirements page](/install/requirements).
|
||||
|
||||
---
|
||||
|
||||
|
|
@ -61,7 +61,7 @@ import MobileAppBackup from '/docs/partials/_mobile-app-backup.md';
|
|||
|
||||
The backup time differs depending on how many photos are on your mobile device. Large uploads may
|
||||
take quite a while.
|
||||
To quickly get going, you can selectively upload few photos first, by following this [guide](/docs/features/mobile-app#sync-only-selected-photos).
|
||||
To quickly get going, you can selectively upload few photos first, by following this [guide](/features/mobile-app#sync-only-selected-photos).
|
||||
|
||||
You can select the **Jobs** tab to see Immich processing your photos.
|
||||
|
||||
|
|
@ -72,7 +72,7 @@ You can select the **Jobs** tab to see Immich processing your photos.
|
|||
## Review the database backup and restore process
|
||||
|
||||
Immich has built-in database backups. You can refer to the
|
||||
[database backup](/docs/administration/backup-and-restore) for more information.
|
||||
[database backup](/administration/backup-and-restore) for more information.
|
||||
|
||||
:::danger
|
||||
The database only contains metadata and user information. You must setup manual backups of the images and videos stored in `UPLOAD_LOCATION`.
|
||||
|
|
@ -86,8 +86,8 @@ You may decide you'd like to install the server a different way; the Install cat
|
|||
|
||||
You may decide you'd like to add the _rest_ of your photos from Google Photos, even those not on your mobile device, via Google Takeout. You can use [immich-go](https://github.com/simulot/immich-go) for this.
|
||||
|
||||
You may want to [upload photos from your own archive](/docs/features/command-line-interface).
|
||||
You may want to [upload photos from your own archive](/features/command-line-interface).
|
||||
|
||||
You may want to incorporate a pre-existing archive of photos from an [External Library](/docs/features/libraries); there's a [guide](/docs/guides/external-library) for that.
|
||||
You may want to incorporate a pre-existing archive of photos from an [External Library](/features/libraries); there's a [guide](/guides/external-library) for that.
|
||||
|
||||
You may want your mobile device to [back photos up to your server automatically](/docs/features/automatic-backup).
|
||||
You may want your mobile device to [back photos up to your server automatically](/features/automatic-backup).
|
||||
|
|
|
|||
|
|
@ -10,11 +10,11 @@ By far the easiest way to help make Immich better it to use it and report issues
|
|||
|
||||
## Translations
|
||||
|
||||
Support the project by localizing on [Weblate](https://hosted.weblate.org/projects/immich/immich/). For more information, see the [Translations](/docs/developer/translations) section.
|
||||
Support the project by localizing on [Weblate](https://hosted.weblate.org/projects/immich/immich/). For more information, see the [Translations](/developer/translations) section.
|
||||
|
||||
## Development
|
||||
|
||||
If you are a programmer or developer, take a look at Immich's [technology stack](/docs/developer/architecture.mdx) and consider fixing bugs or building new features. The team and I are always looking for new contributors. For information about how to contribute as a developer, see the [Developer](/docs/developer/architecture.mdx) section.
|
||||
If you are a programmer or developer, take a look at Immich's [technology stack](/developer/architecture.mdx) and consider fixing bugs or building new features. The team and I are always looking for new contributors. For information about how to contribute as a developer, see the [Developer](/developer/architecture.mdx) section.
|
||||
|
||||
## Purchase Immich
|
||||
|
||||
|
|
|
|||
|
|
@ -1,27 +0,0 @@
|
|||
---
|
||||
sidebar_position: 1
|
||||
---
|
||||
|
||||
# Welcome to Immich
|
||||
|
||||
<img
|
||||
src={require('./img/social-preview-light.webp').default}
|
||||
alt="Immich - Self-hosted photos and videos backup tool"
|
||||
data-theme="light"
|
||||
/>
|
||||
|
||||
## Welcome!
|
||||
|
||||
Hello, I am glad you are here.
|
||||
|
||||
My name is Alex. I am an Electrical Engineer by schooling, then turned into a Software Engineer by trade and the pure love of problem solving.
|
||||
|
||||
We were lying in bed with our newborn, and my wife said, "We are starting to accumulate a lot of photos and videos of our baby, and I don't want to pay for **_App-Which-Must-Not-Be-Named_** anymore. You always want to build something for me, so why don't you build me an app which can do that?"
|
||||
|
||||
That was how the idea started to grow in my head. After that, I began to find existing solutions in the self-hosting space with similar backup functionality and the performance level of the **_App-Which-Must-Not-Be-Named_**. I found that the current solutions mainly focus on the gallery-type application. However, I want a simple-to-use backup tool with a native mobile app that can view photos and videos efficiently. So I set sail on this journey as a hungry engineer on the hunt.
|
||||
|
||||
Another motivation that pushed me to deliver my execution of the **_App-Which-Must-Not-Be-Named_** alternative or replacement is for contributing back to the open source community that I have greatly benefited from over the years.
|
||||
|
||||
I'm proud to share this creation with you, which values privacy, memories, and the joy of looking back at those moments in an easy-to-use and friendly interface.
|
||||
|
||||
If you like the application or it helps you in some way, please consider [supporting](./support-the-project.md) the project. It will help me to continue to develop and maintain the application.
|
||||
|
|
@ -1,5 +1,5 @@
|
|||
Now that you have imported some pictures, you should setup server backups to preserve your memories.
|
||||
You can do so by following our [backup guide](/docs/administration/backup-and-restore.md).
|
||||
You can do so by following our [backup guide](/administration/backup-and-restore.md).
|
||||
|
||||
:::danger
|
||||
Immich is still under heavy development _and_ handles very important data.
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
Immich allows the admin user to set the uploaded filename pattern at the directory and filename level as well as the [storage label for a user](/docs/administration/user-management/#set-storage-label-for-user).
|
||||
Immich allows the admin user to set the uploaded filename pattern at the directory and filename level as well as the [storage label for a user](/administration/user-management/#set-storage-label-for-user).
|
||||
|
||||
:::tip
|
||||
You can read more about the differences between storage template engine on and off [here](/docs/administration/backup-and-restore#asset-types-and-storage-locations)
|
||||
You can read more about the differences between storage template engine on and off [here](/administration/backup-and-restore#asset-types-and-storage-locations)
|
||||
:::
|
||||
|
||||
The admin user can set the template by using the template builder in the `Administration -> Settings -> Storage Template`. Immich provides a set of variables that you can use in constructing the template, along with additional custom text. If the template produces [multiple files with the same filename, they won't be overwritten](https://github.com/immich-app/immich/discussions/3324) as a sequence number is appended to the filename.
|
||||
|
|
|
|||
|
|
@ -42,26 +42,19 @@ const config = {
|
|||
],
|
||||
presets: [
|
||||
[
|
||||
'docusaurus-preset-openapi',
|
||||
/** @type {import('docusaurus-preset-openapi').Options} */
|
||||
'classic',
|
||||
/** @type {import('@docusaurus/preset-classic').Options} */
|
||||
({
|
||||
docs: {
|
||||
showLastUpdateAuthor: true,
|
||||
showLastUpdateTime: true,
|
||||
routeBasePath: '/',
|
||||
|
||||
sidebarPath: require.resolve('./sidebars.js'),
|
||||
// Please change this to your repo.
|
||||
// Remove this to remove the "edit this page" links.
|
||||
editUrl: 'https://github.com/immich-app/immich/tree/main/docs/',
|
||||
},
|
||||
api: {
|
||||
path: '../open-api/immich-openapi-specs.json',
|
||||
routeBasePath: '/docs/api',
|
||||
},
|
||||
// blog: {
|
||||
// showReadingTime: true,
|
||||
// editUrl: "https://github.com/immich-app/immich/tree/main/docs/",
|
||||
// },
|
||||
theme: {
|
||||
customCss: require.resolve('./src/css/custom.css'),
|
||||
},
|
||||
|
|
@ -95,17 +88,17 @@ const config = {
|
|||
position: 'right',
|
||||
},
|
||||
{
|
||||
to: '/docs/overview/welcome',
|
||||
to: '/overview/quick-start',
|
||||
position: 'right',
|
||||
label: 'Docs',
|
||||
},
|
||||
{
|
||||
to: '/roadmap',
|
||||
href: 'https://immich.app/roadmap',
|
||||
position: 'right',
|
||||
label: 'Roadmap',
|
||||
},
|
||||
{
|
||||
to: '/docs/api',
|
||||
href: 'https://api.immich.app/',
|
||||
position: 'right',
|
||||
label: 'API',
|
||||
},
|
||||
|
|
@ -139,16 +132,16 @@ const config = {
|
|||
title: 'Overview',
|
||||
items: [
|
||||
{
|
||||
label: 'Welcome',
|
||||
to: '/docs/overview/welcome',
|
||||
label: 'Quick start',
|
||||
to: '/overview/quick-start',
|
||||
},
|
||||
{
|
||||
label: 'Installation',
|
||||
to: '/docs/install/requirements',
|
||||
to: '/install/requirements',
|
||||
},
|
||||
{
|
||||
label: 'Contributing',
|
||||
to: '/docs/overview/support-the-project',
|
||||
to: '/overview/support-the-project',
|
||||
},
|
||||
{
|
||||
label: 'Privacy Policy',
|
||||
|
|
@ -161,15 +154,15 @@ const config = {
|
|||
items: [
|
||||
{
|
||||
label: 'Roadmap',
|
||||
to: '/roadmap',
|
||||
href: 'https://immich.app/roadmap',
|
||||
},
|
||||
{
|
||||
label: 'API',
|
||||
to: '/docs/api',
|
||||
href: 'https://api.immich.app/',
|
||||
},
|
||||
{
|
||||
label: 'Cursed Knowledge',
|
||||
to: '/cursed-knowledge',
|
||||
href: 'https://immich.app/cursed-knowledge',
|
||||
},
|
||||
],
|
||||
},
|
||||
|
|
|
|||
|
|
@ -25,7 +25,6 @@
|
|||
"@mdx-js/react": "^3.0.0",
|
||||
"autoprefixer": "^10.4.17",
|
||||
"docusaurus-lunr-search": "^3.3.2",
|
||||
"docusaurus-preset-openapi": "^0.7.5",
|
||||
"lunr": "^2.3.9",
|
||||
"postcss": "^8.4.25",
|
||||
"prism-react-renderer": "^2.3.1",
|
||||
|
|
|
|||
|
|
@ -11,7 +11,7 @@ export default function VersionSwitcher(): JSX.Element {
|
|||
useEffect(() => {
|
||||
async function getVersions() {
|
||||
try {
|
||||
let baseUrl = 'https://immich.app';
|
||||
let baseUrl = 'https://docs.immich.app';
|
||||
if (window.location.origin === 'http://localhost:3005') {
|
||||
baseUrl = window.location.origin;
|
||||
}
|
||||
|
|
@ -21,12 +21,13 @@ export default function VersionSwitcher(): JSX.Element {
|
|||
const archiveVersions = await response.json();
|
||||
|
||||
const allVersions = [
|
||||
{ label: 'Next', url: 'https://main.preview.immich.app' },
|
||||
{ label: 'Latest', url: 'https://immich.app' },
|
||||
{ label: 'Next', url: 'https://docs.main.preview.immich.app' },
|
||||
{ label: 'Latest', url: 'https://docs.immich.app' },
|
||||
...archiveVersions,
|
||||
].map(({ label, url }) => ({
|
||||
].map(({ label, url, rootPath }) => ({
|
||||
label,
|
||||
url: new URL(url),
|
||||
rootPath,
|
||||
}));
|
||||
setVersions(allVersions);
|
||||
|
||||
|
|
@ -50,12 +51,18 @@ export default function VersionSwitcher(): JSX.Element {
|
|||
className="version-switcher-34ab39"
|
||||
label={activeLabel}
|
||||
mobile={windowSize === 'mobile'}
|
||||
items={versions.map(({ label, url }) => ({
|
||||
label,
|
||||
to: new URL(location.pathname + location.search + location.hash, url).href,
|
||||
target: '_self',
|
||||
className: label === activeLabel ? 'dropdown__link--active menu__link--active' : '', // workaround because React Router `<NavLink>` only supports using URL path for checking if active: https://v5.reactrouter.com/web/api/NavLink/isactive-func
|
||||
}))}
|
||||
items={versions.map(({ label, url, rootPath }) => {
|
||||
let path = location.pathname + location.search + location.hash;
|
||||
if (rootPath && !path.startsWith(rootPath)) {
|
||||
path = rootPath + path;
|
||||
}
|
||||
return {
|
||||
label,
|
||||
to: new URL(path, url).href,
|
||||
target: '_self',
|
||||
className: label === activeLabel ? 'dropdown__link--active menu__link--active' : '', // workaround because React Router `<NavLink>` only supports using URL path for checking if active: https://v5.reactrouter.com/web/api/NavLink/isactive-func
|
||||
};
|
||||
})}
|
||||
/>
|
||||
)
|
||||
);
|
||||
|
|
|
|||
|
|
@ -1,273 +0,0 @@
|
|||
import {
|
||||
mdiBug,
|
||||
mdiCalendarToday,
|
||||
mdiCrosshairsOff,
|
||||
mdiCrop,
|
||||
mdiDatabase,
|
||||
mdiLeadPencil,
|
||||
mdiLockOff,
|
||||
mdiLockOutline,
|
||||
mdiMicrosoftWindows,
|
||||
mdiSecurity,
|
||||
mdiSpeedometerSlow,
|
||||
mdiTrashCan,
|
||||
mdiWeb,
|
||||
mdiWrap,
|
||||
mdiCloudKeyOutline,
|
||||
mdiRegex,
|
||||
mdiCodeJson,
|
||||
mdiClockOutline,
|
||||
mdiAccountOutline,
|
||||
mdiRestart,
|
||||
} from '@mdi/js';
|
||||
import Layout from '@theme/Layout';
|
||||
import React from 'react';
|
||||
import { Timeline, Item as TimelineItem } from '../components/timeline';
|
||||
|
||||
const withLanguage = (date: Date) => (language: string) => date.toLocaleDateString(language);
|
||||
|
||||
type Item = Omit<TimelineItem, 'done' | 'getDateLabel'> & { date: Date };
|
||||
|
||||
const items: Item[] = [
|
||||
{
|
||||
icon: mdiClockOutline,
|
||||
iconColor: 'gray',
|
||||
title: 'setTimeout is cursed',
|
||||
description:
|
||||
'The setTimeout method in JavaScript is cursed when used with small values because the implementation may or may not actually wait the specified time.',
|
||||
link: {
|
||||
url: 'https://github.com/immich-app/immich/pull/20655',
|
||||
text: '#20655',
|
||||
},
|
||||
date: new Date(2025, 7, 4),
|
||||
},
|
||||
{
|
||||
icon: mdiAccountOutline,
|
||||
iconColor: '#DAB1DA',
|
||||
title: 'PostgreSQL USER is cursed',
|
||||
description:
|
||||
'The USER keyword in PostgreSQL is cursed because you can select from it like a table, which leads to confusion if you have a table name user as well.',
|
||||
link: {
|
||||
url: 'https://github.com/immich-app/immich/pull/19891',
|
||||
text: '#19891',
|
||||
},
|
||||
date: new Date(2025, 7, 4),
|
||||
},
|
||||
{
|
||||
icon: mdiRestart,
|
||||
iconColor: '#8395e3',
|
||||
title: 'PostgreSQL RESET is cursed',
|
||||
description:
|
||||
'PostgreSQL RESET is cursed because it is impossible to RESET a PostgreSQL extension parameter if the extension has been uninstalled.',
|
||||
link: {
|
||||
url: 'https://github.com/immich-app/immich/pull/19363',
|
||||
text: '#19363',
|
||||
},
|
||||
date: new Date(2025, 5, 20),
|
||||
},
|
||||
{
|
||||
icon: mdiRegex,
|
||||
iconColor: 'purple',
|
||||
title: 'Zitadel Actions are cursed',
|
||||
description:
|
||||
"Zitadel is cursed because its custom scripting feature is executed with a JS engine that doesn't support regex named capture groups.",
|
||||
link: {
|
||||
url: 'https://github.com/dop251/goja',
|
||||
text: 'Go JS engine',
|
||||
},
|
||||
date: new Date(2025, 5, 4),
|
||||
},
|
||||
{
|
||||
icon: mdiCloudKeyOutline,
|
||||
iconColor: '#0078d4',
|
||||
title: 'Entra is cursed',
|
||||
description:
|
||||
"Microsoft Entra supports PKCE, but doesn't include it in its OpenID discovery document. This leads to clients thinking PKCE isn't available.",
|
||||
link: {
|
||||
url: 'https://github.com/immich-app/immich/pull/18725',
|
||||
text: '#18725',
|
||||
},
|
||||
date: new Date(2025, 4, 30),
|
||||
},
|
||||
{
|
||||
icon: mdiCrop,
|
||||
iconColor: 'tomato',
|
||||
title: 'Image dimensions in EXIF metadata are cursed',
|
||||
description:
|
||||
'The dimensions in EXIF metadata can be different from the actual dimensions of the image, causing issues with cropping and resizing.',
|
||||
link: {
|
||||
url: 'https://github.com/immich-app/immich/pull/17974',
|
||||
text: '#17974',
|
||||
},
|
||||
date: new Date(2025, 4, 5),
|
||||
},
|
||||
{
|
||||
icon: mdiCodeJson,
|
||||
iconColor: 'yellow',
|
||||
title: 'YAML whitespace is cursed',
|
||||
description: 'YAML whitespaces are often handled in unintuitive ways.',
|
||||
link: {
|
||||
url: 'https://github.com/immich-app/immich/pull/17309',
|
||||
text: '#17309',
|
||||
},
|
||||
date: new Date(2025, 3, 1),
|
||||
},
|
||||
{
|
||||
icon: mdiMicrosoftWindows,
|
||||
iconColor: '#357EC7',
|
||||
title: 'Hidden files in Windows are cursed',
|
||||
description:
|
||||
'Hidden files in Windows cannot be opened with the "w" flag. That, combined with SMB option "hide dot files" leads to a lot of confusion.',
|
||||
link: {
|
||||
url: 'https://github.com/immich-app/immich/pull/12812',
|
||||
text: '#12812',
|
||||
},
|
||||
date: new Date(2024, 8, 20),
|
||||
},
|
||||
{
|
||||
icon: mdiWrap,
|
||||
iconColor: 'gray',
|
||||
title: 'Carriage returns in bash scripts are cursed',
|
||||
description: 'Git can be configured to automatically convert LF to CRLF on checkout and CRLF breaks bash scripts.',
|
||||
link: {
|
||||
url: 'https://github.com/immich-app/immich/pull/11613',
|
||||
text: '#11613',
|
||||
},
|
||||
date: new Date(2024, 7, 7),
|
||||
},
|
||||
{
|
||||
icon: mdiLockOff,
|
||||
iconColor: 'red',
|
||||
title: 'Fetch inside Cloudflare Workers is cursed',
|
||||
description:
|
||||
'Fetch requests in Cloudflare Workers use http by default, even if you explicitly specify https, which can often cause redirect loops.',
|
||||
link: {
|
||||
url: 'https://community.cloudflare.com/t/does-cloudflare-worker-allow-secure-https-connection-to-fetch-even-on-flexible-ssl/68051/5',
|
||||
text: 'Cloudflare',
|
||||
},
|
||||
date: new Date(2024, 7, 7),
|
||||
},
|
||||
{
|
||||
icon: mdiCrosshairsOff,
|
||||
iconColor: 'gray',
|
||||
title: 'GPS sharing on mobile is cursed',
|
||||
description:
|
||||
'Some phones will silently strip GPS data from images when apps without location permission try to access them.',
|
||||
link: {
|
||||
url: 'https://github.com/immich-app/immich/discussions/11268',
|
||||
text: '#11268',
|
||||
},
|
||||
date: new Date(2024, 6, 21),
|
||||
},
|
||||
{
|
||||
icon: mdiLeadPencil,
|
||||
iconColor: 'gold',
|
||||
title: 'PostgreSQL NOTIFY is cursed',
|
||||
description:
|
||||
'PostgreSQL does everything in a transaction, including NOTIFY. This means using the socket.io postgres-adapter writes to WAL every 5 seconds.',
|
||||
link: { url: 'https://github.com/immich-app/immich/pull/10801', text: '#10801' },
|
||||
date: new Date(2024, 6, 3),
|
||||
},
|
||||
{
|
||||
icon: mdiWeb,
|
||||
iconColor: 'lightskyblue',
|
||||
title: 'npm scripts are cursed',
|
||||
description:
|
||||
'npm scripts make a http call to the npm registry each time they run, which means they are a terrible way to execute a health check.',
|
||||
link: { url: 'https://github.com/immich-app/immich/issues/10796', text: '#10796' },
|
||||
date: new Date(2024, 6, 3),
|
||||
},
|
||||
{
|
||||
icon: mdiSpeedometerSlow,
|
||||
iconColor: 'brown',
|
||||
title: '50 extra packages are cursed',
|
||||
description:
|
||||
'There is a user in the JavaScript community who goes around adding "backwards compatibility" to projects. They do this by adding 50 extra package dependencies to your project, which are maintained by them.',
|
||||
link: { url: 'https://github.com/immich-app/immich/pull/10690', text: '#10690' },
|
||||
date: new Date(2024, 5, 28),
|
||||
},
|
||||
{
|
||||
icon: mdiLockOutline,
|
||||
iconColor: 'gold',
|
||||
title: 'Long passwords are cursed',
|
||||
description:
|
||||
'The bcrypt implementation only uses the first 72 bytes of a string. Any characters after that are ignored.',
|
||||
// link: GHSA-4p64-9f7h-3432
|
||||
date: new Date(2024, 5, 25),
|
||||
},
|
||||
{
|
||||
icon: mdiCalendarToday,
|
||||
iconColor: 'greenyellow',
|
||||
title: 'JavaScript Date objects are cursed',
|
||||
description: 'JavaScript date objects are 1 indexed for years and days, but 0 indexed for months.',
|
||||
link: { url: 'https://github.com/immich-app/immich/pull/6787', text: '#6787' },
|
||||
date: new Date(2024, 0, 31),
|
||||
},
|
||||
{
|
||||
icon: mdiBug,
|
||||
iconColor: 'green',
|
||||
title: 'ESM imports are cursed',
|
||||
description:
|
||||
'Prior to Node.js v20.8 using --experimental-vm-modules in a CommonJS project that imported an ES module that imported a CommonJS modules would create a segfault and crash Node.js',
|
||||
link: {
|
||||
url: 'https://github.com/immich-app/immich/pull/6719',
|
||||
text: '#6179',
|
||||
},
|
||||
date: new Date(2024, 0, 9),
|
||||
},
|
||||
{
|
||||
icon: mdiDatabase,
|
||||
iconColor: 'gray',
|
||||
title: 'PostgreSQL parameters are cursed',
|
||||
description: `PostgresSQL has a limit of ${Number(65535).toLocaleString()} parameters, so bulk inserts can fail with large datasets.`,
|
||||
link: {
|
||||
url: 'https://github.com/immich-app/immich/pull/6034',
|
||||
text: '#6034',
|
||||
},
|
||||
date: new Date(2023, 11, 28),
|
||||
},
|
||||
{
|
||||
icon: mdiSecurity,
|
||||
iconColor: 'gold',
|
||||
title: 'Secure contexts are cursed',
|
||||
description: `Some web features like the clipboard API only work in "secure contexts" (ie. https or localhost)`,
|
||||
link: {
|
||||
url: 'https://github.com/immich-app/immich/issues/2981',
|
||||
text: '#2981',
|
||||
},
|
||||
date: new Date(2023, 5, 26),
|
||||
},
|
||||
{
|
||||
icon: mdiTrashCan,
|
||||
iconColor: 'gray',
|
||||
title: 'TypeORM deletes are cursed',
|
||||
description: `The remove implementation in TypeORM mutates the input, deleting the id property from the original object.`,
|
||||
link: {
|
||||
url: 'https://github.com/typeorm/typeorm/issues/7024#issuecomment-948519328',
|
||||
text: 'typeorm#6034',
|
||||
},
|
||||
date: new Date(2023, 1, 23),
|
||||
},
|
||||
];
|
||||
|
||||
export default function CursedKnowledgePage(): JSX.Element {
|
||||
return (
|
||||
<Layout title="Cursed Knowledge" description="Things we wish we didn't know">
|
||||
<section className="my-8">
|
||||
<h1 className="md:text-6xl text-center mb-10 text-immich-primary dark:text-immich-dark-primary px-2">
|
||||
Cursed Knowledge
|
||||
</h1>
|
||||
<p className="text-center text-xl px-2">
|
||||
Cursed knowledge we have learned as a result of building Immich that we wish we never knew.
|
||||
</p>
|
||||
<div className="flex justify-around mt-8 w-full max-w-full">
|
||||
<Timeline
|
||||
items={items
|
||||
.sort((a, b) => b.date.getTime() - a.date.getTime())
|
||||
.map((item) => ({ ...item, getDateLabel: withLanguage(item.date) }))}
|
||||
/>
|
||||
</div>
|
||||
</section>
|
||||
</Layout>
|
||||
);
|
||||
}
|
||||
|
|
@ -1,123 +1,5 @@
|
|||
import React from 'react';
|
||||
import Link from '@docusaurus/Link';
|
||||
import Layout from '@theme/Layout';
|
||||
import { discordPath, discordViewBox } from '@site/src/components/svg-paths';
|
||||
import ThemedImage from '@theme/ThemedImage';
|
||||
import Icon from '@mdi/react';
|
||||
|
||||
function HomepageHeader() {
|
||||
return (
|
||||
<header>
|
||||
<div className="top-[calc(12%)] md:top-[calc(30%)] h-screen w-full absolute -z-10">
|
||||
<img src={'img/immich-logo.svg'} className="h-[110%] w-[110%] mb-2 antialiased -z-10" alt="Immich logo" />
|
||||
<div className="w-full h-[120vh] absolute left-0 top-0 backdrop-blur-3xl bg-immich-bg/40 dark:bg-transparent"></div>
|
||||
</div>
|
||||
<section className="text-center pt-12 sm:pt-24 bg-immich-bg/50 dark:bg-immich-dark-bg/80">
|
||||
<a href="https://futo.org" target="_blank" rel="noopener noreferrer">
|
||||
<ThemedImage
|
||||
sources={{ dark: 'img/logomark-dark-with-futo.svg', light: 'img/logomark-light-with-futo.svg' }}
|
||||
className="h-[125px] w-[125px] mb-2 antialiased rounded-none"
|
||||
alt="Immich logo"
|
||||
/>
|
||||
</a>
|
||||
|
||||
<div className="mt-8">
|
||||
<p className="text-3xl md:text-5xl sm:leading-tight mb-1 font-extrabold text-black/90 dark:text-white px-4">
|
||||
Self-hosted{' '}
|
||||
<span className="text-immich-primary dark:text-immich-dark-primary">
|
||||
photo and <span className="block"></span>
|
||||
video management{' '}
|
||||
</span>
|
||||
solution<span className="block"></span>
|
||||
</p>
|
||||
|
||||
<p className="max-w-1/4 m-auto mt-4 px-4 text-lg text-gray-700 dark:text-gray-100">
|
||||
Easily back up, organize, and manage your photos on your own server. Immich helps you
|
||||
<span className="sm:block"></span> browse, search and organize your photos and videos with ease, without
|
||||
sacrificing your privacy.
|
||||
</p>
|
||||
</div>
|
||||
<div className="flex flex-col sm:flex-row place-items-center place-content-center mt-9 gap-4 ">
|
||||
<Link
|
||||
className="flex place-items-center place-content-center py-3 px-8 border bg-immich-primary dark:bg-immich-dark-primary rounded-xl no-underline hover:no-underline text-white hover:text-gray-50 dark:text-immich-dark-bg font-bold"
|
||||
to="docs/overview/quick-start"
|
||||
>
|
||||
Get Started
|
||||
</Link>
|
||||
|
||||
<Link
|
||||
className="flex place-items-center place-content-center py-3 px-8 border bg-white/90 dark:bg-gray-300 rounded-xl hover:no-underline text-immich-primary dark:text-immich-dark-bg font-bold"
|
||||
to="https://demo.immich.app/"
|
||||
>
|
||||
Open Demo
|
||||
</Link>
|
||||
</div>
|
||||
|
||||
<div className="my-8 flex gap-1 font-medium place-items-center place-content-center text-immich-primary dark:text-immich-dark-primary">
|
||||
<Icon
|
||||
path={discordPath}
|
||||
viewBox={discordViewBox} /* viewBox may show an error in your IDE but it is normal. */
|
||||
size={1}
|
||||
/>
|
||||
<Link to="https://discord.immich.app/">Join our Discord</Link>
|
||||
</div>
|
||||
<ThemedImage
|
||||
sources={{ dark: '/img/screenshot-dark.webp', light: '/img/screenshot-light.webp' }}
|
||||
alt="screenshots"
|
||||
className="w-[95%] lg:w-[85%] xl:w-[70%] 2xl:w-[60%] "
|
||||
/>
|
||||
<div className="mx-[25%] m-auto my-14 md:my-28">
|
||||
<hr className="border bg-gray-500 dark:bg-gray-400" />
|
||||
</div>
|
||||
<ThemedImage
|
||||
sources={{ dark: 'img/logomark-dark.svg', light: 'img/logomark-light.svg' }}
|
||||
className="h-[115px] w-[115px] mb-2 antialiased rounded-none"
|
||||
alt="Immich logo"
|
||||
/>
|
||||
<div>
|
||||
<p className="font-bold text-2xl md:text-5xl ">Download the mobile app</p>
|
||||
<p className="text-lg">
|
||||
Download the Immich app and start backing up your photos and videos securely to your own server
|
||||
</p>
|
||||
</div>
|
||||
<div className="flex flex-col sm:flex-row place-items-center place-content-center mt-4 gap-1">
|
||||
<div className="h-24">
|
||||
<a href="https://play.google.com/store/apps/details?id=app.alextran.immich">
|
||||
<img className="h-24" alt="Get it on Google Play" src="/img/google-play-badge.png" />
|
||||
</a>
|
||||
</div>
|
||||
|
||||
<div className="h-24">
|
||||
<a href="https://apps.apple.com/sg/app/immich/id1613945652">
|
||||
<img className="h-24 sm:p-3.5 p-3" alt="Download on the App Store" src="/img/ios-app-store-badge.svg" />
|
||||
</a>
|
||||
</div>
|
||||
|
||||
<div className="h-24">
|
||||
<a href="https://github.com/immich-app/immich/releases/latest">
|
||||
<img className="h-24 sm:p-3.5 p-3" alt="Download APK" src="/img/download-apk-github.svg" />
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
<ThemedImage
|
||||
sources={{ dark: '/img/app-qr-code-dark.svg', light: '/img/app-qr-code-light.svg' }}
|
||||
alt="app qr code"
|
||||
width={'150px'}
|
||||
className="shadow-lg p-3 my-8 dark:bg-immich-dark-bg "
|
||||
/>
|
||||
</section>
|
||||
</header>
|
||||
);
|
||||
}
|
||||
import { Redirect } from '@docusaurus/router';
|
||||
|
||||
export default function Home(): JSX.Element {
|
||||
return (
|
||||
<Layout title="Home" description="Self-hosted photo and video management solution" noFooter={true}>
|
||||
<HomepageHeader />
|
||||
<div className="flex flex-col place-items-center text-center place-content-center dark:bg-immich-dark-bg py-8">
|
||||
<p>This project is available under GNU AGPL v3 license.</p>
|
||||
<p className="text-sm">Privacy should not be a luxury</p>
|
||||
</div>
|
||||
</Layout>
|
||||
);
|
||||
return <Redirect to="/overview/quick-start" />;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,944 +0,0 @@
|
|||
import {
|
||||
mdiAccountGroup,
|
||||
mdiAccountGroupOutline,
|
||||
mdiAndroid,
|
||||
mdiAppleIos,
|
||||
mdiArchiveOutline,
|
||||
mdiBash,
|
||||
mdiBookSearchOutline,
|
||||
mdiBookmark,
|
||||
mdiCakeVariant,
|
||||
mdiCameraBurst,
|
||||
mdiChartBoxMultipleOutline,
|
||||
mdiCheckAll,
|
||||
mdiCheckboxMarked,
|
||||
mdiCloudUploadOutline,
|
||||
mdiCollage,
|
||||
mdiContentDuplicate,
|
||||
mdiCrop,
|
||||
mdiDevices,
|
||||
mdiEmailOutline,
|
||||
mdiExpansionCard,
|
||||
mdiEyeOutline,
|
||||
mdiEyeRefreshOutline,
|
||||
mdiFaceMan,
|
||||
mdiFaceManOutline,
|
||||
mdiFile,
|
||||
mdiFileSearch,
|
||||
mdiFlash,
|
||||
mdiFolder,
|
||||
mdiFolderMultiple,
|
||||
mdiForum,
|
||||
mdiHandshakeOutline,
|
||||
mdiHeart,
|
||||
mdiHistory,
|
||||
mdiImage,
|
||||
mdiImageAlbum,
|
||||
mdiImageEdit,
|
||||
mdiImageMultipleOutline,
|
||||
mdiImageSearch,
|
||||
mdiKeyboardSettingsOutline,
|
||||
mdiLicense,
|
||||
mdiLockOutline,
|
||||
mdiMagnify,
|
||||
mdiMagnifyScan,
|
||||
mdiMap,
|
||||
mdiMaterialDesign,
|
||||
mdiMatrix,
|
||||
mdiMerge,
|
||||
mdiMonitor,
|
||||
mdiMotionPlayOutline,
|
||||
mdiPalette,
|
||||
mdiPanVertical,
|
||||
mdiPartyPopper,
|
||||
mdiPencil,
|
||||
mdiRaw,
|
||||
mdiRocketLaunch,
|
||||
mdiRotate360,
|
||||
mdiScaleBalance,
|
||||
mdiSecurity,
|
||||
mdiServer,
|
||||
mdiShare,
|
||||
mdiShareAll,
|
||||
mdiShareCircle,
|
||||
mdiStar,
|
||||
mdiStarOutline,
|
||||
mdiTableKey,
|
||||
mdiTag,
|
||||
mdiTagMultiple,
|
||||
mdiText,
|
||||
mdiThemeLightDark,
|
||||
mdiTrashCanOutline,
|
||||
mdiVectorCombine,
|
||||
mdiFolderSync,
|
||||
mdiFaceRecognition,
|
||||
mdiVideo,
|
||||
mdiWeb,
|
||||
mdiDatabaseOutline,
|
||||
mdiLinkEdit,
|
||||
mdiTagFaces,
|
||||
mdiMovieOpenPlayOutline,
|
||||
mdiCast,
|
||||
} from '@mdi/js';
|
||||
import Layout from '@theme/Layout';
|
||||
import React from 'react';
|
||||
import { Item, Timeline } from '../components/timeline';
|
||||
|
||||
const releases = {
|
||||
'v1.135.0': new Date(2025, 5, 18),
|
||||
'v1.133.0': new Date(2025, 4, 21),
|
||||
'v1.130.0': new Date(2025, 2, 25),
|
||||
'v1.127.0': new Date(2025, 1, 26),
|
||||
'v1.122.0': new Date(2024, 11, 5),
|
||||
'v1.120.0': new Date(2024, 10, 6),
|
||||
'v1.114.0': new Date(2024, 8, 6),
|
||||
'v1.113.0': new Date(2024, 7, 30),
|
||||
'v1.112.0': new Date(2024, 7, 14),
|
||||
'v1.111.0': new Date(2024, 6, 26),
|
||||
'v1.110.0': new Date(2024, 5, 11),
|
||||
'v1.109.0': new Date(2024, 6, 18),
|
||||
'v1.106.1': new Date(2024, 5, 11),
|
||||
'v1.104.0': new Date(2024, 4, 13),
|
||||
'v1.103.0': new Date(2024, 3, 29),
|
||||
'v1.102.0': new Date(2024, 3, 15),
|
||||
'v1.99.0': new Date(2024, 2, 20),
|
||||
'v1.98.0': new Date(2024, 2, 7),
|
||||
'v1.95.0': new Date(2024, 1, 20),
|
||||
'v1.94.0': new Date(2024, 0, 31),
|
||||
'v1.93.0': new Date(2024, 0, 19),
|
||||
'v1.91.0': new Date(2023, 11, 15),
|
||||
'v1.90.0': new Date(2023, 11, 7),
|
||||
'v1.88.0': new Date(2023, 10, 20),
|
||||
'v1.84.0': new Date(2023, 10, 1),
|
||||
'v1.83.0': new Date(2023, 9, 28),
|
||||
'v1.82.0': new Date(2023, 9, 17),
|
||||
'v1.79.0': new Date(2023, 8, 21),
|
||||
'v1.76.0': new Date(2023, 7, 29),
|
||||
'v1.75.0': new Date(2023, 7, 26),
|
||||
'v1.72.0': new Date(2023, 7, 6),
|
||||
'v1.71.0': new Date(2023, 6, 29),
|
||||
'v1.69.0': new Date(2023, 6, 23),
|
||||
'v1.68.0': new Date(2023, 6, 20),
|
||||
'v1.67.0': new Date(2023, 6, 14),
|
||||
'v1.66.0': new Date(2023, 6, 4),
|
||||
'v1.65.0': new Date(2023, 5, 30),
|
||||
'v1.63.0': new Date(2023, 5, 24),
|
||||
'v1.61.0': new Date(2023, 5, 16),
|
||||
'v1.58.0': new Date(2023, 4, 28),
|
||||
'v1.57.0': new Date(2023, 4, 23),
|
||||
'v1.56.0': new Date(2023, 4, 18),
|
||||
'v1.55.0': new Date(2023, 4, 9),
|
||||
'v1.54.0': new Date(2023, 3, 18),
|
||||
'v1.52.0': new Date(2023, 2, 29),
|
||||
'v1.51.0': new Date(2023, 2, 20),
|
||||
'v1.48.0': new Date(2023, 1, 21),
|
||||
'v1.47.0': new Date(2023, 1, 13),
|
||||
'v1.46.0': new Date(2023, 1, 9),
|
||||
'v1.43.0': new Date(2023, 1, 3),
|
||||
'v1.41.0': new Date(2023, 0, 10),
|
||||
'v1.39.0': new Date(2022, 11, 19),
|
||||
'v1.36.0': new Date(2022, 10, 20),
|
||||
'v1.33.1': new Date(2022, 9, 26),
|
||||
'v1.32.0': new Date(2022, 9, 14),
|
||||
'v1.27.0': new Date(2022, 8, 6),
|
||||
'v1.24.0': new Date(2022, 7, 19),
|
||||
'v1.10.0': new Date(2022, 4, 29),
|
||||
'v1.7.0': new Date(2022, 3, 24),
|
||||
'v1.3.0': new Date(2022, 2, 22),
|
||||
'v1.2.0': new Date(2022, 1, 8),
|
||||
} as const;
|
||||
|
||||
const weirdTags = {
|
||||
'v1.41.0': 'v1.41.1_64-dev',
|
||||
'v1.39.0': 'v1.39.0_61-dev',
|
||||
'v1.36.0': 'v1.36.0_55-dev',
|
||||
'v1.33.1': 'v1.33.0_52-dev',
|
||||
'v1.32.0': 'v1.32.0_50-dev',
|
||||
'v1.27.0': 'v1.27.0_37-dev',
|
||||
'v1.24.0': 'v1.24.0_34-dev',
|
||||
'v1.10.0': 'v1.10.0_15-dev',
|
||||
'v1.7.0': 'v1.7.0_11-dev ',
|
||||
'v1.3.0': 'v1.3.0-dev ',
|
||||
'v1.2.0': 'v0.2-dev ',
|
||||
};
|
||||
|
||||
const title = 'Roadmap';
|
||||
const description = 'A list of future plans and goals, as well as past achievements and milestones.';
|
||||
|
||||
const withLanguage = (date: Date) => (language: string) => date.toLocaleDateString(language);
|
||||
|
||||
type Base = { icon: string; iconColor?: React.CSSProperties['color']; title: string; description: string };
|
||||
const withRelease = ({
|
||||
icon,
|
||||
iconColor,
|
||||
title,
|
||||
description,
|
||||
release: version,
|
||||
}: Base & { release: keyof typeof releases }) => {
|
||||
return {
|
||||
icon,
|
||||
iconColor: iconColor ?? 'gray',
|
||||
title,
|
||||
description,
|
||||
link: {
|
||||
url: `https://github.com/immich-app/immich/releases/tag/${weirdTags[version] ?? version}`,
|
||||
text: version,
|
||||
},
|
||||
getDateLabel: withLanguage(releases[version]),
|
||||
};
|
||||
};
|
||||
|
||||
const roadmap: Item[] = [
|
||||
{
|
||||
done: false,
|
||||
icon: mdiFlash,
|
||||
iconColor: 'gold',
|
||||
title: 'Workflows',
|
||||
description: 'Automate tasks with workflows',
|
||||
getDateLabel: () => 'Planned for 2025',
|
||||
},
|
||||
{
|
||||
done: false,
|
||||
icon: mdiImageEdit,
|
||||
iconColor: 'rebeccapurple',
|
||||
title: 'Basic editor',
|
||||
description: 'Basic photo editing capabilities',
|
||||
getDateLabel: () => 'Planned for 2025',
|
||||
},
|
||||
{
|
||||
done: false,
|
||||
icon: mdiRocketLaunch,
|
||||
iconColor: 'indianred',
|
||||
title: 'Stable release',
|
||||
description: 'Immich goes stable',
|
||||
getDateLabel: () => 'Planned for 2025',
|
||||
},
|
||||
{
|
||||
done: false,
|
||||
icon: mdiCloudUploadOutline,
|
||||
iconColor: 'cornflowerblue',
|
||||
title: 'Better background backups',
|
||||
description: 'Rework background backups to be more reliable',
|
||||
getDateLabel: () => 'Planned for 2025',
|
||||
},
|
||||
{
|
||||
done: false,
|
||||
icon: mdiCameraBurst,
|
||||
iconColor: 'rebeccapurple',
|
||||
title: 'Auto stacking',
|
||||
description: 'Auto stack burst photos',
|
||||
getDateLabel: () => 'Planned for 2025',
|
||||
},
|
||||
];
|
||||
|
||||
const milestones: Item[] = [
|
||||
{
|
||||
icon: mdiStar,
|
||||
iconColor: 'gold',
|
||||
title: '70,000 Stars',
|
||||
description: 'Reached 70K Stars on GitHub!',
|
||||
getDateLabel: withLanguage(new Date(2025, 6, 9)),
|
||||
},
|
||||
withRelease({
|
||||
icon: mdiTableKey,
|
||||
iconColor: 'gray',
|
||||
title: 'Fine grained access controls',
|
||||
description: 'Granular access controls for api keys',
|
||||
release: 'v1.135.0',
|
||||
}),
|
||||
withRelease({
|
||||
icon: mdiCast,
|
||||
iconColor: 'aqua',
|
||||
title: 'Google Cast (web and mobile)',
|
||||
description: 'Cast assets to Google Cast/Chromecast compatible devices',
|
||||
release: 'v1.135.0',
|
||||
}),
|
||||
withRelease({
|
||||
icon: mdiLockOutline,
|
||||
iconColor: 'sandybrown',
|
||||
title: 'Private/locked photos',
|
||||
description: 'Private assets with extra protections',
|
||||
release: 'v1.133.0',
|
||||
}),
|
||||
withRelease({
|
||||
icon: mdiFolderMultiple,
|
||||
iconColor: 'brown',
|
||||
title: 'Folders view in the mobile app',
|
||||
description: 'Browse your photos and videos in their folder structure inside the mobile app',
|
||||
release: 'v1.130.0',
|
||||
}),
|
||||
{
|
||||
icon: mdiStar,
|
||||
iconColor: 'gold',
|
||||
title: '60,000 Stars',
|
||||
description: 'Reached 60K Stars on GitHub!',
|
||||
getDateLabel: withLanguage(new Date(2025, 2, 4)),
|
||||
},
|
||||
withRelease({
|
||||
icon: mdiTagFaces,
|
||||
iconColor: 'teal',
|
||||
title: 'Manual face tagging',
|
||||
description:
|
||||
'Manually tag or remove faces in photos and videos, even when automatic detection misses or misidentifies them.',
|
||||
release: 'v1.127.0',
|
||||
}),
|
||||
withRelease({
|
||||
icon: mdiLinkEdit,
|
||||
iconColor: 'crimson',
|
||||
title: 'Automatic URL switching',
|
||||
description: 'The mobile app now supports automatic switching between different server URLs',
|
||||
release: 'v1.122.0',
|
||||
}),
|
||||
withRelease({
|
||||
icon: mdiMovieOpenPlayOutline,
|
||||
iconColor: 'darksalmon',
|
||||
title: 'Native video player',
|
||||
description: 'HDR videos are now fully supported using the Immich native video player',
|
||||
release: 'v1.122.0',
|
||||
}),
|
||||
withRelease({
|
||||
icon: mdiDatabaseOutline,
|
||||
iconColor: 'brown',
|
||||
title: 'Automatic database dumps',
|
||||
description: 'Database dumps are now integrated into the Immich server',
|
||||
release: 'v1.120.0',
|
||||
}),
|
||||
{
|
||||
icon: mdiStar,
|
||||
iconColor: 'gold',
|
||||
title: '50,000 Stars',
|
||||
description: 'Reached 50K Stars on GitHub!',
|
||||
getDateLabel: withLanguage(new Date(2024, 10, 1)),
|
||||
},
|
||||
withRelease({
|
||||
icon: mdiFaceRecognition,
|
||||
title: 'Metadata Face Import',
|
||||
description: 'Read face metadata in Digikam format during import',
|
||||
release: 'v1.114.0',
|
||||
}),
|
||||
withRelease({
|
||||
icon: mdiTagMultiple,
|
||||
iconColor: 'orange',
|
||||
title: 'Tags',
|
||||
description: 'Tag your photos and videos',
|
||||
release: 'v1.113.0',
|
||||
}),
|
||||
withRelease({
|
||||
icon: mdiFolderSync,
|
||||
iconColor: 'green',
|
||||
title: 'Album sync (mobile)',
|
||||
description: 'Sync or mirror an album from your phone to the Immich server',
|
||||
release: 'v1.113.0',
|
||||
}),
|
||||
withRelease({
|
||||
icon: mdiFolderMultiple,
|
||||
iconColor: 'brown',
|
||||
title: 'Folders view',
|
||||
description: 'Browse your photos and videos in their folder structure',
|
||||
release: 'v1.113.0',
|
||||
}),
|
||||
withRelease({
|
||||
icon: mdiPalette,
|
||||
title: 'Theming (mobile)',
|
||||
description: 'Pick a primary color for the mobile app',
|
||||
release: 'v1.112.0',
|
||||
}),
|
||||
withRelease({
|
||||
icon: mdiStarOutline,
|
||||
iconColor: 'gold',
|
||||
title: 'Star rating',
|
||||
description: 'Rate your photos and videos',
|
||||
release: 'v1.112.0',
|
||||
}),
|
||||
withRelease({
|
||||
icon: mdiCrop,
|
||||
iconColor: 'royalblue',
|
||||
title: 'Editor (mobile)',
|
||||
description: 'Crop and rotate on mobile',
|
||||
release: 'v1.111.0',
|
||||
}),
|
||||
withRelease({
|
||||
icon: mdiMap,
|
||||
iconColor: 'green',
|
||||
title: 'Deploy tiles.immich.cloud',
|
||||
description: 'Dedicated tile server for Immich',
|
||||
release: 'v1.111.0',
|
||||
}),
|
||||
{
|
||||
icon: mdiStar,
|
||||
iconColor: 'gold',
|
||||
title: '40,000 Stars',
|
||||
description: 'Reached 40K Stars on GitHub!',
|
||||
getDateLabel: withLanguage(new Date(2024, 6, 21)),
|
||||
},
|
||||
withRelease({
|
||||
icon: mdiShare,
|
||||
title: 'Deploy my.immich.app',
|
||||
description: 'Url router for immich links',
|
||||
release: 'v1.109.0',
|
||||
}),
|
||||
withRelease({
|
||||
icon: mdiLicense,
|
||||
iconColor: 'gold',
|
||||
title: 'Supporter Badge',
|
||||
description: 'The option to buy Immich to support its development!',
|
||||
release: 'v1.109.0',
|
||||
}),
|
||||
withRelease({
|
||||
icon: mdiHistory,
|
||||
title: 'Versioned documentation',
|
||||
description: 'View documentation as it was at the time of past releases',
|
||||
release: 'v1.106.1',
|
||||
}),
|
||||
withRelease({
|
||||
icon: mdiWeb,
|
||||
iconColor: 'royalblue',
|
||||
title: 'Web translations',
|
||||
description: 'Translate the web application to multiple languages',
|
||||
release: 'v1.106.1',
|
||||
}),
|
||||
withRelease({
|
||||
icon: mdiContentDuplicate,
|
||||
title: 'Similar image detection',
|
||||
description: "Detect duplicate assets that aren't exactly identical",
|
||||
release: 'v1.106.1',
|
||||
}),
|
||||
withRelease({
|
||||
icon: mdiVectorCombine,
|
||||
title: 'Container consolidation',
|
||||
description:
|
||||
'The microservices container can be run as a worker within the server image, allowing us to remove it from the default stack.',
|
||||
release: 'v1.106.1',
|
||||
}),
|
||||
withRelease({
|
||||
icon: mdiPencil,
|
||||
iconColor: 'saddlebrown',
|
||||
title: 'Read-write external libraries',
|
||||
description: 'Edit, update, and delete files in external libraries',
|
||||
release: 'v1.104.0',
|
||||
}),
|
||||
withRelease({
|
||||
icon: mdiEmailOutline,
|
||||
iconColor: 'crimson',
|
||||
title: 'Email notifications',
|
||||
description: 'Send emails for important events',
|
||||
release: 'v1.104.0',
|
||||
}),
|
||||
{
|
||||
icon: mdiHandshakeOutline,
|
||||
iconColor: 'magenta',
|
||||
title: 'Immich joins FUTO!',
|
||||
description: 'Joined Futo and Immich core team goes full-time',
|
||||
getDateLabel: withLanguage(new Date(2024, 4, 1)),
|
||||
},
|
||||
withRelease({
|
||||
icon: mdiEyeOutline,
|
||||
iconColor: 'darkslategray',
|
||||
title: 'Read-only albums',
|
||||
description: 'Share albums with other users as read-only',
|
||||
release: 'v1.103.0',
|
||||
}),
|
||||
withRelease({
|
||||
icon: mdiBookmark,
|
||||
iconColor: 'orangered',
|
||||
title: 'Permanent URLs (Web)',
|
||||
description: 'Assets on the web now have permanent URLs',
|
||||
release: 'v1.103.0',
|
||||
}),
|
||||
withRelease({
|
||||
icon: mdiStar,
|
||||
iconColor: 'gold',
|
||||
title: '30,000 Stars',
|
||||
description: 'Reached 30K Stars on GitHub!',
|
||||
release: 'v1.102.0',
|
||||
}),
|
||||
withRelease({
|
||||
icon: mdiChartBoxMultipleOutline,
|
||||
iconColor: 'mediumvioletred',
|
||||
title: 'OpenTelemetry metrics',
|
||||
description: 'OpenTelemetry metrics for local evaluation and advanced debugging',
|
||||
release: 'v1.99.0',
|
||||
}),
|
||||
withRelease({
|
||||
icon: 'immich',
|
||||
title: 'New logo',
|
||||
description: 'Immich got its new logo',
|
||||
release: 'v1.98.0',
|
||||
}),
|
||||
withRelease({
|
||||
icon: mdiMagnifyScan,
|
||||
title: 'Search enhancement with advanced filters',
|
||||
description: 'Advanced search with filters by date, location and more',
|
||||
release: 'v1.95.0',
|
||||
}),
|
||||
withRelease({
|
||||
icon: mdiScaleBalance,
|
||||
iconColor: 'gold',
|
||||
title: 'AGPL License',
|
||||
description: 'Immich switches to AGPLv3 license',
|
||||
release: 'v1.95.0',
|
||||
}),
|
||||
withRelease({
|
||||
icon: mdiEyeRefreshOutline,
|
||||
title: 'Library watching',
|
||||
description: 'Automatically import files in external libraries when the operating system detects changes.',
|
||||
release: 'v1.94.0',
|
||||
}),
|
||||
withRelease({
|
||||
icon: mdiExpansionCard,
|
||||
iconColor: 'green',
|
||||
title: 'GPU acceleration for machine-learning',
|
||||
description: 'Hardware acceleration support for Nvidia and Intel devices through CUDA and OpenVINO.',
|
||||
release: 'v1.94.0',
|
||||
}),
|
||||
withRelease({
|
||||
icon: mdiAccountGroupOutline,
|
||||
iconColor: 'gray',
|
||||
title: '250 unique contributors',
|
||||
description: '250 amazing people contributed to Immich',
|
||||
release: 'v1.93.0',
|
||||
}),
|
||||
withRelease({
|
||||
icon: mdiMatrix,
|
||||
title: 'Search improvement with pgvecto.rs',
|
||||
description: 'Moved the search from typesense to pgvecto.rs',
|
||||
release: 'v1.91.0',
|
||||
}),
|
||||
withRelease({
|
||||
icon: mdiPencil,
|
||||
iconColor: 'saddlebrown',
|
||||
title: 'Edit metadata',
|
||||
description: "Edit a photo or video's date, time, hours, timezone, and GPS information",
|
||||
release: 'v1.90.0',
|
||||
}),
|
||||
withRelease({
|
||||
icon: mdiVectorCombine,
|
||||
title: 'Container consolidation',
|
||||
description:
|
||||
'The serving of the web app is merged into the server image, allowing us to remove two containers from the stack.',
|
||||
release: 'v1.88.0',
|
||||
}),
|
||||
withRelease({
|
||||
icon: mdiBash,
|
||||
iconColor: 'gray',
|
||||
title: 'CLI v2',
|
||||
description: 'Version 2 of the Immich CLI is released, replacing the legacy v1 CLI.',
|
||||
release: 'v1.88.0',
|
||||
}),
|
||||
withRelease({
|
||||
icon: mdiForum,
|
||||
iconColor: 'dodgerblue',
|
||||
title: 'Activity',
|
||||
description: 'Comment a photo or a video in a shared album',
|
||||
release: 'v1.84.0',
|
||||
}),
|
||||
withRelease({
|
||||
icon: mdiStar,
|
||||
iconColor: 'gold',
|
||||
title: '20,000 Stars',
|
||||
description: 'Reached 20K Stars on GitHub!',
|
||||
release: 'v1.83.0',
|
||||
}),
|
||||
withRelease({
|
||||
icon: mdiCameraBurst,
|
||||
iconColor: 'rebeccapurple',
|
||||
title: 'Stack assets',
|
||||
description: 'Manual asset stacking for grouping and hiding related assets in the main timeline.',
|
||||
release: 'v1.83.0',
|
||||
}),
|
||||
withRelease({
|
||||
icon: mdiPalette,
|
||||
iconColor: 'magenta',
|
||||
title: 'Custom theme',
|
||||
description: 'Apply your custom CSS for modifying fonts, colors, and styles in the web application.',
|
||||
release: 'v1.83.0',
|
||||
}),
|
||||
withRelease({
|
||||
icon: mdiTrashCanOutline,
|
||||
iconColor: 'brown',
|
||||
title: 'Trash feature',
|
||||
description: 'Trash, restore from trash, and automatically empty the recycle bin after 30 days.',
|
||||
release: 'v1.82.0',
|
||||
}),
|
||||
withRelease({
|
||||
icon: mdiBookSearchOutline,
|
||||
title: 'External libraries',
|
||||
description: 'Automatically import media into Immich based on imports paths and ignore patterns.',
|
||||
release: 'v1.79.0',
|
||||
}),
|
||||
withRelease({
|
||||
icon: mdiMap,
|
||||
iconColor: 'darksalmon',
|
||||
title: 'Map view (mobile)',
|
||||
description: 'Heat map implementation in the mobile app.',
|
||||
release: 'v1.76.0',
|
||||
}),
|
||||
withRelease({
|
||||
icon: mdiFile,
|
||||
iconColor: 'lightblue',
|
||||
title: 'Configuration file',
|
||||
description: 'Auto-configure an Immich installation via a configuration file.',
|
||||
release: 'v1.75.0',
|
||||
}),
|
||||
withRelease({
|
||||
icon: mdiMonitor,
|
||||
iconColor: 'darkcyan',
|
||||
title: 'Slideshow mode (web)',
|
||||
description: 'Start a full-screen slideshow from an Album on the web.',
|
||||
release: 'v1.75.0',
|
||||
}),
|
||||
withRelease({
|
||||
icon: mdiServer,
|
||||
iconColor: 'lightskyblue',
|
||||
title: 'Hardware transcoding',
|
||||
description: 'Support hardware acceleration (QuickSync, VAAPI, and Nvidia) for video transcoding.',
|
||||
release: 'v1.72.0',
|
||||
}),
|
||||
withRelease({
|
||||
icon: mdiImageAlbum,
|
||||
iconColor: 'olivedrab',
|
||||
title: 'View albums via time buckets',
|
||||
description: 'Upgrade albums to use time buckets, an optimized virtual viewport.',
|
||||
release: 'v1.72.0',
|
||||
}),
|
||||
withRelease({
|
||||
icon: mdiImageAlbum,
|
||||
iconColor: 'olivedrab',
|
||||
title: 'Album description',
|
||||
description: 'Save an album description.',
|
||||
release: 'v1.72.0',
|
||||
}),
|
||||
withRelease({
|
||||
icon: mdiRotate360,
|
||||
title: '360° Photos (web)',
|
||||
description: 'View 360° Photos on the web.',
|
||||
release: 'v1.71.0',
|
||||
}),
|
||||
withRelease({
|
||||
icon: mdiMotionPlayOutline,
|
||||
title: 'Android motion photos',
|
||||
description: 'Add support for Android Motion Photos.',
|
||||
release: 'v1.69.0',
|
||||
}),
|
||||
withRelease({
|
||||
icon: mdiFaceManOutline,
|
||||
iconColor: 'mistyrose',
|
||||
title: 'Show/hide faces',
|
||||
description: 'Add the options to show or hide faces.',
|
||||
release: 'v1.68.0',
|
||||
}),
|
||||
withRelease({
|
||||
icon: mdiMerge,
|
||||
iconColor: 'forestgreen',
|
||||
title: 'Merge faces',
|
||||
description: 'Add the ability to merge multiple faces together.',
|
||||
release: 'v1.67.0',
|
||||
}),
|
||||
withRelease({
|
||||
icon: mdiImage,
|
||||
iconColor: 'rebeccapurple',
|
||||
title: 'Feature photo',
|
||||
description: 'Add the option to change the feature photo for a person.',
|
||||
release: 'v1.66.0',
|
||||
}),
|
||||
withRelease({
|
||||
icon: mdiKeyboardSettingsOutline,
|
||||
iconColor: 'darkslategray',
|
||||
title: 'Multi-select via SHIFT',
|
||||
description: 'Add the option to multi-select while holding SHIFT.',
|
||||
release: 'v1.66.0',
|
||||
}),
|
||||
withRelease({
|
||||
icon: mdiImageMultipleOutline,
|
||||
iconColor: 'rebeccapurple',
|
||||
title: 'Memories (mobile)',
|
||||
description: 'View "On this day..." memories in the mobile app.',
|
||||
release: 'v1.65.0',
|
||||
}),
|
||||
withRelease({
|
||||
icon: mdiFaceMan,
|
||||
iconColor: 'mistyrose',
|
||||
title: 'Facial recognition (mobile)',
|
||||
description: 'View detected faces in the mobile app.',
|
||||
release: 'v1.63.0',
|
||||
}),
|
||||
withRelease({
|
||||
icon: mdiImageMultipleOutline,
|
||||
iconColor: 'rebeccapurple',
|
||||
title: 'Memories (web)',
|
||||
description: 'View pictures taken in past years on this day on the web.',
|
||||
release: 'v1.61.0',
|
||||
}),
|
||||
withRelease({
|
||||
icon: mdiCollage,
|
||||
iconColor: 'deeppink',
|
||||
title: 'Justified layout (web)',
|
||||
description: 'Implement justified layout (collage) on the web.',
|
||||
release: 'v1.61.0',
|
||||
}),
|
||||
withRelease({
|
||||
icon: mdiRaw,
|
||||
title: 'RAW file formats',
|
||||
description: 'Support for RAW file formats.',
|
||||
release: 'v1.61.0',
|
||||
}),
|
||||
withRelease({
|
||||
icon: mdiShareAll,
|
||||
iconColor: 'darkturquoise',
|
||||
title: 'Partner sharing (mobile)',
|
||||
description: 'View shared partner photos in the mobile app.',
|
||||
release: 'v1.58.0',
|
||||
}),
|
||||
withRelease({
|
||||
icon: mdiFile,
|
||||
iconColor: 'lightblue',
|
||||
title: 'XMP sidecar',
|
||||
description: 'Attach XMP sidecar files to assets.',
|
||||
release: 'v1.58.0',
|
||||
}),
|
||||
withRelease({
|
||||
icon: mdiFolder,
|
||||
iconColor: 'brown',
|
||||
title: 'Custom storage label',
|
||||
description: 'Replace the user UUID in the storage template with a custom label.',
|
||||
release: 'v1.57.0',
|
||||
}),
|
||||
withRelease({
|
||||
icon: mdiShareCircle,
|
||||
title: 'Partner sharing',
|
||||
description: 'Share your entire collection with another user.',
|
||||
release: 'v1.56.0',
|
||||
}),
|
||||
withRelease({
|
||||
icon: mdiFaceMan,
|
||||
iconColor: 'mistyrose',
|
||||
title: 'Facial recognition',
|
||||
description: 'Detect faces in pictures and cluster them together as people, which can be named.',
|
||||
release: 'v1.56.0',
|
||||
}),
|
||||
withRelease({
|
||||
icon: mdiMap,
|
||||
iconColor: 'darksalmon',
|
||||
title: 'Map view (web)',
|
||||
description: 'View a global map, with clusters of photos based on corresponding GPS data.',
|
||||
release: 'v1.55.0',
|
||||
}),
|
||||
withRelease({
|
||||
icon: mdiDevices,
|
||||
iconColor: 'slategray',
|
||||
title: 'Manage auth devices',
|
||||
description: 'Manage logged-in devices and revoke access from User Settings.',
|
||||
release: 'v1.55.0',
|
||||
}),
|
||||
withRelease({
|
||||
icon: mdiStar,
|
||||
iconColor: 'gold',
|
||||
title: '10,000 Stars',
|
||||
description: 'Reached 10K stars on GitHub!',
|
||||
release: 'v1.54.0',
|
||||
}),
|
||||
withRelease({
|
||||
icon: mdiText,
|
||||
title: 'Asset descriptions',
|
||||
description: 'Save an asset description',
|
||||
release: 'v1.54.0',
|
||||
}),
|
||||
withRelease({
|
||||
icon: mdiArchiveOutline,
|
||||
title: 'Archiving',
|
||||
description: 'Remove assets from the main timeline by archiving them.',
|
||||
release: 'v1.54.0',
|
||||
}),
|
||||
withRelease({
|
||||
icon: mdiDevices,
|
||||
iconColor: 'slategray',
|
||||
title: 'Responsive web app',
|
||||
description: 'Optimize the web app for small screen.',
|
||||
release: 'v1.54.0',
|
||||
}),
|
||||
withRelease({
|
||||
icon: mdiFileSearch,
|
||||
iconColor: 'brown',
|
||||
title: 'Search by metadata',
|
||||
description: 'Search images by filename, description, tagged people, make, model, and other metadata.',
|
||||
release: 'v1.52.0',
|
||||
}),
|
||||
withRelease({
|
||||
icon: mdiImageSearch,
|
||||
iconColor: 'rebeccapurple',
|
||||
title: 'CLIP search',
|
||||
description: 'Search images with free-form text like "Sunset at the beach".',
|
||||
release: 'v1.51.0',
|
||||
}),
|
||||
withRelease({
|
||||
icon: mdiMagnify,
|
||||
iconColor: 'lightblue',
|
||||
title: 'Explore page',
|
||||
description: 'View tagged places, object, and people.',
|
||||
release: 'v1.51.0',
|
||||
}),
|
||||
withRelease({
|
||||
icon: mdiAppleIos,
|
||||
title: 'iOS background uploads',
|
||||
description: 'Automatically backup pictures in the background on iOS.',
|
||||
release: 'v1.48.0',
|
||||
}),
|
||||
withRelease({
|
||||
icon: mdiMotionPlayOutline,
|
||||
title: 'Auto-Link live photos',
|
||||
description: 'Automatically link live photos, even when uploaded as separate files.',
|
||||
release: 'v1.48.0',
|
||||
}),
|
||||
withRelease({
|
||||
icon: mdiMaterialDesign,
|
||||
iconColor: 'blue',
|
||||
title: 'Material design 3 (mobile)',
|
||||
description: 'Upgrade the mobile app to Material Design 3.',
|
||||
release: 'v1.47.0',
|
||||
}),
|
||||
withRelease({
|
||||
icon: mdiHeart,
|
||||
iconColor: 'red',
|
||||
title: 'Favorites (mobile)',
|
||||
description: 'Show favorites on the mobile app.',
|
||||
release: 'v1.46.0',
|
||||
}),
|
||||
withRelease({
|
||||
icon: mdiCakeVariant,
|
||||
iconColor: 'deeppink',
|
||||
title: 'Immich turns 1',
|
||||
description: 'Immich is officially one year old.',
|
||||
release: 'v1.43.0',
|
||||
}),
|
||||
withRelease({
|
||||
icon: mdiHeart,
|
||||
iconColor: 'red',
|
||||
title: 'Favorites page (web)',
|
||||
description: 'Favorite and view favorites on the web.',
|
||||
release: 'v1.43.0',
|
||||
}),
|
||||
withRelease({
|
||||
icon: mdiShareCircle,
|
||||
title: 'Public share links',
|
||||
description: 'Share photos and albums publicly via a shared link.',
|
||||
release: 'v1.41.0',
|
||||
}),
|
||||
withRelease({
|
||||
icon: mdiFolder,
|
||||
iconColor: 'lightblue',
|
||||
title: 'User-defined storage structure',
|
||||
description: 'Support custom storage structures.',
|
||||
release: 'v1.39.0',
|
||||
}),
|
||||
withRelease({
|
||||
icon: mdiMotionPlayOutline,
|
||||
title: 'iOS live photos',
|
||||
description: 'Backup and display iOS Live Photos.',
|
||||
release: 'v1.36.0',
|
||||
}),
|
||||
withRelease({
|
||||
icon: mdiSecurity,
|
||||
iconColor: 'green',
|
||||
title: 'OAuth integration',
|
||||
description: 'Support OAuth2 and OIDC capable identity providers.',
|
||||
release: 'v1.36.0',
|
||||
}),
|
||||
withRelease({
|
||||
icon: mdiWeb,
|
||||
iconColor: 'royalblue',
|
||||
title: 'Documentation site',
|
||||
description: 'Release an official documentation website.',
|
||||
release: 'v1.33.1',
|
||||
}),
|
||||
withRelease({
|
||||
icon: mdiThemeLightDark,
|
||||
iconColor: 'slategray',
|
||||
title: 'Dark mode (web)',
|
||||
description: 'Dark mode on the web.',
|
||||
release: 'v1.32.0',
|
||||
}),
|
||||
withRelease({
|
||||
icon: mdiPanVertical,
|
||||
title: 'Virtual scrollbar (web)',
|
||||
description: 'View the main timeline with a virtual scrollbar, allowing to jump to any point in time, instantly.',
|
||||
release: 'v1.27.0',
|
||||
}),
|
||||
withRelease({
|
||||
icon: mdiCheckAll,
|
||||
iconColor: 'green',
|
||||
title: 'Checksum duplication check',
|
||||
description: 'Enforce per user sha1 checksum uniqueness.',
|
||||
release: 'v1.27.0',
|
||||
}),
|
||||
withRelease({
|
||||
icon: mdiAndroid,
|
||||
iconColor: 'greenyellow',
|
||||
title: 'Android background backup',
|
||||
description: 'Automatic backup in the background on Android.',
|
||||
release: 'v1.24.0',
|
||||
}),
|
||||
withRelease({
|
||||
icon: mdiAccountGroup,
|
||||
iconColor: 'gray',
|
||||
title: 'Admin portal',
|
||||
description: 'Manage users and admin settings from the web.',
|
||||
release: 'v1.10.0',
|
||||
}),
|
||||
withRelease({
|
||||
icon: mdiShareCircle,
|
||||
title: 'Album sharing',
|
||||
description: 'Share albums with other users.',
|
||||
release: 'v1.7.0',
|
||||
}),
|
||||
withRelease({
|
||||
icon: mdiTag,
|
||||
iconColor: 'coral',
|
||||
title: 'Image tagging',
|
||||
description: 'Tag images with custom values.',
|
||||
release: 'v1.7.0',
|
||||
}),
|
||||
withRelease({
|
||||
icon: mdiImage,
|
||||
iconColor: 'rebeccapurple',
|
||||
title: 'View exif',
|
||||
description: 'View metadata about assets.',
|
||||
release: 'v1.3.0',
|
||||
}),
|
||||
withRelease({
|
||||
icon: mdiCheckboxMarked,
|
||||
iconColor: 'green',
|
||||
title: 'Multi select',
|
||||
description: 'Select and execute actions on multiple assets at the same time.',
|
||||
release: 'v1.2.0',
|
||||
}),
|
||||
withRelease({
|
||||
icon: mdiVideo,
|
||||
iconColor: 'slategray',
|
||||
title: 'Video player',
|
||||
description: 'Play videos in the web and on mobile.',
|
||||
release: 'v1.2.0',
|
||||
}),
|
||||
{
|
||||
icon: mdiPartyPopper,
|
||||
iconColor: 'deeppink',
|
||||
title: 'First commit',
|
||||
description: 'First commit on GitHub, Immich is born.',
|
||||
getDateLabel: withLanguage(new Date(2022, 1, 3)),
|
||||
},
|
||||
];
|
||||
|
||||
export default function MilestonePage(): JSX.Element {
|
||||
return (
|
||||
<Layout title={title} description={description}>
|
||||
<section className="my-8">
|
||||
<h1 className="md:text-6xl text-center mb-10 text-immich-primary dark:text-immich-dark-primary px-2">
|
||||
{title}
|
||||
</h1>
|
||||
<p className="text-center text-xl px-2">{description}</p>
|
||||
<div className="flex justify-around mt-8 w-full max-w-full">
|
||||
<Timeline items={[...roadmap, ...milestones]} />
|
||||
</div>
|
||||
</section>
|
||||
</Layout>
|
||||
);
|
||||
}
|
||||
5
docs/static/.well-known/security.txt
vendored
5
docs/static/.well-known/security.txt
vendored
|
|
@ -1,5 +0,0 @@
|
|||
Policy: https://github.com/immich-app/immich/blob/main/SECURITY.md
|
||||
Contact: mailto:security@immich.app
|
||||
Preferred-Languages: en
|
||||
Expires: 2026-05-01T23:59:00.000Z
|
||||
Canonical: https://immich.app/.well-known/security.txt
|
||||
68
docs/static/_redirects
vendored
68
docs/static/_redirects
vendored
|
|
@ -1,34 +1,34 @@
|
|||
/docs /docs/overview/welcome 307
|
||||
/docs/ /docs/overview/welcome 307
|
||||
/docs/mobile-app-beta-program /docs/features/mobile-app 307
|
||||
/docs/contribution-guidelines /docs/overview/support-the-project#contributing 307
|
||||
/docs/install /docs/install/docker-compose 307
|
||||
/docs/installation/one-step-installation /docs/install/script 307
|
||||
/docs/installation/portainer-installation /docs/install/portainer 307
|
||||
/docs/installation/recommended-installation /docs/install/docker-compose 307
|
||||
/docs/installation/unraid /docs/install/unraid 307
|
||||
/docs/installation/requirements /docs/install/requirements 307
|
||||
/docs/overview/logo-meaning /docs/overview/logo 307
|
||||
/docs/overview/technology-stack /docs/developer/architecture 307
|
||||
/docs/usage/automatic-backup /docs/features/automatic-backup 307
|
||||
/docs/usage/bulk-upload /docs/features/command-line-interface 307
|
||||
/docs/features/bulk-upload /docs/features/command-line-interface 307
|
||||
/docs/usage/oauth /docs/administration/oauth 307
|
||||
/docs/usage/post-installation /docs/install/post-install 307
|
||||
/docs/usage/update /docs/install/docker-compose#step-4---upgrading 307
|
||||
/docs/usage/server-commands /docs/administration/server-commands 307
|
||||
/docs/features/jobs /docs/administration/jobs 307
|
||||
/docs/features/oauth /docs/administration/oauth 307
|
||||
/docs/features/password-login /docs/administration/password-login 307
|
||||
/docs/features/server-commands /docs/administration/server-commands 307
|
||||
/docs/features/storage-template /docs/administration/storage-template 307
|
||||
/docs/features/user-management /docs/administration/user-management 307
|
||||
/docs/developer/contributing /docs/developer/pr-checklist 307
|
||||
/docs/guides/machine-learning /docs/guides/remote-machine-learning 307
|
||||
/docs/administration/password-login /docs/administration/system-settings 307
|
||||
/docs/features/search /docs/features/searching 307
|
||||
/docs/features/smart-search /docs/features/searching 307
|
||||
/docs/guides/api-album-sync /docs/community-projects 307
|
||||
/docs/guides/remove-offline-files /docs/community-projects 307
|
||||
/milestones /roadmap 307
|
||||
/docs/overview/introduction /docs/overview/welcome 307
|
||||
/ /overview/quick-start 307
|
||||
/mobile-app-beta-program /features/mobile-app 307
|
||||
/contribution-guidelines /overview/support-the-project#contributing 307
|
||||
/install /install/docker-compose 307
|
||||
/installation/one-step-installation /install/script 307
|
||||
/installation/portainer-installation /install/portainer 307
|
||||
/installation/recommended-installation /install/docker-compose 307
|
||||
/installation/unraid /install/unraid 307
|
||||
/installation/requirements /install/requirements 307
|
||||
/overview/logo-meaning /overview/logo 307
|
||||
/overview/technology-stack /developer/architecture 307
|
||||
/usage/automatic-backup /features/automatic-backup 307
|
||||
/usage/bulk-upload /features/command-line-interface 307
|
||||
/features/bulk-upload /features/command-line-interface 307
|
||||
/usage/oauth /administration/oauth 307
|
||||
/usage/post-installation /install/post-install 307
|
||||
/usage/update /install/docker-compose#step-4---upgrading 307
|
||||
/usage/server-commands /administration/server-commands 307
|
||||
/features/jobs /administration/jobs 307
|
||||
/features/oauth /administration/oauth 307
|
||||
/features/password-login /administration/password-login 307
|
||||
/features/server-commands /administration/server-commands 307
|
||||
/features/storage-template /administration/storage-template 307
|
||||
/features/user-management /administration/user-management 307
|
||||
/developer/contributing /developer/pr-checklist 307
|
||||
/guides/machine-learning /guides/remote-machine-learning 307
|
||||
/administration/password-login /administration/system-settings 307
|
||||
/features/search /features/searching 307
|
||||
/features/smart-search /features/searching 307
|
||||
/guides/api-album-sync /community-projects 307
|
||||
/guides/remove-offline-files /community-projects 307
|
||||
/overview/introduction /overview/quick-start 307
|
||||
/overview/welcome /overview/quick-start 307
|
||||
/docs/* /:splat 307
|
||||
|
|
|
|||
191
docs/static/archived-versions.json
vendored
191
docs/static/archived-versions.json
vendored
|
|
@ -1,226 +1,229 @@
|
|||
[
|
||||
{
|
||||
"label": "v1.142.1",
|
||||
"url": "https://v1.142.1.archive.immich.app"
|
||||
"label": "v1.144.1",
|
||||
"url": "https://docs.v1.144.1.archive.immich.app"
|
||||
},
|
||||
{
|
||||
"label": "v1.142.0",
|
||||
"url": "https://v1.142.0.archive.immich.app"
|
||||
"label": "v1.144.0",
|
||||
"url": "https://docs.v1.144.0.archive.immich.app"
|
||||
},
|
||||
{
|
||||
"label": "v1.143.1",
|
||||
"url": "https://docs.v1.143.1.archive.immich.app"
|
||||
},
|
||||
{
|
||||
"label": "v1.142.1",
|
||||
"url": "https://v1.142.1.archive.immich.app",
|
||||
"rootPath": "/docs"
|
||||
},
|
||||
{
|
||||
"label": "v1.141.1",
|
||||
"url": "https://v1.141.1.archive.immich.app"
|
||||
},
|
||||
{
|
||||
"label": "v1.141.0",
|
||||
"url": "https://v1.141.0.archive.immich.app"
|
||||
"url": "https://v1.141.1.archive.immich.app",
|
||||
"rootPath": "/docs"
|
||||
},
|
||||
{
|
||||
"label": "v1.140.1",
|
||||
"url": "https://v1.140.1.archive.immich.app"
|
||||
},
|
||||
{
|
||||
"label": "v1.140.0",
|
||||
"url": "https://v1.140.0.archive.immich.app"
|
||||
"url": "https://v1.140.1.archive.immich.app",
|
||||
"rootPath": "/docs"
|
||||
},
|
||||
{
|
||||
"label": "v1.139.4",
|
||||
"url": "https://v1.139.4.archive.immich.app"
|
||||
},
|
||||
{
|
||||
"label": "v1.139.3",
|
||||
"url": "https://v1.139.3.archive.immich.app"
|
||||
},
|
||||
{
|
||||
"label": "v1.139.2",
|
||||
"url": "https://v1.139.2.archive.immich.app"
|
||||
"url": "https://v1.139.4.archive.immich.app",
|
||||
"rootPath": "/docs"
|
||||
},
|
||||
{
|
||||
"label": "v1.138.1",
|
||||
"url": "https://v1.138.1.archive.immich.app"
|
||||
},
|
||||
{
|
||||
"label": "v1.138.0",
|
||||
"url": "https://v1.138.0.archive.immich.app"
|
||||
"url": "https://v1.138.1.archive.immich.app",
|
||||
"rootPath": "/docs"
|
||||
},
|
||||
{
|
||||
"label": "v1.137.3",
|
||||
"url": "https://v1.137.3.archive.immich.app"
|
||||
},
|
||||
{
|
||||
"label": "v1.137.2",
|
||||
"url": "https://v1.137.2.archive.immich.app"
|
||||
},
|
||||
{
|
||||
"label": "v1.137.1",
|
||||
"url": "https://v1.137.1.archive.immich.app"
|
||||
},
|
||||
{
|
||||
"label": "v1.137.0",
|
||||
"url": "https://v1.137.0.archive.immich.app"
|
||||
"url": "https://v1.137.3.archive.immich.app",
|
||||
"rootPath": "/docs"
|
||||
},
|
||||
{
|
||||
"label": "v1.136.0",
|
||||
"url": "https://v1.136.0.archive.immich.app"
|
||||
"url": "https://v1.136.0.archive.immich.app",
|
||||
"rootPath": "/docs"
|
||||
},
|
||||
{
|
||||
"label": "v1.135.3",
|
||||
"url": "https://v1.135.3.archive.immich.app"
|
||||
},
|
||||
{
|
||||
"label": "v1.135.2",
|
||||
"url": "https://v1.135.2.archive.immich.app"
|
||||
},
|
||||
{
|
||||
"label": "v1.135.1",
|
||||
"url": "https://v1.135.1.archive.immich.app"
|
||||
},
|
||||
{
|
||||
"label": "v1.135.0",
|
||||
"url": "https://v1.135.0.archive.immich.app"
|
||||
"url": "https://v1.135.3.archive.immich.app",
|
||||
"rootPath": "/docs"
|
||||
},
|
||||
{
|
||||
"label": "v1.134.0",
|
||||
"url": "https://v1.134.0.archive.immich.app"
|
||||
"url": "https://v1.134.0.archive.immich.app",
|
||||
"rootPath": "/docs"
|
||||
},
|
||||
{
|
||||
"label": "v1.133.1",
|
||||
"url": "https://v1.133.1.archive.immich.app"
|
||||
},
|
||||
{
|
||||
"label": "v1.133.0",
|
||||
"url": "https://v1.133.0.archive.immich.app"
|
||||
"url": "https://v1.133.1.archive.immich.app",
|
||||
"rootPath": "/docs"
|
||||
},
|
||||
{
|
||||
"label": "v1.132.3",
|
||||
"url": "https://v1.132.3.archive.immich.app"
|
||||
"url": "https://v1.132.3.archive.immich.app",
|
||||
"rootPath": "/docs"
|
||||
},
|
||||
{
|
||||
"label": "v1.131.3",
|
||||
"url": "https://v1.131.3.archive.immich.app"
|
||||
"url": "https://v1.131.3.archive.immich.app",
|
||||
"rootPath": "/docs"
|
||||
},
|
||||
{
|
||||
"label": "v1.130.3",
|
||||
"url": "https://v1.130.3.archive.immich.app"
|
||||
"url": "https://v1.130.3.archive.immich.app",
|
||||
"rootPath": "/docs"
|
||||
},
|
||||
{
|
||||
"label": "v1.129.0",
|
||||
"url": "https://v1.129.0.archive.immich.app"
|
||||
"url": "https://v1.129.0.archive.immich.app",
|
||||
"rootPath": "/docs"
|
||||
},
|
||||
{
|
||||
"label": "v1.128.0",
|
||||
"url": "https://v1.128.0.archive.immich.app"
|
||||
"url": "https://v1.128.0.archive.immich.app",
|
||||
"rootPath": "/docs"
|
||||
},
|
||||
{
|
||||
"label": "v1.127.0",
|
||||
"url": "https://v1.127.0.archive.immich.app"
|
||||
"url": "https://v1.127.0.archive.immich.app",
|
||||
"rootPath": "/docs"
|
||||
},
|
||||
{
|
||||
"label": "v1.126.1",
|
||||
"url": "https://v1.126.1.archive.immich.app"
|
||||
"url": "https://v1.126.1.archive.immich.app",
|
||||
"rootPath": "/docs"
|
||||
},
|
||||
{
|
||||
"label": "v1.125.7",
|
||||
"url": "https://v1.125.7.archive.immich.app"
|
||||
"url": "https://v1.125.7.archive.immich.app",
|
||||
"rootPath": "/docs"
|
||||
},
|
||||
{
|
||||
"label": "v1.124.2",
|
||||
"url": "https://v1.124.2.archive.immich.app"
|
||||
"url": "https://v1.124.2.archive.immich.app",
|
||||
"rootPath": "/docs"
|
||||
},
|
||||
{
|
||||
"label": "v1.123.0",
|
||||
"url": "https://v1.123.0.archive.immich.app"
|
||||
"url": "https://v1.123.0.archive.immich.app",
|
||||
"rootPath": "/docs"
|
||||
},
|
||||
{
|
||||
"label": "v1.122.3",
|
||||
"url": "https://v1.122.3.archive.immich.app"
|
||||
"url": "https://v1.122.3.archive.immich.app",
|
||||
"rootPath": "/docs"
|
||||
},
|
||||
{
|
||||
"label": "v1.121.0",
|
||||
"url": "https://v1.121.0.archive.immich.app"
|
||||
"url": "https://v1.121.0.archive.immich.app",
|
||||
"rootPath": "/docs"
|
||||
},
|
||||
{
|
||||
"label": "v1.120.2",
|
||||
"url": "https://v1.120.2.archive.immich.app"
|
||||
"url": "https://v1.120.2.archive.immich.app",
|
||||
"rootPath": "/docs"
|
||||
},
|
||||
{
|
||||
"label": "v1.119.1",
|
||||
"url": "https://v1.119.1.archive.immich.app"
|
||||
"url": "https://v1.119.1.archive.immich.app",
|
||||
"rootPath": "/docs"
|
||||
},
|
||||
{
|
||||
"label": "v1.118.2",
|
||||
"url": "https://v1.118.2.archive.immich.app"
|
||||
"url": "https://v1.118.2.archive.immich.app",
|
||||
"rootPath": "/docs"
|
||||
},
|
||||
{
|
||||
"label": "v1.117.0",
|
||||
"url": "https://v1.117.0.archive.immich.app"
|
||||
"url": "https://v1.117.0.archive.immich.app",
|
||||
"rootPath": "/docs"
|
||||
},
|
||||
{
|
||||
"label": "v1.116.2",
|
||||
"url": "https://v1.116.2.archive.immich.app"
|
||||
"url": "https://v1.116.2.archive.immich.app",
|
||||
"rootPath": "/docs"
|
||||
},
|
||||
{
|
||||
"label": "v1.115.0",
|
||||
"url": "https://v1.115.0.archive.immich.app"
|
||||
"url": "https://v1.115.0.archive.immich.app",
|
||||
"rootPath": "/docs"
|
||||
},
|
||||
{
|
||||
"label": "v1.114.0",
|
||||
"url": "https://v1.114.0.archive.immich.app"
|
||||
"url": "https://v1.114.0.archive.immich.app",
|
||||
"rootPath": "/docs"
|
||||
},
|
||||
{
|
||||
"label": "v1.113.1",
|
||||
"url": "https://v1.113.1.archive.immich.app"
|
||||
"url": "https://v1.113.1.archive.immich.app",
|
||||
"rootPath": "/docs"
|
||||
},
|
||||
{
|
||||
"label": "v1.112.1",
|
||||
"url": "https://v1.112.1.archive.immich.app"
|
||||
"url": "https://v1.112.1.archive.immich.app",
|
||||
"rootPath": "/docs"
|
||||
},
|
||||
{
|
||||
"label": "v1.111.0",
|
||||
"url": "https://v1.111.0.archive.immich.app"
|
||||
"url": "https://v1.111.0.archive.immich.app",
|
||||
"rootPath": "/docs"
|
||||
},
|
||||
{
|
||||
"label": "v1.110.0",
|
||||
"url": "https://v1.110.0.archive.immich.app"
|
||||
"url": "https://v1.110.0.archive.immich.app",
|
||||
"rootPath": "/docs"
|
||||
},
|
||||
{
|
||||
"label": "v1.109.2",
|
||||
"url": "https://v1.109.2.archive.immich.app"
|
||||
"url": "https://v1.109.2.archive.immich.app",
|
||||
"rootPath": "/docs"
|
||||
},
|
||||
{
|
||||
"label": "v1.108.0",
|
||||
"url": "https://v1.108.0.archive.immich.app"
|
||||
"url": "https://v1.108.0.archive.immich.app",
|
||||
"rootPath": "/docs"
|
||||
},
|
||||
{
|
||||
"label": "v1.107.2",
|
||||
"url": "https://v1.107.2.archive.immich.app"
|
||||
"url": "https://v1.107.2.archive.immich.app",
|
||||
"rootPath": "/docs"
|
||||
},
|
||||
{
|
||||
"label": "v1.106.4",
|
||||
"url": "https://v1.106.4.archive.immich.app"
|
||||
"url": "https://v1.106.4.archive.immich.app",
|
||||
"rootPath": "/docs"
|
||||
},
|
||||
{
|
||||
"label": "v1.105.1",
|
||||
"url": "https://v1.105.1.archive.immich.app"
|
||||
"url": "https://v1.105.1.archive.immich.app",
|
||||
"rootPath": "/docs"
|
||||
},
|
||||
{
|
||||
"label": "v1.104.0",
|
||||
"url": "https://v1.104.0.archive.immich.app"
|
||||
"url": "https://v1.104.0.archive.immich.app",
|
||||
"rootPath": "/docs"
|
||||
},
|
||||
{
|
||||
"label": "v1.103.1",
|
||||
"url": "https://v1.103.1.archive.immich.app"
|
||||
"url": "https://v1.103.1.archive.immich.app",
|
||||
"rootPath": "/docs"
|
||||
},
|
||||
{
|
||||
"label": "v1.102.3",
|
||||
"url": "https://v1.102.3.archive.immich.app"
|
||||
"url": "https://v1.102.3.archive.immich.app",
|
||||
"rootPath": "/docs"
|
||||
},
|
||||
{
|
||||
"label": "v1.101.0",
|
||||
"url": "https://v1.101.0.archive.immich.app"
|
||||
"url": "https://v1.101.0.archive.immich.app",
|
||||
"rootPath": "/docs"
|
||||
},
|
||||
{
|
||||
"label": "v1.100.0",
|
||||
"url": "https://v1.100.0.archive.immich.app"
|
||||
"url": "https://v1.100.0.archive.immich.app",
|
||||
"rootPath": "/docs"
|
||||
}
|
||||
]
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "immich-e2e",
|
||||
"version": "1.142.1",
|
||||
"version": "1.144.1",
|
||||
"description": "",
|
||||
"main": "index.js",
|
||||
"type": "module",
|
||||
|
|
|
|||
38
i18n/af.json
38
i18n/af.json
|
|
@ -14,6 +14,7 @@
|
|||
"add_a_location": "Voeg 'n ligging by",
|
||||
"add_a_name": "Voeg 'n naam by",
|
||||
"add_a_title": "Voeg 'n titel by",
|
||||
"add_birthday": "Voeg 'n verjaarsdag by",
|
||||
"add_endpoint": "Voeg Koppelvlakpunt by",
|
||||
"add_exclusion_pattern": "Voeg uitsgluitingspatrone by",
|
||||
"add_import_path": "Voeg invoerpad by",
|
||||
|
|
@ -27,6 +28,8 @@
|
|||
"add_to_album": "Voeg na album",
|
||||
"add_to_album_bottom_sheet_added": "By {album} bygevoeg",
|
||||
"add_to_album_bottom_sheet_already_exists": "Reeds in {album}",
|
||||
"add_to_albums": "Voeg by albums",
|
||||
"add_to_albums_count": "Voeg by ({count}) albums",
|
||||
"add_to_shared_album": "Voeg toe aan gedeelde album",
|
||||
"add_url": "Voeg URL by",
|
||||
"added_to_archive": "By argief toegevoegd",
|
||||
|
|
@ -44,6 +47,11 @@
|
|||
"backup_database": "Skep Datastortlêer",
|
||||
"backup_database_enable_description": "Aktiveer databasisrugsteun",
|
||||
"backup_keep_last_amount": "Aantal vorige rugsteune om te hou",
|
||||
"backup_onboarding_3_description": "totale kopieë van jou data, insluitende die oorspronklikke lêers. Dit sluit in 1 kopie op 'n ander perseel en 2 kopieë om die huidige rekenaar.",
|
||||
"backup_onboarding_description": "'N <backblaze-link>3-2-1 rugsteun strategie</backblaze-link> word sterk aanbeveel om jou data veilig te hou. Hou kopieë van jou fotos/videos so wel as die Immich databasis vir 'n volledige rugsteun oplossing.",
|
||||
"backup_onboarding_footer": "Vir meer inligting oor hoe om 'n rugsteun kopie van Immich te maak, gaan lees asseblief hierdie <link>dokument</link>.",
|
||||
"backup_onboarding_parts_title": "'N 3-2-1 rugsteun sluit in:",
|
||||
"backup_onboarding_title": "Rugsteun kopieë",
|
||||
"backup_settings": "Rugsteun instellings",
|
||||
"backup_settings_description": "Bestuur databasis rugsteun instellings.",
|
||||
"cleared_jobs": "Poste gevee vir: {job}",
|
||||
|
|
@ -62,8 +70,8 @@
|
|||
"duplicate_detection_job_description": "Begin masjienleer op bates om soortgelyke beelde op te spoor. Maak staat op Smart Search",
|
||||
"exclusion_pattern_description": "Met uitsluitingspatrone kan jy lêers en vouers ignoreer wanneer jy jou biblioteek skandeer. Dit is nuttig as jy vouers het wat lêers bevat wat jy nie wil invoer nie, soos RAW-lêers.",
|
||||
"external_library_management": "Eksterne Biblioteekbestuur",
|
||||
"face_detection": "Gesig deteksie",
|
||||
"face_detection_description": "Detecteer die gesigte in media deur middel van masjienleer. Vir videos word slegs die duimnaelskets oorweeg. “Herlaai” (ver)werk al die media weer. “Stel terug” verwyder boonop alle huidige gesigdata. “Onverwerk” plaas bates in die tou wat nog nie verwerk is nie. Gedekte gesigte sal ná voltooiing van Gesigdetectie vir Gesigherkenning in die tou geplaas word, om hulle in bestaande of nuwe persone te groepeer.",
|
||||
"face_detection": "Gesig herkenning",
|
||||
"face_detection_description": "Identifiseer die gesigte in media deur middel van masjienleer. Vir videos word slegs die duimnaelskets oorweeg. “Herlaai” (ver)werk al die media weer. “Stel terug” verwyder alle huidige gesigdata. “Onverwerk” plaas bates in die tou wat nog nie verwerk is nie. Geidentifiseerde gesigte sal ná voltooiing van Gesigidentifikasie vir Gesigherkenning in die tou geplaas word, om hulle in bestaande of nuwe persone te groepeer.",
|
||||
"facial_recognition_job_description": "Groepeer gesigte in mense in. Die stap is vinniger nadat Gesig Deteksie klaar is. \"Herstel\" (her-)groepeer alle gesigte. \"Vermiste\" plaas gesigte in ry wat nie 'n persoon gekoppel het nie.",
|
||||
"failed_job_command": "Opdrag {command} het misluk vir werk: {job}",
|
||||
"force_delete_user_warning": "WAARSKUWING: Dit sal onmiddellik die gebruiker en alle bates verwyder. Dit kan nie ontdoen word nie en die lêers kan nie herstel word nie.",
|
||||
|
|
@ -93,15 +101,33 @@
|
|||
"job_status": "Werkstatus",
|
||||
"library_created": "Biblioteek geskep: {library}",
|
||||
"library_deleted": "Biblioteek verwyder",
|
||||
"library_import_path_description": "Spesifiseer 'n leer om in te neem. Hierdie leer, en al die sub leers, gaan geskandeer for vir prente en videos.",
|
||||
"library_scanning": "Periodieke Skandering",
|
||||
"library_scanning_description": "Stel periodieke skandering van biblioteek in",
|
||||
"library_import_path_description": "Spesifiseer 'n leer om in te neem. Hierdie leer, en al die sub leers, gaan deursoek word vir prente en videos.",
|
||||
"library_scanning": "Periodieke Soek",
|
||||
"library_scanning_description": "Stel periodieke deursoek van biblioteek in",
|
||||
"library_scanning_enable_description": "Aktiveer periodieke biblioteekskandering",
|
||||
"library_settings": "Eksterne Biblioteek",
|
||||
"library_settings_description": "Eksterne biblioteek verstellings",
|
||||
"library_tasks_description": "Deursoek eksterne biblioteke vir nuwe of veranderde bates",
|
||||
"library_watching_enable_description": "Hou eksterne biblioteke dop vir leer veranderinge",
|
||||
"library_watching_settings": "Biblioteek dop hou (EKSPERIMENTEEL)",
|
||||
"library_watching_settings_description": "Hou automaties dop vir veranderinge",
|
||||
"logging_enable_description": "Aktifeer \"logging\"",
|
||||
"logging_level_description": "Wanneer aktief, watter vlak van \"logs\" om te skep.",
|
||||
"logging_settings": "\"Logs\"",
|
||||
"machine_learning_clip_model": "CLIP model",
|
||||
"machine_learning_duplicate_detection": "Duplikaat herkenning",
|
||||
"machine_learning_duplicate_detection_enabled": "Aktifeer duplikaat herkenning",
|
||||
"machine_learning_enabled": "Aktifeer masjienleer",
|
||||
"machine_learning_facial_recognition": "Gesigsherkenning",
|
||||
"machine_learning_facial_recognition_description": "Herken, identifiseer en groepeer gesigte in fotos",
|
||||
"machine_learning_facial_recognition_model": "Gesigsherkennings model",
|
||||
"machine_learning_facial_recognition_setting": "Aktifeer gesigsherkenning",
|
||||
"machine_learning_max_detection_distance": "Maksimum herkennings afstand",
|
||||
"map_settings": "Kaart",
|
||||
"migration_job": "Migrasie",
|
||||
"oauth_settings": "OAuth",
|
||||
"transcoding_acceleration_vaapi": "VAAPI"
|
||||
"transcoding_acceleration_vaapi": "VAAPI",
|
||||
"transcoding_preferred_hardware_device": "Verkiesde hardeware"
|
||||
},
|
||||
"administration": "Administrasie",
|
||||
"advanced": "Gevorderde",
|
||||
|
|
|
|||
64
i18n/ar.json
64
i18n/ar.json
|
|
@ -123,6 +123,13 @@
|
|||
"logging_enable_description": "تفعيل تسجيل الأحداث",
|
||||
"logging_level_description": "عند التفعيل، أي مستوى تسجيل سيستخدم.",
|
||||
"logging_settings": "تسجيل الاحداث",
|
||||
"machine_learning_availability_checks": "تحقق من التوفر",
|
||||
"machine_learning_availability_checks_description": "تحديد خوادم التعلم الآلي المتاحة تلقائيًا وإعطاءها الأولوية",
|
||||
"machine_learning_availability_checks_enabled": "تفعيل عمليات فحص التوفر",
|
||||
"machine_learning_availability_checks_interval": "فترة التحقق",
|
||||
"machine_learning_availability_checks_interval_description": "الفترة الزمنية بالمللي ثانية بين عمليات فحص التوفر",
|
||||
"machine_learning_availability_checks_timeout": "انتهت مدة انتظار الطلب",
|
||||
"machine_learning_availability_checks_timeout_description": "مدة انتظار (بالمللي ثانية) لاختبارات توفر الخدمة",
|
||||
"machine_learning_clip_model": "نموذج CLIP",
|
||||
"machine_learning_clip_model_description": "اسم نموذج CLIP مدرجٌ <link>هنا</link>. يرجى ملاحظة أنه يجب إعادة تشغيل وظيفة \"البحث الذكي\" لجميع الصور بعد تغيير النموذج.",
|
||||
"machine_learning_duplicate_detection": "كشف التكرار",
|
||||
|
|
@ -387,8 +394,6 @@
|
|||
"admin_password": "كلمة سر المشرف",
|
||||
"administration": "الإدارة",
|
||||
"advanced": "متقدم",
|
||||
"advanced_settings_beta_timeline_subtitle": "جرب تجربة التطبيق الجديدة",
|
||||
"advanced_settings_beta_timeline_title": "الجدول الزمني التجريبي",
|
||||
"advanced_settings_enable_alternate_media_filter_subtitle": "استخدم هذا الخيار لتصفية الوسائط اثناء المزامنه بناء على معايير بديلة. جرب هذا الخيار فقط كان لديك مشاكل مع التطبيق بالكشف عن جميع الالبومات.",
|
||||
"advanced_settings_enable_alternate_media_filter_title": "[تجريبي] استخدم جهاز تصفية مزامنه البومات بديل",
|
||||
"advanced_settings_log_level_title": "مستوى السجل: {level}",
|
||||
|
|
@ -396,6 +401,7 @@
|
|||
"advanced_settings_prefer_remote_title": "تفضل الصور البعيدة",
|
||||
"advanced_settings_proxy_headers_subtitle": "عرف عناوين الوكيل التي يستخدمها Immich لارسال كل طلب شبكي",
|
||||
"advanced_settings_proxy_headers_title": "عناوين الوكيل",
|
||||
"advanced_settings_readonly_mode_subtitle": "تتيح هذه الميزة وضع العرض فقط، حيث يمكن للمستخدم معاينة الصور فقط، بينما يتم تعطيل جميع الخيارات الأخرى مثل تحديد عدة صور، أو مشاركتها، أو بثها، أو حذفها. يمكن تفعيل/تعطيل وضع العرض فقط من خلال صورة المستخدم في الشاشة الرئيسية",
|
||||
"advanced_settings_readonly_mode_title": "وضع القراءة فقط",
|
||||
"advanced_settings_self_signed_ssl_subtitle": "تخطي التحقق من شهادة SSL لخادم النقطة النهائي. مكلوب للشهادات الموقعة ذاتيا.",
|
||||
"advanced_settings_self_signed_ssl_title": "السماح بشهادات SSL الموقعة ذاتيًا",
|
||||
|
|
@ -424,6 +430,7 @@
|
|||
"album_remove_user_confirmation": "هل أنت متأكد أنك تريد إزالة {user}؟",
|
||||
"album_search_not_found": "لم يتم ايجاد البوم مطابق لبحثك",
|
||||
"album_share_no_users": "يبدو أنك قمت بمشاركة هذا الألبوم مع جميع المستخدمين أو ليس لديك أي مستخدم للمشاركة معه.",
|
||||
"album_summary": "ملخص الألبوم",
|
||||
"album_updated": "تم تحديث الألبوم",
|
||||
"album_updated_setting_description": "تلقي إشعارًا عبر البريد الإلكتروني عندما يحتوي الألبوم المشترك على محتويات جديدة",
|
||||
"album_user_left": "تم ترك {album}",
|
||||
|
|
@ -462,6 +469,7 @@
|
|||
"app_bar_signout_dialog_title": "خروج",
|
||||
"app_settings": "إعدادات التطبيق",
|
||||
"appears_in": "يظهر في",
|
||||
"apply_count": "تطبيق ({count, number})",
|
||||
"archive": "الأرشيف",
|
||||
"archive_action_prompt": "{count} اضيف إلى الارشيف",
|
||||
"archive_or_unarchive_photo": "أرشفة الصورة أو إلغاء أرشفتها",
|
||||
|
|
@ -494,6 +502,8 @@
|
|||
"asset_restored_successfully": "تم استعادة الاصل بنجاح",
|
||||
"asset_skipped": "تم تخطيه",
|
||||
"asset_skipped_in_trash": "في سلة المهملات",
|
||||
"asset_trashed": "اصول محذوفة",
|
||||
"asset_troubleshoot": "استكشاف مشاكل الأصول",
|
||||
"asset_uploaded": "تم الرفع",
|
||||
"asset_uploading": "جارٍ الرفع…",
|
||||
"asset_viewer_settings_subtitle": "إدارة إعدادات عارض المعرض الخاص بك",
|
||||
|
|
@ -501,7 +511,9 @@
|
|||
"assets": "المحتويات",
|
||||
"assets_added_count": "تمت إضافة {count, plural, one {# محتوى} other {# محتويات}}",
|
||||
"assets_added_to_album_count": "تمت إضافة {count, plural, one {# الأصل} other {# الأصول}} إلى الألبوم",
|
||||
"assets_added_to_albums_count": "تمت اضافة {assetTotal, plural, one {# اصل} other {# اصول}} to {albumTotal, plural, one {# البوم} other {# البومات}}",
|
||||
"assets_cannot_be_added_to_album_count": "{count, plural, one {Asset} other {Assets}} لايمكن اضافته الى الالبوم",
|
||||
"assets_cannot_be_added_to_albums": "{count, plural, one {اصل} other {اصول}} لا يمكن إضافته إلى أي من الألبومات",
|
||||
"assets_count": "{count, plural, one {# محتوى} other {# محتويات}}",
|
||||
"assets_deleted_permanently": "{count} الاص(و)ل المحذوف(ه) بشكل دائم",
|
||||
"assets_deleted_permanently_from_server": "{count} الاص(و)ل المحذوف(ه) بشكل دائمي من خادم Immich",
|
||||
|
|
@ -518,14 +530,17 @@
|
|||
"assets_trashed_count": "تم إرسال {count, plural, one {# محتوى} other {# محتويات}} إلى سلة المهملات",
|
||||
"assets_trashed_from_server": "{count} الاص(و)ل المنقولة الى سلة المهملات من خادم Immich",
|
||||
"assets_were_part_of_album_count": "{count, plural, one {هذا المحتوى} other {هذه المحتويات}} في الألبوم بالفعل",
|
||||
"assets_were_part_of_albums_count": "{count, plural, one {اصل هو} other {اصول هي}}بالفعل جزء من الألبومات",
|
||||
"authorized_devices": "الأجهزه المخولة",
|
||||
"automatic_endpoint_switching_subtitle": "اتصل محليا من خلال شبكه Wi-Fi عند توفرها و استخدم اتصالات بديله في الاماكن الاخرى",
|
||||
"automatic_endpoint_switching_title": "تبديل URL تلقائي",
|
||||
"autoplay_slideshow": "تشغيل تلقائي لعرض الشرائح",
|
||||
"back": "خلف",
|
||||
"back_close_deselect": "الرجوع أو الإغلاق أو إلغاء التحديد",
|
||||
"background_backup_running_error": "يتم تشغيل النسخ الاحتياطي في الخلفية حاليًا، ولا يمكن بدء النسخ الاحتياطي اليدوي",
|
||||
"background_location_permission": "اذن الوصول للموقع في الخلفية",
|
||||
"background_location_permission_content": "للتمكن من تبديل الشبكه بالخلفية، Immich يحتاج*دائما* للحصول على موقع دقيق ليتمكن التطبيق من قرائة اسم شبكة الWi-Fi",
|
||||
"background_options": "خيارات الخلفية",
|
||||
"backup": "نسخ احتياطي",
|
||||
"backup_album_selection_page_albums_device": "الالبومات على الجهاز ({count})",
|
||||
"backup_album_selection_page_albums_tap": "انقر للتضمين، وانقر نقرًا مزدوجًا للاستثناء",
|
||||
|
|
@ -533,6 +548,7 @@
|
|||
"backup_album_selection_page_select_albums": "حدد الألبومات",
|
||||
"backup_album_selection_page_selection_info": "معلومات الاختيار",
|
||||
"backup_album_selection_page_total_assets": "إجمالي الأصول الفريدة",
|
||||
"backup_albums_sync": "مزامنة ألبومات النسخ الاحتياطي",
|
||||
"backup_all": "الجميع",
|
||||
"backup_background_service_backup_failed_message": "فشل في النسخ الاحتياطي للأصول. جارٍ إعادة المحاولة…",
|
||||
"backup_background_service_connection_failed_message": "فشل في الاتصال بالخادم. جارٍ إعادة المحاولة…",
|
||||
|
|
@ -649,6 +665,8 @@
|
|||
"change_pin_code": "تغيير رمز PIN",
|
||||
"change_your_password": "غير كلمة المرور الخاصة بك",
|
||||
"changed_visibility_successfully": "تم تغيير الرؤية بنجاح",
|
||||
"charging": "الشحن",
|
||||
"charging_requirement_mobile_backup": "يتطلب النسخ الاحتياطي في الخلفية أن يكون الجهاز قيد الشحن",
|
||||
"check_corrupt_asset_backup": "التحقق من وجود نسخ احتياطية فاسدة للاصول",
|
||||
"check_corrupt_asset_backup_button": "اجراء فحص",
|
||||
"check_corrupt_asset_backup_description": "قم بإجراء هذا الفحص فقط عبر شبكة Wi-Fi وبعد نسخ جميع الأصول احتياطيًا. قد يستغرق الإجراء بضع دقائق.",
|
||||
|
|
@ -735,6 +753,7 @@
|
|||
"create_user": "إنشاء مستخدم",
|
||||
"created": "تم الإنشاء",
|
||||
"created_at": "مخلوق",
|
||||
"creating_linked_albums": "جاري إنشاء الألبومات المرتبطة...",
|
||||
"crop": "قص",
|
||||
"curated_object_page_title": "أشياء",
|
||||
"current_device": "الجهاز الحالي",
|
||||
|
|
@ -884,7 +903,9 @@
|
|||
"error": "خطأ",
|
||||
"error_change_sort_album": "فشل في تغيير ترتيب الألبوم",
|
||||
"error_delete_face": "حدث خطأ في حذف الوجه من الأصول",
|
||||
"error_getting_places": "خطأ أثناء استرجاع بيانات المواقع",
|
||||
"error_loading_image": "حدث خطأ أثناء تحميل الصورة",
|
||||
"error_loading_partners": "خطأ بتحميل بيانات الشركاء: {error}",
|
||||
"error_saving_image": "خطأ: {error}",
|
||||
"error_tag_face_bounding_box": "خطأ في وضع علامة على الوجه - لا يمكن الحصول على إحداثيات المربع المحيط",
|
||||
"error_title": "خطأ - حدث خللٌ ما",
|
||||
|
|
@ -1049,6 +1070,7 @@
|
|||
"favorites_page_no_favorites": "لم يتم العثور على الأصول المفضلة",
|
||||
"feature_photo_updated": "تم تحديث الصورة المميزة",
|
||||
"features": "الميزات",
|
||||
"features_in_development": "الميزات قيد التطوير",
|
||||
"features_setting_description": "إدارة ميزات التطبيق",
|
||||
"file_name": "إسم الملف",
|
||||
"file_name_or_extension": "اسم الملف أو امتداده",
|
||||
|
|
@ -1069,12 +1091,15 @@
|
|||
"gcast_enabled": "كوكل كاست",
|
||||
"gcast_enabled_description": "تقوم هذه الميزة بتحميل الموارد الخارجية من Google حتى تعمل.",
|
||||
"general": "عام",
|
||||
"geolocation_instruction_location": "انقر على الاصل الذي يحتوي على إحداثيات نظام تحديد المواقع لاستخدام موقعه، أو اختر الموقع مباشرة من الخريطة",
|
||||
"get_help": "الحصول على المساعدة",
|
||||
"get_wifiname_error": "تعذر الحصول على اسم شبكة Wi-Fi. تأكد من منح الأذونات اللازمة واتصالك بشبكة Wi-Fi",
|
||||
"getting_started": "البدء",
|
||||
"go_back": "الرجوع للخلف",
|
||||
"go_to_folder": "اذهب إلى المجلد",
|
||||
"go_to_search": "اذهب إلى البحث",
|
||||
"gps": "نظام تحديد المواقع",
|
||||
"gps_missing": "لا يوجد نظام تحديد المواقع",
|
||||
"grant_permission": "منح الاذن",
|
||||
"group_albums_by": "تجميع الألبومات حسب...",
|
||||
"group_country": "مجموعة البلد",
|
||||
|
|
@ -1210,6 +1235,7 @@
|
|||
"local": "محلّي",
|
||||
"local_asset_cast_failed": "غير قادر على بث أصل لم يتم تحميله إلى الخادم",
|
||||
"local_assets": "أُصول (ملفات) محلية",
|
||||
"local_media_summary": "ملخص الملفات المحلية",
|
||||
"local_network": "شبكة محلية",
|
||||
"local_network_sheet_info": "سيتصل التطبيق بالخادم من خلال عنوان URL هذا عند استخدام شبكة Wi-Fi المحددة",
|
||||
"location_permission": "اذن الموقع",
|
||||
|
|
@ -1221,6 +1247,7 @@
|
|||
"location_picker_longitude_hint": "أدخل خط الطول هنا",
|
||||
"lock": "قفل",
|
||||
"locked_folder": "مجلد مقفول",
|
||||
"log_detail_title": "تفاصيل السجل",
|
||||
"log_out": "تسجيل خروج",
|
||||
"log_out_all_devices": "تسجيل الخروج من كافة الأجهزة",
|
||||
"logged_in_as": "تم تسجيل الدخول باسم {user}",
|
||||
|
|
@ -1251,6 +1278,7 @@
|
|||
"login_password_changed_success": "تم تحديث كلمة السر بنجاح",
|
||||
"logout_all_device_confirmation": "هل أنت متأكد أنك تريد تسجيل الخروج من جميع الأجهزة؟",
|
||||
"logout_this_device_confirmation": "هل أنت متأكد أنك تريد تسجيل الخروج من هذا الجهاز؟",
|
||||
"logs": "السجلات",
|
||||
"longitude": "خط الطول",
|
||||
"look": "الشكل",
|
||||
"loop_videos": "تكرار مقاطع الفيديو",
|
||||
|
|
@ -1258,6 +1286,7 @@
|
|||
"main_branch_warning": "أنت تستخدم إصداراً قيد التطوير؛ ونحن نوصي بشدة باستخدام إصدار النشر!",
|
||||
"main_menu": "القائمة الرئيسية",
|
||||
"make": "صنع",
|
||||
"manage_geolocation": "إدارة الموقع",
|
||||
"manage_shared_links": "إدارة الروابط المشتركة",
|
||||
"manage_sharing_with_partners": "إدارة المشاركة مع الشركاء",
|
||||
"manage_the_app_settings": "إدارة إعدادات التطبيق",
|
||||
|
|
@ -1292,6 +1321,7 @@
|
|||
"mark_as_read": "تحديد كمقروء",
|
||||
"marked_all_as_read": "تم تحديد الكل كمقروء",
|
||||
"matches": "تطابقات",
|
||||
"matching_assets": "الاصول المطابقة",
|
||||
"media_type": "نوع الوسائط",
|
||||
"memories": "الذكريات",
|
||||
"memories_all_caught_up": "كل شيء محدث",
|
||||
|
|
@ -1332,6 +1362,7 @@
|
|||
"name_or_nickname": "الاسم أو اللقب",
|
||||
"network_requirement_photos_upload": "استخدام بيانات الهاتف المحمول لعمل نسخة احتياطية للصور",
|
||||
"network_requirement_videos_upload": "استخدام بيانات الهاتف المحمول لعمل نسخة احتياطية لمقاطع الفيديو",
|
||||
"network_requirements": "متطلبات الشبكة",
|
||||
"network_requirements_updated": "تم تغيير متطلبات الشبكة، يتم إعادة تعيين قائمة انتظار النسخ الاحتياطي",
|
||||
"networking_settings": "الشبكات",
|
||||
"networking_subtitle": "إدارة إعدادات نقطة الخادم النهائية",
|
||||
|
|
@ -1342,6 +1373,7 @@
|
|||
"new_person": "شخص جديد",
|
||||
"new_pin_code": "رمز PIN الجديد",
|
||||
"new_pin_code_subtitle": "هذه أول مرة تدخل فيها إلى المجلد المقفل. أنشئ رمزًا PIN للوصول بامان إلى هذه الصفحة",
|
||||
"new_timeline": "الخط الزمني الجديد",
|
||||
"new_user_created": "تم إنشاء مستخدم جديد",
|
||||
"new_version_available": "إصدار جديد متاح",
|
||||
"newest_first": "الأحدث أولاً",
|
||||
|
|
@ -1355,20 +1387,25 @@
|
|||
"no_assets_message": "انقر لتحميل صورتك الأولى",
|
||||
"no_assets_to_show": "لا توجد أصول لعرضها",
|
||||
"no_cast_devices_found": "لم يتم ايجاد جهاز بث",
|
||||
"no_checksum_local": "لا توجد بيانات تحقق متاحة - يتعذر تحميل الاصول المحلية",
|
||||
"no_checksum_remote": "لا يوجد رمز تحقق متاح - يتعذر تحميل الاصل من الموقع البعيد",
|
||||
"no_duplicates_found": "لم يتم العثور على أي تكرارات.",
|
||||
"no_exif_info_available": "لا تتوفر معلومات exif",
|
||||
"no_explore_results_message": "قم برفع المزيد من الصور لاستكشاف مجموعتك.",
|
||||
"no_favorites_message": "أضف المفضلة للعثور بسرعة على أفضل الصور ومقاطع الفيديو",
|
||||
"no_libraries_message": "إنشاء مكتبة خارجية لعرض الصور ومقاطع الفيديو الخاصة بك",
|
||||
"no_local_assets_found": "لم يتم العثور على أي اصول محلية تتطابق مع قيمة التحقق هذه",
|
||||
"no_locked_photos_message": "الصور والفديوهات في المجلد المقفل مخفية ولن تصهر في التصفح او البحث في مكتبتك.",
|
||||
"no_name": "لا اسم",
|
||||
"no_notifications": "لا توجد تنبيهات",
|
||||
"no_people_found": "لم يتم العثور على اشخاص مطابقين",
|
||||
"no_places": "لا أماكن",
|
||||
"no_remote_assets_found": "لم يتم العثور على أي اصول بعيدة تتطابق مع رمز التحقق هذل",
|
||||
"no_results": "لا يوجد نتائج",
|
||||
"no_results_description": "جرب كلمة رئيسية مرادفة أو أكثر عمومية",
|
||||
"no_shared_albums_message": "قم بإنشاء ألبوم لمشاركة الصور ومقاطع الفيديو مع الأشخاص في شبكتك",
|
||||
"no_uploads_in_progress": "لا يوجد اي ملفات قيد الرفع",
|
||||
"not_available": "غير متاح",
|
||||
"not_in_any_album": "ليست في أي ألبوم",
|
||||
"not_selected": "لم يختار",
|
||||
"note_apply_storage_label_to_previously_uploaded assets": "ملاحظة: لتطبيق سمة التخزين على المحتويات التي تم رفعها مسبقًا، قم بتشغيل",
|
||||
|
|
@ -1403,6 +1440,8 @@
|
|||
"open_the_search_filters": "افتح مرشحات البحث",
|
||||
"options": "خيارات",
|
||||
"or": "أو",
|
||||
"organize_into_albums": "ترتيب في ألبومات",
|
||||
"organize_into_albums_description": "أضف الصور الموجودة إلى الألبومات باستخدام إعدادات النسخ المتزامن الحالية",
|
||||
"organize_your_library": "تنظيم مكتبتك",
|
||||
"original": "أصلي",
|
||||
"other": "أخرى",
|
||||
|
|
@ -1488,6 +1527,7 @@
|
|||
"port": "المنفذ",
|
||||
"preferences_settings_subtitle": "ادارة تفضيلات التطبيق",
|
||||
"preferences_settings_title": "التفضيلات",
|
||||
"preparing": "قيد التحضير",
|
||||
"preset": "الإعداد المسبق",
|
||||
"preview": "معاينة",
|
||||
"previous": "السابق",
|
||||
|
|
@ -1504,6 +1544,7 @@
|
|||
"profile_drawer_client_out_of_date_minor": "تطبيق الهاتف المحمول قديم.يرجى التحديث إلى أحدث إصدار صغير.",
|
||||
"profile_drawer_client_server_up_to_date": "العميل والخادم محدثان",
|
||||
"profile_drawer_github": "Github",
|
||||
"profile_drawer_readonly_mode": "تم تفعيل وضع القراءة فقط. اضغط مطولا على رمز صورة المستخدم للخروج.",
|
||||
"profile_drawer_server_out_of_date_major": "الخادم قديم.يرجى التحديث إلى أحدث إصدار رئيسي.",
|
||||
"profile_drawer_server_out_of_date_minor": "الخادم قديم.يرجى التحديث إلى أحدث إصدار صغير.",
|
||||
"profile_image_of_user": "صورة الملف الشخصي لـ {user}",
|
||||
|
|
@ -1542,6 +1583,7 @@
|
|||
"purchase_server_description_2": "حالة الداعم",
|
||||
"purchase_server_title": "الخادم",
|
||||
"purchase_settings_server_activated": "يتم إدارة مفتاح منتج الخادم من قبل مدير النظام",
|
||||
"query_asset_id": "استعلام عن معرف الأصل",
|
||||
"queue_status": "يتم الاضافة الى قائمة انتظار النسخ الاحتياطي {count}/{total}",
|
||||
"rating": "تقييم نجمي",
|
||||
"rating_clear": "مسح التقييم",
|
||||
|
|
@ -1549,6 +1591,9 @@
|
|||
"rating_description": "اعرض تقييم EXIF في لوحة المعلومات",
|
||||
"reaction_options": "خيارات رد الفعل",
|
||||
"read_changelog": "قراءة سجل التغيير",
|
||||
"readonly_mode_disabled": "تم تعطيل وضع القراءة فقط",
|
||||
"readonly_mode_enabled": "تم تفعيل وضع القراءة فقط",
|
||||
"ready_for_upload": "جاهز للرفع",
|
||||
"reassign": "إعادة التعيين",
|
||||
"reassigned_assets_to_existing_person": "تمت إعادة تعيين {count, plural, one {# الأصل} other {# الاصول}} إلى {name, select, null {شخص موجود } other {{name}}}",
|
||||
"reassigned_assets_to_new_person": "تمت إعادة تعيين {count, plural, one {# المحتوى} other {# المحتويات}} إلى شخص جديد",
|
||||
|
|
@ -1573,6 +1618,7 @@
|
|||
"regenerating_thumbnails": "جارٍ تجديد الصور المصغرة",
|
||||
"remote": "بعيد",
|
||||
"remote_assets": "الأُصول البعيدة",
|
||||
"remote_media_summary": "ملخص الملفات البعيدة",
|
||||
"remove": "إزالة",
|
||||
"remove_assets_album_confirmation": "هل أنت متأكد أنك تريد إزالة {count, plural, one {# المحتوى} other {# المحتويات}} من الألبوم ؟",
|
||||
"remove_assets_shared_link_confirmation": "هل أنت متأكد أنك تريد إزالة {count, plural, one {# المحتوى} other {# المحتويات}} من رابط المشاركة هذا؟",
|
||||
|
|
@ -1625,6 +1671,7 @@
|
|||
"restore_user": "استعادة المستخدم",
|
||||
"restored_asset": "المحتويات المستعادة",
|
||||
"resume": "استئناف",
|
||||
"resume_paused_jobs": "استكمال {count, plural, one {# وظيفة معلقة} other {# وظائف معلقة}}",
|
||||
"retry_upload": "أعد محاولة الرفع",
|
||||
"review_duplicates": "مراجعة التكرارات",
|
||||
"review_large_files": "مراجعة الملفات الكبيرة",
|
||||
|
|
@ -1718,6 +1765,7 @@
|
|||
"select_user_for_sharing_page_err_album": "فشل في إنشاء ألبوم",
|
||||
"selected": "التحديد",
|
||||
"selected_count": "{count, plural, other {# محددة }}",
|
||||
"selected_gps_coordinates": "إحداثيات نظام تحديد المواقع المختارة",
|
||||
"send_message": "إرسال رسالة",
|
||||
"send_welcome_email": "إرسال بريدًا إلكترونيًا ترحيبيًا",
|
||||
"server_endpoint": "نقطة نهاية الخادم",
|
||||
|
|
@ -1846,6 +1894,7 @@
|
|||
"show_slideshow_transition": "إظهار انتقال عرض الشرائح",
|
||||
"show_supporter_badge": "شارة المؤيد",
|
||||
"show_supporter_badge_description": "إظهار شارة المؤيد",
|
||||
"show_text_search_menu": "عرض قائمة خيارات البحث في النص",
|
||||
"shuffle": "خلط",
|
||||
"sidebar": "الشريط الجانبي",
|
||||
"sidebar_display_description": "عرض رابط للعرض في الشريط الجانبي",
|
||||
|
|
@ -1876,6 +1925,7 @@
|
|||
"stacktrace": "تتّبُع التكديس",
|
||||
"start": "ابدأ",
|
||||
"start_date": "تاريخ البدء",
|
||||
"start_date_before_end_date": "يجب أن يكون تاريخ بدء الفترة قبل تاريخ نهايتها",
|
||||
"state": "الولاية",
|
||||
"status": "الحالة",
|
||||
"stop_casting": "ايقاف البث",
|
||||
|
|
@ -1900,6 +1950,8 @@
|
|||
"sync_albums_manual_subtitle": "مزامنة جميع الفديوهات والصور المرفوعة الى البومات الخزن الاحتياطي المختارة",
|
||||
"sync_local": "مزامنة الملفات المحلية",
|
||||
"sync_remote": "مزامنة الملفات البعيدة",
|
||||
"sync_status": "حالة النسخ المتزامن",
|
||||
"sync_status_subtitle": "عرض وإدارة نظام النسخ المتزامن",
|
||||
"sync_upload_album_setting_subtitle": "انشئ و ارفع صورك و فديوهاتك الالبومات المختارة في Immich",
|
||||
"tag": "العلامة",
|
||||
"tag_assets": "أصول العلامة",
|
||||
|
|
@ -1937,7 +1989,9 @@
|
|||
"to_change_password": "تغيير كلمة المرور",
|
||||
"to_favorite": "تفضيل",
|
||||
"to_login": "تسجيل الدخول",
|
||||
"to_multi_select": "للتحديد المتعدد",
|
||||
"to_parent": "انتقل إلى الوالد",
|
||||
"to_select": "للتحديد",
|
||||
"to_trash": "حذف",
|
||||
"toggle_settings": "الإعدادات",
|
||||
"total": "الإجمالي",
|
||||
|
|
@ -1957,6 +2011,7 @@
|
|||
"trash_page_select_assets_btn": "اختر الأصول",
|
||||
"trash_page_title": "سلة المهملات ({count})",
|
||||
"trashed_items_will_be_permanently_deleted_after": "سيتم حذفُ العناصر المحذوفة نِهائيًا بعد {days, plural, one {# يوم} other {# أيام }}.",
|
||||
"troubleshoot": "استكشاف المشاكل",
|
||||
"type": "النوع",
|
||||
"unable_to_change_pin_code": "تفيير رمز PIN غير ممكن",
|
||||
"unable_to_setup_pin_code": "انشاء رمز PIN غير ممكن",
|
||||
|
|
@ -1987,6 +2042,7 @@
|
|||
"unstacked_assets_count": "تم إخراج {count, plural, one {# الأصل} other {# الأصول}} من التكديس",
|
||||
"untagged": "غير مُعَلَّم",
|
||||
"up_next": "التالي",
|
||||
"update_location_action_prompt": "تحديث موقع {count} عناصر محددة على النحو التالي:",
|
||||
"updated_at": "تم التحديث",
|
||||
"updated_password": "تم تحديث كلمة المرور",
|
||||
"upload": "رفع",
|
||||
|
|
@ -2053,6 +2109,7 @@
|
|||
"view_next_asset": "عرض المحتوى التالي",
|
||||
"view_previous_asset": "عرض المحتوى السابق",
|
||||
"view_qr_code": "عرض رمز الاستجابة السريعة",
|
||||
"view_similar_photos": "عرض صور مشابهة",
|
||||
"view_stack": "عرض التكديس",
|
||||
"view_user": "عرض المستخدم",
|
||||
"viewer_remove_from_stack": "حذف من الكومه أو المجموعة",
|
||||
|
|
@ -2071,5 +2128,6 @@
|
|||
"yes": "نعم",
|
||||
"you_dont_have_any_shared_links": "ليس لديك أي روابط مشتركة",
|
||||
"your_wifi_name": "اسم شبكة Wi-Fi الخاص بك",
|
||||
"zoom_image": "تكبير الصورة"
|
||||
"zoom_image": "تكبير الصورة",
|
||||
"zoom_to_bounds": "تكبير حتى حدود المنطقة"
|
||||
}
|
||||
|
|
|
|||
11
i18n/az.json
11
i18n/az.json
|
|
@ -2,7 +2,7 @@
|
|||
"about": "Haqqında",
|
||||
"account": "Hesab",
|
||||
"account_settings": "Hesab parametrləri",
|
||||
"acknowledge": "Təsdiq et",
|
||||
"acknowledge": "Aydındır",
|
||||
"action": "Əməliyyat",
|
||||
"action_common_update": "Yenilə",
|
||||
"actions": "Əməliyyatlar",
|
||||
|
|
@ -48,8 +48,15 @@
|
|||
"backup_database": "Verilənlər bazasının dump-ını yaradın",
|
||||
"backup_database_enable_description": "Verilənlər bazasının artıq nüsxələrini aktiv et",
|
||||
"backup_keep_last_amount": "Tutulması gərəkən nüsxələrin sayı",
|
||||
"backup_settings": "Ehtiyat Nüsxə Parametrləri",
|
||||
"backup_onboarding_1_description": "buludda və ya başqa fiziki yerdə saytdan kənar surət.",
|
||||
"backup_onboarding_2_description": "müxtəlif cihazlarda yerli nüsxələr. Bura əsas fayllar və həmin faylların ehtiyat lokal nüsxəsi daxildir.",
|
||||
"backup_onboarding_3_description": "orijinal fayllar da daxil olmaqla məlumatlarınızın ümumi surətləri. Buraya 1 kənar nüsxə və 2 lokal nüsxə daxildir.",
|
||||
"backup_onboarding_footer": "Immich-in ehtiyat nüsxəsini çıxarmaq haqqında ətraflı məlumat üçün <link>sənədlərə</link> müraciət edin.",
|
||||
"backup_onboarding_parts_title": "3-2-1 ehtiyat nüsxəsinə aşağıdakılar daxildir:",
|
||||
"backup_onboarding_title": "Ehtiyat surətlər",
|
||||
"backup_settings": "Bazanın Dump Parametrləri",
|
||||
"backup_settings_description": "Verilənlər bazasının ehtiyat nüsxə parametrlərini idarə et",
|
||||
"cleared_jobs": "{job} üçün tapşırıqlar silindi",
|
||||
"config_set_by_file": "Konfiqurasiya hal-hazırda konfiqurasiya faylı ilə təyin olunub",
|
||||
"confirm_delete_library": "{library} kitabxanasını silmək istədiyinizdən əminmisiniz?",
|
||||
"confirm_email_below": "Təsdiqləmək üçün aşağıya {email} yazın",
|
||||
|
|
|
|||
|
|
@ -28,6 +28,8 @@
|
|||
"add_to_album": "Дадаць у альбом",
|
||||
"add_to_album_bottom_sheet_added": "Дададзена да {album}",
|
||||
"add_to_album_bottom_sheet_already_exists": "Ужо знаходзіцца ў {album}",
|
||||
"add_to_album_bottom_sheet_some_local_assets": "Некаторыя лакальныя актывы не могуць быць дададзены ў альбом",
|
||||
"add_to_album_toggle": "Пераключыць выбар для {album}",
|
||||
"add_to_albums": "Дадаць у альбомы",
|
||||
"add_to_albums_count": "Дадаць у альбомы ({count})",
|
||||
"add_to_shared_album": "Дадаць у агульны альбом",
|
||||
|
|
|
|||
58
i18n/bg.json
58
i18n/bg.json
|
|
@ -123,6 +123,13 @@
|
|||
"logging_enable_description": "Включване на запис (логове)",
|
||||
"logging_level_description": "Когато е включено, какво ниво на записване да се използва.",
|
||||
"logging_settings": "Записване",
|
||||
"machine_learning_availability_checks": "Проверки за наличност",
|
||||
"machine_learning_availability_checks_description": "Автоматично откриване и предпочитане на налични сървъри за машинно обучение",
|
||||
"machine_learning_availability_checks_enabled": "Активиране на проверки за наличност",
|
||||
"machine_learning_availability_checks_interval": "Интервал на проверяване",
|
||||
"machine_learning_availability_checks_interval_description": "Време в милисекунди между проверките за наличност",
|
||||
"machine_learning_availability_checks_timeout": "Време за изчакване на отговор",
|
||||
"machine_learning_availability_checks_timeout_description": "Време за изчакване на отговор в милисекунди при проверка на наличност",
|
||||
"machine_learning_clip_model": "CLIP модел",
|
||||
"machine_learning_clip_model_description": "Името на CLIP модела, посочен <link>тук</link>. Имайте предвид, че при промяна на модела трябва да стартирате отново задачата \"Интелигентно Търсене\" за всички изображения.",
|
||||
"machine_learning_duplicate_detection": "Откриване на дубликати",
|
||||
|
|
@ -387,8 +394,6 @@
|
|||
"admin_password": "Администраторска парола",
|
||||
"administration": "Администрация",
|
||||
"advanced": "Разширено",
|
||||
"advanced_settings_beta_timeline_subtitle": "Опитайте новите функции на приложението",
|
||||
"advanced_settings_beta_timeline_title": "Бета версия на времевата линия",
|
||||
"advanced_settings_enable_alternate_media_filter_subtitle": "При синхронизация, използвайте тази опция като филтър, основан на промяна на даден критерии. Опитайте само в случай, че приложението има проблем с откриване на всички албуми.",
|
||||
"advanced_settings_enable_alternate_media_filter_title": "[ЕКСПЕРИМЕНТАЛНО] Използвай филтъра на алтернативното устройство за синхронизация на албуми",
|
||||
"advanced_settings_log_level_title": "Ниво на запис в дневника: {level}",
|
||||
|
|
@ -404,7 +409,7 @@
|
|||
"advanced_settings_sync_remote_deletions_title": "Синхронизация на дистанционни изтривания [ЕКСПЕРИМЕНТАЛНО]",
|
||||
"advanced_settings_tile_subtitle": "Разширени потребителски настройки",
|
||||
"advanced_settings_troubleshooting_subtitle": "Разреши допълнителни възможности за отстраняване на проблеми",
|
||||
"advanced_settings_troubleshooting_title": "Отстраняване на проблеми",
|
||||
"advanced_settings_troubleshooting_title": "Отстраняванe на проблеми",
|
||||
"age_months": "Възраст {months, plural, one {# месец} other {# месеци}}",
|
||||
"age_year_months": "Възраст 1 година, {months, plural, one {# месец} other {# месеци}}",
|
||||
"age_years": "{years, plural, other {Година #}}",
|
||||
|
|
@ -425,6 +430,7 @@
|
|||
"album_remove_user_confirmation": "Сигурни ли сте, че искате да премахнете {user}?",
|
||||
"album_search_not_found": "Няма намерени албуми, отговарящи на търсенето ви",
|
||||
"album_share_no_users": "Изглежда, че сте споделили този албум с всички потребители или нямате друг потребител, с когото да го споделите.",
|
||||
"album_summary": "Обобщение на албума",
|
||||
"album_updated": "Албумът е актуализиран",
|
||||
"album_updated_setting_description": "Получавайте известие по имейл, когато споделен албум има нови файлове",
|
||||
"album_user_left": "Напусна {album}",
|
||||
|
|
@ -496,6 +502,8 @@
|
|||
"asset_restored_successfully": "Успешно възстановен обект",
|
||||
"asset_skipped": "Пропуснато",
|
||||
"asset_skipped_in_trash": "В кошчето",
|
||||
"asset_trashed": "Обектът е изхвърлен",
|
||||
"asset_troubleshoot": "Поправка на грешки с обекта",
|
||||
"asset_uploaded": "Качено",
|
||||
"asset_uploading": "Качване…",
|
||||
"asset_viewer_settings_subtitle": "Управление на настройките за изглед",
|
||||
|
|
@ -529,8 +537,10 @@
|
|||
"autoplay_slideshow": "Автоматична смяна на слайдовете",
|
||||
"back": "Назад",
|
||||
"back_close_deselect": "Назад, затваряне или премахване на избора",
|
||||
"background_backup_running_error": "Стартирано е фоново архивиране, не може да се пусне ръчно архивиране",
|
||||
"background_location_permission": "Разрешение за достъп до местоположението във фонов режим",
|
||||
"background_location_permission_content": "За да може да чете имената на Wi-Fi мрежите и да ги превключва при работа във фонов режим, Immich трябва *винаги* да има достъп до точното местоположение",
|
||||
"background_options": "Опции за фоновите задачи",
|
||||
"backup": "Архивиране",
|
||||
"backup_album_selection_page_albums_device": "Албуми на устройството ({count})",
|
||||
"backup_album_selection_page_albums_tap": "Натисни за да включиш, двойно за да изключиш",
|
||||
|
|
@ -538,6 +548,7 @@
|
|||
"backup_album_selection_page_select_albums": "Избор на албуми",
|
||||
"backup_album_selection_page_selection_info": "Информация за избраното",
|
||||
"backup_album_selection_page_total_assets": "Уникални обекти общо",
|
||||
"backup_albums_sync": "Синхронизиране на архивите",
|
||||
"backup_all": "Всичко",
|
||||
"backup_background_service_backup_failed_message": "Неуспешно архивиране. Нов опит…",
|
||||
"backup_background_service_connection_failed_message": "Неуспешно свързване към сървъра. Нов опит…",
|
||||
|
|
@ -587,7 +598,7 @@
|
|||
"backup_controller_page_turn_on": "Включи архивиране в активен режим",
|
||||
"backup_controller_page_uploading_file_info": "Инфо за архивирания файл",
|
||||
"backup_err_only_album": "Не може да се премахне единствения албум",
|
||||
"backup_info_card_assets": "обекти",
|
||||
"backup_info_card_assets": "обекта",
|
||||
"backup_manual_cancelled": "Отменено",
|
||||
"backup_manual_in_progress": "Върви архивиране. Опитай след малко",
|
||||
"backup_manual_success": "Успешно",
|
||||
|
|
@ -654,6 +665,8 @@
|
|||
"change_pin_code": "Смени PIN кода",
|
||||
"change_your_password": "Променете паролата си",
|
||||
"changed_visibility_successfully": "Видимостта е променена успешно",
|
||||
"charging": "При зареждане",
|
||||
"charging_requirement_mobile_backup": "Фоново архивиране само при зареждане на устройството",
|
||||
"check_corrupt_asset_backup": "Провери за повредени архивни копия",
|
||||
"check_corrupt_asset_backup_button": "Провери",
|
||||
"check_corrupt_asset_backup_description": "Изпълни тази проверка само при Wi-Fi и след архивиране на всички обекти. Процедурата може да продължи няколко минути.",
|
||||
|
|
@ -740,6 +753,7 @@
|
|||
"create_user": "Създай потребител",
|
||||
"created": "Създадено",
|
||||
"created_at": "Създаден",
|
||||
"creating_linked_albums": "Създаване на свързани албуми...",
|
||||
"crop": "Изрежи",
|
||||
"curated_object_page_title": "Неща",
|
||||
"current_device": "Текущо устройство",
|
||||
|
|
@ -889,7 +903,9 @@
|
|||
"error": "Грешка",
|
||||
"error_change_sort_album": "Неуспешна промяна на реда на сортиране на албум",
|
||||
"error_delete_face": "Грешка при изтриване на лице от актива",
|
||||
"error_getting_places": "Грешка при събиране на местата",
|
||||
"error_loading_image": "Грешка при зареждане на изображението",
|
||||
"error_loading_partners": "Грешка при зареждане на партньори: {error}",
|
||||
"error_saving_image": "Грешка: {error}",
|
||||
"error_tag_face_bounding_box": "Грешка при отбелязване на лице - неуспешно получаване на координати на рамката",
|
||||
"error_title": "Грешка - нещо се обърка",
|
||||
|
|
@ -1054,6 +1070,7 @@
|
|||
"favorites_page_no_favorites": "Не са намерени любими обекти",
|
||||
"feature_photo_updated": "Представителната снимка е променена",
|
||||
"features": "Функции",
|
||||
"features_in_development": "Функции в процес на разработка",
|
||||
"features_setting_description": "Управление на функциите на приложението",
|
||||
"file_name": "Име на файла",
|
||||
"file_name_or_extension": "Име на файл или разширение",
|
||||
|
|
@ -1218,6 +1235,7 @@
|
|||
"local": "Локално",
|
||||
"local_asset_cast_failed": "Не може да се предава обект, който още не е качен на сървъра",
|
||||
"local_assets": "Локални обекти",
|
||||
"local_media_summary": "Обобщение на локалните медийни файлове",
|
||||
"local_network": "Локална мрежа",
|
||||
"local_network_sheet_info": "Приложението ще се свърже със сървъра на този URL, когато устройството е свързано към зададената Wi-Fi мрежа",
|
||||
"location_permission": "Разрешение за местоположение",
|
||||
|
|
@ -1229,6 +1247,7 @@
|
|||
"location_picker_longitude_hint": "Въведете географска дължина тук",
|
||||
"lock": "Заключи",
|
||||
"locked_folder": "Заключена папка",
|
||||
"log_detail_title": "Подробности от дневника",
|
||||
"log_out": "Излизане",
|
||||
"log_out_all_devices": "Излизане с всички устройства",
|
||||
"logged_in_as": "Вписан като {user}",
|
||||
|
|
@ -1259,6 +1278,7 @@
|
|||
"login_password_changed_success": "Успешно обновена парола",
|
||||
"logout_all_device_confirmation": "Сигурни ли сте, че искате да излезете от всички устройства?",
|
||||
"logout_this_device_confirmation": "Сигурни ли сте, че искате да излезете от това устройство?",
|
||||
"logs": "Дневник",
|
||||
"longitude": "Дължина",
|
||||
"look": "Изглед",
|
||||
"loop_videos": "Повтаряне на видеата",
|
||||
|
|
@ -1301,6 +1321,7 @@
|
|||
"mark_as_read": "Маркирай като четено",
|
||||
"marked_all_as_read": "Всички маркирани като прочетени",
|
||||
"matches": "Съвпадения",
|
||||
"matching_assets": "Съвпадащи обекти",
|
||||
"media_type": "Вид медия",
|
||||
"memories": "Спомени",
|
||||
"memories_all_caught_up": "Това е всичко за днес",
|
||||
|
|
@ -1341,6 +1362,7 @@
|
|||
"name_or_nickname": "Име или прякор",
|
||||
"network_requirement_photos_upload": "Използвай мобилни данни за архивиране на снимки",
|
||||
"network_requirement_videos_upload": "Използвай мобилни данни за архивиране на видео",
|
||||
"network_requirements": "Изисквания към мрежата",
|
||||
"network_requirements_updated": "Мрежовите настройки са променени, нулиране на опашката за архивиране",
|
||||
"networking_settings": "Мрежа",
|
||||
"networking_subtitle": "Управление на настройките за връзка със сървъра",
|
||||
|
|
@ -1351,6 +1373,7 @@
|
|||
"new_person": "Нов човек",
|
||||
"new_pin_code": "Нов PIN код",
|
||||
"new_pin_code_subtitle": "Това е първи достъп до заключена папка. Създайте PIN код за защитен достъп до тази страница",
|
||||
"new_timeline": "Нова времева линия",
|
||||
"new_user_created": "Създаден нов потребител",
|
||||
"new_version_available": "НАЛИЧНА НОВА ВЕРСИЯ",
|
||||
"newest_first": "Най-новите първи",
|
||||
|
|
@ -1364,20 +1387,25 @@
|
|||
"no_assets_message": "КЛИКНЕТЕ, ЗА ДА КАЧИТЕ ПЪРВАТА СИ СНИМКА",
|
||||
"no_assets_to_show": "Няма обекти за показване",
|
||||
"no_cast_devices_found": "Няма намерени устройства за предаване",
|
||||
"no_checksum_local": "Липсват контролни суми - не може да се получат локални обекти",
|
||||
"no_checksum_remote": "Липсват контролни суми - не може да се получат обекти от сървъра",
|
||||
"no_duplicates_found": "Не бяха открити дубликати.",
|
||||
"no_exif_info_available": "Няма exif информация",
|
||||
"no_explore_results_message": "Качете още снимки, за да разгледате колекцията си.",
|
||||
"no_favorites_message": "Добавете в любими, за да намирате бързо най-добрите си снимки и видеоклипове",
|
||||
"no_libraries_message": "Създайте външна библиотека за да разглеждате снимки и видеоклипове",
|
||||
"no_local_assets_found": "Не е намерен локален обект с такава контролна сума",
|
||||
"no_locked_photos_message": "Снимките и видеата в заключената папка са скрити и не се показват при разглеждане на библиотеката.",
|
||||
"no_name": "Без име",
|
||||
"no_notifications": "Няма известия",
|
||||
"no_people_found": "Не са намерени съответстващи хора",
|
||||
"no_places": "Няма места",
|
||||
"no_remote_assets_found": "Не е намерен обект на сървъра с такава контролна сума",
|
||||
"no_results": "Няма резултати",
|
||||
"no_results_description": "Опитайте със синоним или по-обща ключова дума",
|
||||
"no_shared_albums_message": "Създайте албум, за да споделяте снимки и видеоклипове с хората в мрежата си",
|
||||
"no_uploads_in_progress": "Няма качване в момента",
|
||||
"not_available": "Неналично",
|
||||
"not_in_any_album": "Не е в никой албум",
|
||||
"not_selected": "Не е избрано",
|
||||
"note_apply_storage_label_to_previously_uploaded assets": "Забележка: За да приложите етикета за съхранение към предварително качени активи, стартирайте",
|
||||
|
|
@ -1499,6 +1527,7 @@
|
|||
"port": "Порт",
|
||||
"preferences_settings_subtitle": "Управление на предпочитанията на приложението",
|
||||
"preferences_settings_title": "Предпочитания",
|
||||
"preparing": "Подготовка",
|
||||
"preset": "Шаблон",
|
||||
"preview": "Прегледи",
|
||||
"previous": "Предишно",
|
||||
|
|
@ -1511,13 +1540,13 @@
|
|||
"privacy": "Поверителност",
|
||||
"profile": "Профил",
|
||||
"profile_drawer_app_logs": "Дневник",
|
||||
"profile_drawer_client_out_of_date_major": "Мобилното приложение е остаряло. Моля, актуализирай до най-новата основна версия.",
|
||||
"profile_drawer_client_out_of_date_minor": "Мобилното приложение е остаряло. Моля, актуализирай до най-новата версия.",
|
||||
"profile_drawer_client_out_of_date_major": "Мобилното приложение е остаряло. Моля, актуализирайте до най-новата основна версия.",
|
||||
"profile_drawer_client_out_of_date_minor": "Мобилното приложение е остаряло. Моля, актуализирайте до най-новата версия.",
|
||||
"profile_drawer_client_server_up_to_date": "Клиента и сървъра са обновени",
|
||||
"profile_drawer_github": "GitHub",
|
||||
"profile_drawer_readonly_mode": "Режима само за четене е активиран. С двоен клик върху картиката-аватар на потребителя ще деактивирате само за четене.",
|
||||
"profile_drawer_server_out_of_date_major": "Версията на сървъра е остаряла. Моля, актуализирай поне до последната главна версия.",
|
||||
"profile_drawer_server_out_of_date_minor": "Версията на сървъра е остаряла. Моля, актуализирай до последната версия.",
|
||||
"profile_drawer_readonly_mode": "Режима само за четене е активиран. С дълго натискане върху картиката-аватар на потребителя ще деактивирате само за четене.",
|
||||
"profile_drawer_server_out_of_date_major": "Версията на сървъра е остаряла. Моля, актуализирайте поне до последната главна версия.",
|
||||
"profile_drawer_server_out_of_date_minor": "Версията на сървъра е остаряла. Моля, актуализирайте до последната версия.",
|
||||
"profile_image_of_user": "Профилна снимка на {user}",
|
||||
"profile_picture_set": "Профилната снимка е сложена.",
|
||||
"public_album": "Публичен албум",
|
||||
|
|
@ -1564,6 +1593,7 @@
|
|||
"read_changelog": "Прочети промените",
|
||||
"readonly_mode_disabled": "Режима само за четене е деактивиран",
|
||||
"readonly_mode_enabled": "Режима само за четене е активиран",
|
||||
"ready_for_upload": "Готово за качване",
|
||||
"reassign": "Преназначаване",
|
||||
"reassigned_assets_to_existing_person": "Преназначени {count, plural, one {# елемент} other {# елемента}} на {name, select, null {съществуващ човек} other {{name}}}",
|
||||
"reassigned_assets_to_new_person": "Преназначени {count, plural, one {# елемент} other {# елемента}} на нов човек",
|
||||
|
|
@ -1588,6 +1618,7 @@
|
|||
"regenerating_thumbnails": "Пресъздаване на миниатюрите",
|
||||
"remote": "На сървъра",
|
||||
"remote_assets": "Обекти на сървъра",
|
||||
"remote_media_summary": "Обобщение на медийните файлове на сървъра",
|
||||
"remove": "Премахни",
|
||||
"remove_assets_album_confirmation": "Сигурни ли сте, че искате да премахнете {count, plural, one {# елемент} other {# елемента}} от албума?",
|
||||
"remove_assets_shared_link_confirmation": "Сигурни ли сте, че искате да премахнете {count, plural, one {# елемент} other {# елемента}} от този споеделен линк?",
|
||||
|
|
@ -1640,6 +1671,7 @@
|
|||
"restore_user": "Възстанови потребител",
|
||||
"restored_asset": "Възстановен елемент",
|
||||
"resume": "Продължаване",
|
||||
"resume_paused_jobs": "Продължи изпълнението на {count, plural, one {# задача} other {# задачи}}",
|
||||
"retry_upload": "Опитай качването отново",
|
||||
"review_duplicates": "Разгледай дубликатите",
|
||||
"review_large_files": "Преглед на големи файлове",
|
||||
|
|
@ -1862,6 +1894,7 @@
|
|||
"show_slideshow_transition": "Покажи прехода на слайдшоуто",
|
||||
"show_supporter_badge": "Значка поддръжник",
|
||||
"show_supporter_badge_description": "Покажи значка поддръжник",
|
||||
"show_text_search_menu": "Покажи менюто за търсене на текст",
|
||||
"shuffle": "Разбъркване",
|
||||
"sidebar": "Странична лента",
|
||||
"sidebar_display_description": "Показване на връзка към изгледа в страничната лента",
|
||||
|
|
@ -1892,6 +1925,7 @@
|
|||
"stacktrace": "Следа на събраните",
|
||||
"start": "Старт",
|
||||
"start_date": "Начална дата",
|
||||
"start_date_before_end_date": "Началната дата трябва да бъде преди крайната дата",
|
||||
"state": "Щат",
|
||||
"status": "Статус",
|
||||
"stop_casting": "Спри предаването",
|
||||
|
|
@ -1916,6 +1950,8 @@
|
|||
"sync_albums_manual_subtitle": "Синхронизирай всички заредени видеа и снимки в избраните архивни албуми",
|
||||
"sync_local": "Локална синхронизация",
|
||||
"sync_remote": "Синхронизация със сървъра",
|
||||
"sync_status": "Състояние на синхронизацията",
|
||||
"sync_status_subtitle": "Преглед и управление на системата за синхронизация",
|
||||
"sync_upload_album_setting_subtitle": "Създавайте и зареждайте снимки и видеа в избрани албуми в Immich",
|
||||
"tag": "Таг",
|
||||
"tag_assets": "Тагни елементи",
|
||||
|
|
@ -1975,6 +2011,7 @@
|
|||
"trash_page_select_assets_btn": "Избери обекти",
|
||||
"trash_page_title": "В коша ({count})",
|
||||
"trashed_items_will_be_permanently_deleted_after": "Изхвърлените в кошчето елементи ще бъдат изтрити за постоянно след {days, plural, one {# ден} other {# дни}}.",
|
||||
"troubleshoot": "Отстраняване на проблеми",
|
||||
"type": "Тип",
|
||||
"unable_to_change_pin_code": "Невъзможна промяна на PIN кода",
|
||||
"unable_to_setup_pin_code": "Неуспешно задаване на PIN кода",
|
||||
|
|
@ -2091,5 +2128,6 @@
|
|||
"yes": "Да",
|
||||
"you_dont_have_any_shared_links": "Нямате споделени връзки",
|
||||
"your_wifi_name": "Вашата Wi-Fi мрежа",
|
||||
"zoom_image": "Увеличаване на изображението"
|
||||
"zoom_image": "Увеличаване на изображението",
|
||||
"zoom_to_bounds": "Приближи до събиране в границите"
|
||||
}
|
||||
|
|
|
|||
61
i18n/ca.json
61
i18n/ca.json
|
|
@ -28,6 +28,7 @@
|
|||
"add_to_album": "Afegir a un l'àlbum",
|
||||
"add_to_album_bottom_sheet_added": "Afegit a {album}",
|
||||
"add_to_album_bottom_sheet_already_exists": "Ja està a {album}",
|
||||
"add_to_album_bottom_sheet_some_local_assets": "Alguns recursos locals no s'han pogut afegir a l'àlbum",
|
||||
"add_to_album_toggle": "Commutar selecció de {album}",
|
||||
"add_to_albums": "Afegir als àlbums",
|
||||
"add_to_albums_count": "Afegir als àlbums ({count})",
|
||||
|
|
@ -84,10 +85,10 @@
|
|||
"image_fullsize_enabled": "Activa la generació d'imatges a tamany complet",
|
||||
"image_fullsize_enabled_description": "Genera imatges a tamany complet per formats no compatibles amb la web. Quan \"Prefereix vista prèvia incrustada\" està activat, les vistes prèvies incrustades s'utilitzen directament sense conversió. No afecta els formats compatibles amb la web com JPEG.",
|
||||
"image_fullsize_quality_description": "De 1 a 100, qualitat de l'imatge a tamany complet. Un valor més alt és millor, però resulta en fitxers de major tamany.",
|
||||
"image_fullsize_title": "Configuració d'imatges a tamany complet",
|
||||
"image_fullsize_title": "Configuració de les imatges a tamany complet",
|
||||
"image_prefer_embedded_preview": "Prefereix vista prèvia incrustada",
|
||||
"image_prefer_embedded_preview_setting_description": "Empra vista prèvia incrustada en les fotografies RAW com a entrada per al processament d'imatge, quan sigui possible. Aquesta acció pot produir colors més acurats en algunes imatges, però la qualitat de la vista prèvia depèn de la càmera i la imatge pot tenir més artefactes de compressió.",
|
||||
"image_prefer_wide_gamut": "Prefereix àmplia gamma",
|
||||
"image_prefer_wide_gamut": "Prefereix la gamma àmplia",
|
||||
"image_prefer_wide_gamut_setting_description": "Uitlitza Display P3 per a les miniatures. Això preserva més bé la vitalitat de les imatges amb espais de color àmplis, però les imatges es poden veure diferent en aparells antics amb una versió antiga del navegador. Les imatges sRGB romandran com a sRGB per a evitar canvis de color.",
|
||||
"image_preview_description": "Imatge de mida mitjana amb metadades eliminades, que s'utilitza quan es visualitza un sol recurs i per a l'aprenentatge automàtic",
|
||||
"image_preview_quality_description": "Vista prèvia de la qualitat de l'1 al 100. Més alt és millor, però produeix fitxers més grans i pot reduir la capacitat de resposta de l'aplicació. Establir un valor baix pot afectar la qualitat de l'aprenentatge automàtic.",
|
||||
|
|
@ -95,11 +96,11 @@
|
|||
"image_quality": "Qualitat",
|
||||
"image_resolution": "Resolució",
|
||||
"image_resolution_description": "Les resolucions més altes poden conservar més detalls però triguen més a codificar-se, tenen mides de fitxer més grans i poden reduir la capacitat de resposta de l'aplicació.",
|
||||
"image_settings": "Configuració d'imatges",
|
||||
"image_settings": "Configuració de les imatges",
|
||||
"image_settings_description": "Gestiona la qualitat i resolució de les imatges generades",
|
||||
"image_thumbnail_description": "Miniatura petita amb metadades eliminades, que s'utilitza quan es visualitzen grups de fotos com la línia de temps principal",
|
||||
"image_thumbnail_quality_description": "Qualitat de miniatura d'1 a 100. Més alt és millor, però produeix fitxers més grans i pot reduir la capacitat de resposta de l'aplicació.",
|
||||
"image_thumbnail_title": "Configuració de miniatures",
|
||||
"image_thumbnail_title": "Configuració de les miniatures",
|
||||
"job_concurrency": "{job} simultàniament",
|
||||
"job_created": "Tasca creada",
|
||||
"job_not_concurrency_safe": "Aquesta tasca no és segura per a la conconcurrència.",
|
||||
|
|
@ -123,6 +124,13 @@
|
|||
"logging_enable_description": "Habilitar el registrament",
|
||||
"logging_level_description": "Quan està habilitat, quin nivell de registre es vol emprar.",
|
||||
"logging_settings": "Registre",
|
||||
"machine_learning_availability_checks": "Comprovacions de disponibilitat",
|
||||
"machine_learning_availability_checks_description": "Detectar i preferir automàticament els servidors d'aprenentatge automàtic disponibles",
|
||||
"machine_learning_availability_checks_enabled": "Habilita les comprovacions de disponibilitat",
|
||||
"machine_learning_availability_checks_interval": "Interval de comprovació",
|
||||
"machine_learning_availability_checks_interval_description": "Interval en mil·lisegons entre comprovacions de disponibilitat",
|
||||
"machine_learning_availability_checks_timeout": "Temps d'espera de la sol·licitud",
|
||||
"machine_learning_availability_checks_timeout_description": "Temps d'espera en mil·lisegons per a les comprovacions de disponibilitat",
|
||||
"machine_learning_clip_model": "Model CLIP",
|
||||
"machine_learning_clip_model_description": "El nom d'un model CLIP que apareix a <link>aquí</link>. Tingues en compte que has de tornar a executar la cerca intel·ligent per a totes les imatges quan es canvia de model.",
|
||||
"machine_learning_duplicate_detection": "Detecció de duplicats",
|
||||
|
|
@ -387,8 +395,6 @@
|
|||
"admin_password": "Contrasenya de l'administrador",
|
||||
"administration": "Administració",
|
||||
"advanced": "Avançat",
|
||||
"advanced_settings_beta_timeline_subtitle": "Prova la nova experiència de l'aplicació",
|
||||
"advanced_settings_beta_timeline_title": "Cronologia beta",
|
||||
"advanced_settings_enable_alternate_media_filter_subtitle": "Feu servir aquesta opció per filtrar els continguts multimèdia durant la sincronització segons criteris alternatius. Només proveu-ho si teniu problemes amb l'aplicació per detectar tots els àlbums.",
|
||||
"advanced_settings_enable_alternate_media_filter_title": "Utilitza el filtre de sincronització d'àlbums de dispositius alternatius",
|
||||
"advanced_settings_log_level_title": "Nivell de registre: {level}",
|
||||
|
|
@ -425,6 +431,7 @@
|
|||
"album_remove_user_confirmation": "Esteu segurs que voleu eliminar {user}?",
|
||||
"album_search_not_found": "No s'ha trobat cap àlbum que coincideixi amb la teva cerca",
|
||||
"album_share_no_users": "Sembla que has compartit aquest àlbum amb tots els usuaris o no tens cap usuari amb qui compartir-ho.",
|
||||
"album_summary": "Resum de l'àlbum",
|
||||
"album_updated": "Àlbum actualitzat",
|
||||
"album_updated_setting_description": "Rep una notificació per correu electrònic quan un àlbum compartit tingui recursos nous",
|
||||
"album_user_left": "Surt de {album}",
|
||||
|
|
@ -496,6 +503,8 @@
|
|||
"asset_restored_successfully": "Element recuperat correctament",
|
||||
"asset_skipped": "Saltat",
|
||||
"asset_skipped_in_trash": "A la paperera",
|
||||
"asset_trashed": "Recurs a la paperera",
|
||||
"asset_troubleshoot": "Diagnòstic de l'element",
|
||||
"asset_uploaded": "Carregat",
|
||||
"asset_uploading": "S'està carregant…",
|
||||
"asset_viewer_settings_subtitle": "Gestiona la configuració del visualitzador de la galeria",
|
||||
|
|
@ -529,8 +538,10 @@
|
|||
"autoplay_slideshow": "Reprodueix automàticament les diapositives",
|
||||
"back": "Enrere",
|
||||
"back_close_deselect": "Tornar, tancar o anul·lar la selecció",
|
||||
"background_backup_running_error": "La còpia de seguretat en segon pla s'està executant actualment, no es pot iniciar la còpia de seguretat manual",
|
||||
"background_location_permission": "Permís d'ubicació en segon pla",
|
||||
"background_location_permission_content": "Per canviar de xarxa quan s'executa en segon pla, Immich ha de *sempre* tenir accés a la ubicació precisa perquè l'aplicació pugui llegir el nom de la xarxa Wi-Fi",
|
||||
"background_options": "Opcions en segon pla",
|
||||
"backup": "Còpia",
|
||||
"backup_album_selection_page_albums_device": "Àlbums al dispositiu ({count})",
|
||||
"backup_album_selection_page_albums_tap": "Un toc per incloure, doble toc per excloure",
|
||||
|
|
@ -538,6 +549,7 @@
|
|||
"backup_album_selection_page_select_albums": "Selecciona àlbums",
|
||||
"backup_album_selection_page_selection_info": "Informació de la selecció",
|
||||
"backup_album_selection_page_total_assets": "Total d'elements únics",
|
||||
"backup_albums_sync": "Sincronització d'àlbums de còpia de seguretat",
|
||||
"backup_all": "Tots",
|
||||
"backup_background_service_backup_failed_message": "No s'ha pogut copiar els elements. Tornant a intentar…",
|
||||
"backup_background_service_connection_failed_message": "No s'ha pogut connectar al servidor. Tornant a intentar…",
|
||||
|
|
@ -654,6 +666,8 @@
|
|||
"change_pin_code": "Canviar el codi PIN",
|
||||
"change_your_password": "Canvia la teva contrasenya",
|
||||
"changed_visibility_successfully": "Visibilitat canviada amb èxit",
|
||||
"charging": "Carregant",
|
||||
"charging_requirement_mobile_backup": "La còpia de seguretat en segon pla requereix que el dispositiu estigui carregant",
|
||||
"check_corrupt_asset_backup": "Comprovar les còpies de seguretat corruptes",
|
||||
"check_corrupt_asset_backup_button": "Realitzar comprovació",
|
||||
"check_corrupt_asset_backup_description": "Executeu aquesta comprovació només mitjançant Wi-Fi i un cop s'hagi fet una còpia de seguretat de tots els actius. El procediment pot trigar uns minuts.",
|
||||
|
|
@ -740,6 +754,7 @@
|
|||
"create_user": "Crea un usuari",
|
||||
"created": "Creat",
|
||||
"created_at": "Creat",
|
||||
"creating_linked_albums": "Creant àlbums enllaçats...",
|
||||
"crop": "Retalla",
|
||||
"curated_object_page_title": "Coses",
|
||||
"current_device": "Dispositiu actual",
|
||||
|
|
@ -878,7 +893,7 @@
|
|||
"empty_trash": "Buidar la paperera",
|
||||
"empty_trash_confirmation": "Esteu segur que voleu buidar la paperera? Això eliminarà tots els recursos a la paperera permanentment d'Immich.\nNo podeu desfer aquesta acció!",
|
||||
"enable": "Activar",
|
||||
"enable_backup": "Habilitar Còpia de Seguretat",
|
||||
"enable_backup": "Còpia de Seguretat",
|
||||
"enable_biometric_auth_description": "Introduïu el codi PIN per a habilitar l'autenticació biomètrica",
|
||||
"enabled": "Activat",
|
||||
"end_date": "Data final",
|
||||
|
|
@ -889,7 +904,9 @@
|
|||
"error": "Error",
|
||||
"error_change_sort_album": "No s'ha pogut canviar l'ordre d'ordenació dels àlbums",
|
||||
"error_delete_face": "Error esborrant cara de les cares reconegudes",
|
||||
"error_getting_places": "S'ha produït un error en obtenir els llocs",
|
||||
"error_loading_image": "Error carregant la imatge",
|
||||
"error_loading_partners": "No s'han pogut carregar les parelles: {error}",
|
||||
"error_saving_image": "Error: {error}",
|
||||
"error_tag_face_bounding_box": "Error a l'etiquetar la cara - no s'han pogut obtenir les coordenades de l'àrea",
|
||||
"error_title": "Error - Quelcom ha anat malament",
|
||||
|
|
@ -1054,6 +1071,7 @@
|
|||
"favorites_page_no_favorites": "No s'han trobat preferits",
|
||||
"feature_photo_updated": "Foto destacada actualitzada",
|
||||
"features": "Característiques",
|
||||
"features_in_development": "Funcions en desenvolupament",
|
||||
"features_setting_description": "Administrar les funcions de l'aplicació",
|
||||
"file_name": "Nom de l'arxiu",
|
||||
"file_name_or_extension": "Nom de l'arxiu o extensió",
|
||||
|
|
@ -1095,7 +1113,7 @@
|
|||
"has_quota": "Quota",
|
||||
"hash_asset": "Hash del recurs",
|
||||
"hashed_assets": "Recursos amb hash",
|
||||
"hashing": "Hashing",
|
||||
"hashing": "Generant el hash",
|
||||
"header_settings_add_header_tip": "Afegeix Capçalera",
|
||||
"header_settings_field_validator_msg": "El valor no pot estar buit",
|
||||
"header_settings_header_name_input": "Nom de la capçalera",
|
||||
|
|
@ -1218,6 +1236,7 @@
|
|||
"local": "Local",
|
||||
"local_asset_cast_failed": "No es pot convertir un actiu que no s'ha penjat al servidor",
|
||||
"local_assets": "Recursos Locals",
|
||||
"local_media_summary": "Resum de Mitjans Locals",
|
||||
"local_network": "Xarxa local",
|
||||
"local_network_sheet_info": "L'aplicació es connectarà al servidor mitjançant aquest URL quan utilitzeu la xarxa Wi-Fi especificada",
|
||||
"location_permission": "Permís d'ubicació",
|
||||
|
|
@ -1229,6 +1248,7 @@
|
|||
"location_picker_longitude_hint": "Introdueix aquí la longitud",
|
||||
"lock": "Bloqueja",
|
||||
"locked_folder": "Carpeta bloquejada",
|
||||
"log_detail_title": "Detall de Registres",
|
||||
"log_out": "Tanca la sessió",
|
||||
"log_out_all_devices": "Tanqueu la sessió de tots els dispositius",
|
||||
"logged_in_as": "Sessió iniciada com a {user}",
|
||||
|
|
@ -1259,6 +1279,7 @@
|
|||
"login_password_changed_success": "La contrasenya s'ha canviat correctament",
|
||||
"logout_all_device_confirmation": "Esteu segur que voleu tancar la sessió de tots els dispositius?",
|
||||
"logout_this_device_confirmation": "Esteu segur que voleu tancar la sessió d'aquest dispositiu?",
|
||||
"logs": "Registres",
|
||||
"longitude": "Longitud",
|
||||
"look": "Aspecte",
|
||||
"loop_videos": "Vídeos en bucle",
|
||||
|
|
@ -1301,6 +1322,7 @@
|
|||
"mark_as_read": "Marcar com ha llegit",
|
||||
"marked_all_as_read": "Marcat tot com a llegit",
|
||||
"matches": "Coincidències",
|
||||
"matching_assets": "Recursos Coincidents",
|
||||
"media_type": "Tipus de mitjà",
|
||||
"memories": "Records",
|
||||
"memories_all_caught_up": "Posat al dia",
|
||||
|
|
@ -1341,6 +1363,7 @@
|
|||
"name_or_nickname": "Nom o sobrenom",
|
||||
"network_requirement_photos_upload": "Fes servir dades mòbils per a còpies de seguretat de fotos",
|
||||
"network_requirement_videos_upload": "Fes servir dades mòbils per a còpies de seguretat de videos",
|
||||
"network_requirements": "Requeriments de Xarxa",
|
||||
"network_requirements_updated": "Han canviat els requeriments de xarxa, reiniciant la cua",
|
||||
"networking_settings": "Xarxes",
|
||||
"networking_subtitle": "Gestiona la configuració del endpoint del servidor",
|
||||
|
|
@ -1351,6 +1374,7 @@
|
|||
"new_person": "Persona nova",
|
||||
"new_pin_code": "Nou codi PIN",
|
||||
"new_pin_code_subtitle": "Aquesta és la primera vegada que accedeixes a la carpeta bloquejada. Crea una codi PIN i accedeix de manera segura a aquesta pàgina",
|
||||
"new_timeline": "Nova Línia de Temps",
|
||||
"new_user_created": "Nou usuari creat",
|
||||
"new_version_available": "NOVA VERSIÓ DISPONIBLE",
|
||||
"newest_first": "El més nou primer",
|
||||
|
|
@ -1364,20 +1388,25 @@
|
|||
"no_assets_message": "FEU CLIC PER PUJAR LA VOSTRA PRIMERA FOTO",
|
||||
"no_assets_to_show": "No hi ha elements per mostrar",
|
||||
"no_cast_devices_found": "No s'han trobat dispositius per transmetre",
|
||||
"no_checksum_local": "Cap checksum disponible - no s'han pogut carregar els recursos locals",
|
||||
"no_checksum_remote": "Cap checksum disponible - no s'ha pogut obtenir el recurs remot",
|
||||
"no_duplicates_found": "No s'han trobat duplicats.",
|
||||
"no_exif_info_available": "No hi ha informació d'exif disponible",
|
||||
"no_explore_results_message": "Penja més fotos per explorar la teva col·lecció.",
|
||||
"no_favorites_message": "Afegiu preferits per trobar les millors fotos i vídeos a l'instant",
|
||||
"no_libraries_message": "Creeu una llibreria externa per veure les vostres fotos i vídeos",
|
||||
"no_local_assets_found": "No s'ha trobat cap recurs local amb aquest checksum",
|
||||
"no_locked_photos_message": "Les fotos i vídeos d'aquesta carpeta estan ocultes, i no es mostraran a mesura que navegues o cerques a la teva biblioteca.",
|
||||
"no_name": "Sense nom",
|
||||
"no_notifications": "No hi ha notificacions",
|
||||
"no_people_found": "No s'han trobat coincidències de persones",
|
||||
"no_places": "No hi ha llocs",
|
||||
"no_remote_assets_found": "No s'ha trobat cap recurs remot amb aquest checksum",
|
||||
"no_results": "Sense resultats",
|
||||
"no_results_description": "Proveu un sinònim o una paraula clau més general",
|
||||
"no_shared_albums_message": "Creeu un àlbum per compartir fotos i vídeos amb persones a la vostra xarxa",
|
||||
"no_uploads_in_progress": "Cap pujada en progrés",
|
||||
"not_available": "N/A",
|
||||
"not_in_any_album": "En cap àlbum",
|
||||
"not_selected": "No seleccionat",
|
||||
"note_apply_storage_label_to_previously_uploaded assets": "Nota: per aplicar l'etiqueta d'emmagatzematge als actius penjats anteriorment, executeu el",
|
||||
|
|
@ -1499,6 +1528,7 @@
|
|||
"port": "Port",
|
||||
"preferences_settings_subtitle": "Gestiona les preferències de l'aplicació",
|
||||
"preferences_settings_title": "Preferències",
|
||||
"preparing": "Preparant",
|
||||
"preset": "Preestablert",
|
||||
"preview": "Previsualització",
|
||||
"previous": "Anterior",
|
||||
|
|
@ -1513,9 +1543,9 @@
|
|||
"profile_drawer_app_logs": "Registres",
|
||||
"profile_drawer_client_out_of_date_major": "L'aplicació mòbil està desactualitzada. Si us plau, actualitzeu a l'última versió major.",
|
||||
"profile_drawer_client_out_of_date_minor": "L'aplicació mòbil està desactualitzada. Si us plau, actualitzeu a l'última versió menor.",
|
||||
"profile_drawer_client_server_up_to_date": "El Client i el Servidor estan actualitzats",
|
||||
"profile_drawer_client_server_up_to_date": "El client i el servidor estan actualitzats",
|
||||
"profile_drawer_github": "GitHub",
|
||||
"profile_drawer_readonly_mode": "Manera de només lectura activada. Feu doble click a la icona de l'avatar de l'usuari per sortir.",
|
||||
"profile_drawer_readonly_mode": "Mode només lectura. Feu pulsació llarga a la icona de l'avatar d'usuari per sortir.",
|
||||
"profile_drawer_server_out_of_date_major": "El servidor està desactualitzat. Si us plau, actualitzeu a l'última versió major.",
|
||||
"profile_drawer_server_out_of_date_minor": "El servidor està desactualitzat. Si us plau, actualitzeu a l'última versió menor.",
|
||||
"profile_image_of_user": "Imatge de perfil de {user}",
|
||||
|
|
@ -1564,6 +1594,7 @@
|
|||
"read_changelog": "Llegeix el registre de canvis",
|
||||
"readonly_mode_disabled": "Mode de només lectura desactivat",
|
||||
"readonly_mode_enabled": "Mode de només lectura activat",
|
||||
"ready_for_upload": "Llest per a pujar",
|
||||
"reassign": "Reassignar",
|
||||
"reassigned_assets_to_existing_person": "{count, plural, one {S'ha reassignat # recurs} other {S'han reassignat # recursos}} a {name, select, null {una persona existent} other {{name}}}",
|
||||
"reassigned_assets_to_new_person": "{count, plural, one {S'ha reassignat # recurs} other {S'han reassignat # recursos}} a una persona nova",
|
||||
|
|
@ -1588,6 +1619,7 @@
|
|||
"regenerating_thumbnails": "Regenerant les miniatures",
|
||||
"remote": "Remot",
|
||||
"remote_assets": "Recursos Remots",
|
||||
"remote_media_summary": "Resum de Mitjans Remots",
|
||||
"remove": "Eliminar",
|
||||
"remove_assets_album_confirmation": "Confirmes que vols eliminar {count, plural, one {# recurs} other {# recursos}} de l'àlbum?",
|
||||
"remove_assets_shared_link_confirmation": "Esteu segur que voleu eliminar {count, plural, one {# recurs} other {# recursos}} d'aquest enllaç compartit?",
|
||||
|
|
@ -1640,6 +1672,7 @@
|
|||
"restore_user": "Restaurar l'usuari",
|
||||
"restored_asset": "Element restaurat",
|
||||
"resume": "Reprendre",
|
||||
"resume_paused_jobs": "Reprèn {count, plural, one {# treball pausat} other {# treballs pausats}}",
|
||||
"retry_upload": "Torna a provar de pujar",
|
||||
"review_duplicates": "Revisar duplicats",
|
||||
"review_large_files": "Revisar fitxers grans",
|
||||
|
|
@ -1862,6 +1895,7 @@
|
|||
"show_slideshow_transition": "Mostra la transició de la presentació de diapositives",
|
||||
"show_supporter_badge": "Insígnia de contribuent",
|
||||
"show_supporter_badge_description": "Mostra una insígnia de contributor",
|
||||
"show_text_search_menu": "Mostra el menú de cerca amb text",
|
||||
"shuffle": "Mescla",
|
||||
"sidebar": "Barra lateral",
|
||||
"sidebar_display_description": "Mostra un enllaç a la vista a la barra lateral",
|
||||
|
|
@ -1892,6 +1926,7 @@
|
|||
"stacktrace": "Traça de pila",
|
||||
"start": "Inicia",
|
||||
"start_date": "Data inicial",
|
||||
"start_date_before_end_date": "La data d'inici ha de ser abans de la data de fi",
|
||||
"state": "Regió",
|
||||
"status": "Estat",
|
||||
"stop_casting": "Atura la transmisió",
|
||||
|
|
@ -1916,6 +1951,8 @@
|
|||
"sync_albums_manual_subtitle": "Sincronitza tots els vídeos i fotos penjats amb els àlbums de còpia de seguretat seleccionats",
|
||||
"sync_local": "Sincronitza Local",
|
||||
"sync_remote": "Sincronitza Remot",
|
||||
"sync_status": "Estat de sincronització",
|
||||
"sync_status_subtitle": "Observa i administra el sistema de sincronització",
|
||||
"sync_upload_album_setting_subtitle": "Creeu i pugeu les seves fotos i vídeos als àlbums seleccionats a Immich",
|
||||
"tag": "Etiqueta",
|
||||
"tag_assets": "Etiquetar actius",
|
||||
|
|
@ -1975,6 +2012,7 @@
|
|||
"trash_page_select_assets_btn": "Selecciona elements",
|
||||
"trash_page_title": "Paperera ({count})",
|
||||
"trashed_items_will_be_permanently_deleted_after": "Els elements que s'enviïn a la paperera s'eliminaran permanentment després de {days, plural, one {# dia} other {# dies}}.",
|
||||
"troubleshoot": "Solució de problemes",
|
||||
"type": "Tipus",
|
||||
"unable_to_change_pin_code": "No es pot canviar el codi PIN",
|
||||
"unable_to_setup_pin_code": "No s'ha pogut configurar el codi PIN",
|
||||
|
|
@ -2091,5 +2129,6 @@
|
|||
"yes": "Sí",
|
||||
"you_dont_have_any_shared_links": "No tens cap enllaç compartit",
|
||||
"your_wifi_name": "Nom del teu Wi-Fi",
|
||||
"zoom_image": "Ampliar Imatge"
|
||||
"zoom_image": "Ampliar Imatge",
|
||||
"zoom_to_bounds": "Amplia als límits"
|
||||
}
|
||||
|
|
|
|||
43
i18n/cs.json
43
i18n/cs.json
|
|
@ -28,6 +28,7 @@
|
|||
"add_to_album": "Přidat do alba",
|
||||
"add_to_album_bottom_sheet_added": "Přidáno do {album}",
|
||||
"add_to_album_bottom_sheet_already_exists": "Je již v {album}",
|
||||
"add_to_album_bottom_sheet_some_local_assets": "Některá místní aktiva nebylo možné přidat do alba",
|
||||
"add_to_album_toggle": "Přepnout výběr pro {album}",
|
||||
"add_to_albums": "Přidat do alb",
|
||||
"add_to_albums_count": "Přidat do alb ({count})",
|
||||
|
|
@ -123,6 +124,13 @@
|
|||
"logging_enable_description": "Povolit protokolování",
|
||||
"logging_level_description": "Když je povoleno, jakou úroveň protokolu použít.",
|
||||
"logging_settings": "Protokolování",
|
||||
"machine_learning_availability_checks": "Kontroly dostupnosti",
|
||||
"machine_learning_availability_checks_description": "Automaticky zvolit a preferovat dostupné servery strojového učení",
|
||||
"machine_learning_availability_checks_enabled": "Povolit kontroly dostupnosti",
|
||||
"machine_learning_availability_checks_interval": "Interval kontrol",
|
||||
"machine_learning_availability_checks_interval_description": "Interval v milisekundách mezi kontrolami dostupnosti",
|
||||
"machine_learning_availability_checks_timeout": "Vypršení požadavku",
|
||||
"machine_learning_availability_checks_timeout_description": "Časové vypršení požadavku v milisekundách u kontrol dostupnosti",
|
||||
"machine_learning_clip_model": "Model CLIP",
|
||||
"machine_learning_clip_model_description": "Název CLIP modelu je uvedený <link>zde</link>. Pamatujte, že při změně modelu je nutné znovu spustit úlohu 'Chytré vyhledávání' pro všechny obrázky.",
|
||||
"machine_learning_duplicate_detection": "Kontrola duplicit",
|
||||
|
|
@ -387,8 +395,6 @@
|
|||
"admin_password": "Heslo správce",
|
||||
"administration": "Administrace",
|
||||
"advanced": "Pokročilé",
|
||||
"advanced_settings_beta_timeline_subtitle": "Vyzkoušejte nové prostředí aplikace",
|
||||
"advanced_settings_beta_timeline_title": "Časová osa (beta)",
|
||||
"advanced_settings_enable_alternate_media_filter_subtitle": "Tuto možnost použijte k filtrování médií během synchronizace na základě alternativních kritérií. Tuto možnost vyzkoušejte pouze v případě, že máte problémy s detekcí všech alb v aplikaci.",
|
||||
"advanced_settings_enable_alternate_media_filter_title": "[EXPERIMENTÁLNÍ] Použít alternativní filtr pro synchronizaci alb zařízení",
|
||||
"advanced_settings_log_level_title": "Úroveň protokolování: {level}",
|
||||
|
|
@ -425,6 +431,7 @@
|
|||
"album_remove_user_confirmation": "Opravdu chcete odebrat uživatele {user}?",
|
||||
"album_search_not_found": "Nebyla nalezena žádná alba odpovídající vašemu hledání",
|
||||
"album_share_no_users": "Zřejmě jste toto album sdíleli se všemi uživateli, nebo nemáte žádného uživatele, se kterým byste ho mohli sdílet.",
|
||||
"album_summary": "Souhrn alba",
|
||||
"album_updated": "Album aktualizováno",
|
||||
"album_updated_setting_description": "Dostávat e-mailová oznámení o nových položkách sdíleného alba",
|
||||
"album_user_left": "Opustil {album}",
|
||||
|
|
@ -496,6 +503,8 @@
|
|||
"asset_restored_successfully": "Položka úspěšně obnovena",
|
||||
"asset_skipped": "Přeskočeno",
|
||||
"asset_skipped_in_trash": "V koši",
|
||||
"asset_trashed": "Položka vyhozena",
|
||||
"asset_troubleshoot": "Řešení problémů s položkami",
|
||||
"asset_uploaded": "Nahráno",
|
||||
"asset_uploading": "Nahrávání…",
|
||||
"asset_viewer_settings_subtitle": "Správa nastavení prohlížeče galerie",
|
||||
|
|
@ -529,8 +538,10 @@
|
|||
"autoplay_slideshow": "Automatické přehrávání prezentace",
|
||||
"back": "Zpět",
|
||||
"back_close_deselect": "Zpět, zavřít nebo zrušit výběr",
|
||||
"background_backup_running_error": "Právě probíhá zálohování na pozadí, nelze spustit ruční zálohování",
|
||||
"background_location_permission": "Povolení polohy na pozadí",
|
||||
"background_location_permission_content": "Aby bylo možné přepínat sítě při běhu na pozadí, musí mít Immich *vždy* přístup k přesné poloze, aby mohl zjistit název Wi-Fi sítě",
|
||||
"background_options": "Možnosti běhu na pozadí",
|
||||
"backup": "Záloha",
|
||||
"backup_album_selection_page_albums_device": "Alba v zařízení ({count})",
|
||||
"backup_album_selection_page_albums_tap": "Klepnutím na položku ji zahrnete, opětovným klepnutím ji vyloučíte",
|
||||
|
|
@ -538,6 +549,7 @@
|
|||
"backup_album_selection_page_select_albums": "Vybraná alba",
|
||||
"backup_album_selection_page_selection_info": "Informace o výběru",
|
||||
"backup_album_selection_page_total_assets": "Celkový počet jedinečných položek",
|
||||
"backup_albums_sync": "Synchronizace zálohovaných alb",
|
||||
"backup_all": "Vše",
|
||||
"backup_background_service_backup_failed_message": "Zálohování médií selhalo. Zkouším to znovu…",
|
||||
"backup_background_service_connection_failed_message": "Nepodařilo se připojit k serveru. Zkouším to znovu…",
|
||||
|
|
@ -654,6 +666,8 @@
|
|||
"change_pin_code": "Změnit PIN kód",
|
||||
"change_your_password": "Změna vašeho hesla",
|
||||
"changed_visibility_successfully": "Změna viditelnosti proběhla úspěšně",
|
||||
"charging": "Nabíjení",
|
||||
"charging_requirement_mobile_backup": "Zálohování na pozadí vyžaduje, aby bylo zařízení nabíjeno",
|
||||
"check_corrupt_asset_backup": "Kontrola poškozených záloh položek",
|
||||
"check_corrupt_asset_backup_button": "Provést kontrolu",
|
||||
"check_corrupt_asset_backup_description": "Tuto kontrolu provádějte pouze přes Wi-Fi a po zálohování všech prostředků. Takto operace může trvat několik minut.",
|
||||
|
|
@ -740,6 +754,7 @@
|
|||
"create_user": "Vytvořit uživatele",
|
||||
"created": "Vytvořeno",
|
||||
"created_at": "Vytvořeno",
|
||||
"creating_linked_albums": "Vytváření propojených alb...",
|
||||
"crop": "Oříznout",
|
||||
"curated_object_page_title": "Věci",
|
||||
"current_device": "Současné zařízení",
|
||||
|
|
@ -889,7 +904,9 @@
|
|||
"error": "Chyba",
|
||||
"error_change_sort_album": "Nepodařilo se změnit pořadí alba",
|
||||
"error_delete_face": "Chyba při odstraňování obličeje z položky",
|
||||
"error_getting_places": "Chyba při zjišťování míst",
|
||||
"error_loading_image": "Chyba při načítání obrázku",
|
||||
"error_loading_partners": "Chyba při načítání partnerů: {error}",
|
||||
"error_saving_image": "Chyba: {error}",
|
||||
"error_tag_face_bounding_box": "Chyba při označování obličeje - nelze získat souřadnice ohraničujícího rámečku",
|
||||
"error_title": "Chyba - Něco se pokazilo",
|
||||
|
|
@ -1054,6 +1071,7 @@
|
|||
"favorites_page_no_favorites": "Nebyla nalezena žádná oblíbená média",
|
||||
"feature_photo_updated": "Hlavní fotka aktualizována",
|
||||
"features": "Funkce",
|
||||
"features_in_development": "Funkce ve vývoji",
|
||||
"features_setting_description": "Správa funkcí aplikace",
|
||||
"file_name": "Název souboru",
|
||||
"file_name_or_extension": "Název nebo přípona souboru",
|
||||
|
|
@ -1218,6 +1236,7 @@
|
|||
"local": "Místní",
|
||||
"local_asset_cast_failed": "Nelze odeslat položku, která není nahraná na serveru",
|
||||
"local_assets": "Místní položky",
|
||||
"local_media_summary": "Souhrn místních médií",
|
||||
"local_network": "Místní síť",
|
||||
"local_network_sheet_info": "Aplikace se při použití zadané sítě Wi-Fi připojí k serveru prostřednictvím tohoto URL",
|
||||
"location_permission": "Oprávnění polohy",
|
||||
|
|
@ -1229,6 +1248,7 @@
|
|||
"location_picker_longitude_hint": "Zadejte vlastní zeměpisnou délku",
|
||||
"lock": "Zamknout",
|
||||
"locked_folder": "Uzamčená složka",
|
||||
"log_detail_title": "Podrobnosti protokolu",
|
||||
"log_out": "Odhlásit",
|
||||
"log_out_all_devices": "Odhlásit všechna zařízení",
|
||||
"logged_in_as": "Přihlášen jako {user}",
|
||||
|
|
@ -1259,6 +1279,7 @@
|
|||
"login_password_changed_success": "Heslo bylo úspěšně aktualizováno",
|
||||
"logout_all_device_confirmation": "Opravdu chcete odhlásit všechna zařízení?",
|
||||
"logout_this_device_confirmation": "Opravdu chcete odhlásit toto zařízení?",
|
||||
"logs": "Protokoly",
|
||||
"longitude": "Zeměpisná délka",
|
||||
"look": "Zobrazení",
|
||||
"loop_videos": "Videa ve smyčce",
|
||||
|
|
@ -1301,6 +1322,7 @@
|
|||
"mark_as_read": "Označit jako přečtené",
|
||||
"marked_all_as_read": "Vše označeno jako přečtené",
|
||||
"matches": "Shody",
|
||||
"matching_assets": "Odpovídající položky",
|
||||
"media_type": "Typ média",
|
||||
"memories": "Vzpomínky",
|
||||
"memories_all_caught_up": "To je všechno",
|
||||
|
|
@ -1341,6 +1363,7 @@
|
|||
"name_or_nickname": "Jméno nebo přezdívka",
|
||||
"network_requirement_photos_upload": "Pro zálohování fotografií používat mobilní data",
|
||||
"network_requirement_videos_upload": "Pro zálohování videí používat mobilní data",
|
||||
"network_requirements": "Požadavky na síť",
|
||||
"network_requirements_updated": "Požadavky na síť se změnily, fronta zálohování se vytvoří znovu",
|
||||
"networking_settings": "Síť",
|
||||
"networking_subtitle": "Správa nastavení koncového bodu serveru",
|
||||
|
|
@ -1351,6 +1374,7 @@
|
|||
"new_person": "Nová osoba",
|
||||
"new_pin_code": "Nový PIN kód",
|
||||
"new_pin_code_subtitle": "Poprvé přistupujete k uzamčené složce. Vytvořte si kód PIN pro bezpečný přístup na tuto stránku",
|
||||
"new_timeline": "Nová časová osa",
|
||||
"new_user_created": "Vytvořen nový uživatel",
|
||||
"new_version_available": "NOVÁ VERZE K DISPOZICI",
|
||||
"newest_first": "Nejnovější první",
|
||||
|
|
@ -1364,20 +1388,25 @@
|
|||
"no_assets_message": "KLIKNĚTE PRO NAHRÁNÍ PRVNÍ FOTOGRAFIE",
|
||||
"no_assets_to_show": "Žádné položky k zobrazení",
|
||||
"no_cast_devices_found": "Nebyla nalezena žádná zařízení",
|
||||
"no_checksum_local": "Není k dispozici kontrolní součet - nelze načíst místní položky",
|
||||
"no_checksum_remote": "Není k dispozici kontrolní součet - nelze načíst vzdálenou položku",
|
||||
"no_duplicates_found": "Nebyly nalezeny žádné duplicity.",
|
||||
"no_exif_info_available": "Exif není k dispozici",
|
||||
"no_explore_results_message": "Nahrajte další fotografie a prozkoumejte svou sbírku.",
|
||||
"no_favorites_message": "Přidejte si oblíbené položky a rychle najděte své nejlepší obrázky a videa",
|
||||
"no_libraries_message": "Vytvořte si externí knihovnu pro zobrazení fotografií a videí",
|
||||
"no_local_assets_found": "Nebyly nalezeny žádné místní položky s tímto kontrolním součtem",
|
||||
"no_locked_photos_message": "Fotky a videa v uzamčené složce jsou skryté a při procházení nebo vyhledávání v knihovně se nezobrazují.",
|
||||
"no_name": "Bez jména",
|
||||
"no_notifications": "Žádná oznámení",
|
||||
"no_people_found": "Nebyli nalezeni žádní odpovídající lidé",
|
||||
"no_places": "Žádná místa",
|
||||
"no_remote_assets_found": "Nebyly nalezeny žádné vzdálené položky s tímto kontrolním součtem",
|
||||
"no_results": "Žádné výsledky",
|
||||
"no_results_description": "Zkuste použít synonymum nebo obecnější klíčové slovo",
|
||||
"no_shared_albums_message": "Vytvořte si album a sdílejte fotografie a videa s lidmi ve své síti",
|
||||
"no_uploads_in_progress": "Neprobíhá žádné nahrávání",
|
||||
"not_available": "Není k dispozici",
|
||||
"not_in_any_album": "Bez alba",
|
||||
"not_selected": "Není vybráno",
|
||||
"note_apply_storage_label_to_previously_uploaded assets": "Upozornění: Chcete-li použít štítek úložiště na dříve nahrané položky, spusťte příkaz",
|
||||
|
|
@ -1499,6 +1528,7 @@
|
|||
"port": "Port",
|
||||
"preferences_settings_subtitle": "Správa předvoleb aplikace",
|
||||
"preferences_settings_title": "Předvolby",
|
||||
"preparing": "Příprava",
|
||||
"preset": "Přednastavení",
|
||||
"preview": "Náhled",
|
||||
"previous": "Předchozí",
|
||||
|
|
@ -1564,6 +1594,7 @@
|
|||
"read_changelog": "Přečtěte si seznam změn",
|
||||
"readonly_mode_disabled": "Režim pouze pro čtení je deaktivován",
|
||||
"readonly_mode_enabled": "Režim pouze pro čtení povolen",
|
||||
"ready_for_upload": "Připraveno k nahrání",
|
||||
"reassign": "Přeřadit",
|
||||
"reassigned_assets_to_existing_person": "Přeřadit {count, plural, one {# položku} few {# položky} other {# položek}} na {name, select, null {existující osobu} other {{name}}}",
|
||||
"reassigned_assets_to_new_person": "{count, plural, one {Přeřazena # položka} few {Přeřazeny # položky} other {Přeřazeno # položek}} na novou osobu",
|
||||
|
|
@ -1588,6 +1619,7 @@
|
|||
"regenerating_thumbnails": "Regenerace miniatur",
|
||||
"remote": "Vzdálený",
|
||||
"remote_assets": "Vzdálené položky",
|
||||
"remote_media_summary": "Souhrn vzdálených médií",
|
||||
"remove": "Odstranit",
|
||||
"remove_assets_album_confirmation": "Opravdu chcete z alba odstranit {count, plural, one {# položku} few {# položky} other {# položek}}?",
|
||||
"remove_assets_shared_link_confirmation": "Opravdu chcete ze sdíleného odkazu odstranit {count, plural, one {# položku} few {# položky} other {# položek}}?",
|
||||
|
|
@ -1653,7 +1685,7 @@
|
|||
"saved_api_key": "API klíč uložen",
|
||||
"saved_profile": "Profil uložen",
|
||||
"saved_settings": "Nastavení uloženo",
|
||||
"say_something": "Řekněte něco",
|
||||
"say_something": "Napište něco",
|
||||
"scaffold_body_error_occurred": "Došlo k chybě",
|
||||
"scan_all_libraries": "Prohledat všechny knihovny",
|
||||
"scan_library": "Prohledat",
|
||||
|
|
@ -1863,6 +1895,7 @@
|
|||
"show_slideshow_transition": "Zobrazit přechod prezentace",
|
||||
"show_supporter_badge": "Odznak podporovatele",
|
||||
"show_supporter_badge_description": "Zobrazit odznak podporovatele",
|
||||
"show_text_search_menu": "Zobrazit nabídku pro vyhledávání textu",
|
||||
"shuffle": "Náhodný výběr",
|
||||
"sidebar": "Postranní panel",
|
||||
"sidebar_display_description": "Zobrazení odkazu na zobrazení v postranním panelu",
|
||||
|
|
@ -1893,6 +1926,7 @@
|
|||
"stacktrace": "Výpis zásobníku",
|
||||
"start": "Start",
|
||||
"start_date": "Počáteční datum",
|
||||
"start_date_before_end_date": "Počáteční datum se musí nacházet před konečným datem",
|
||||
"state": "Stát",
|
||||
"status": "Stav",
|
||||
"stop_casting": "Zastavit odesílání",
|
||||
|
|
@ -2095,5 +2129,6 @@
|
|||
"yes": "Ano",
|
||||
"you_dont_have_any_shared_links": "Nemáte žádné sdílené odkazy",
|
||||
"your_wifi_name": "Název vaší Wi-Fi",
|
||||
"zoom_image": "Zvětšit obrázek"
|
||||
"zoom_image": "Zvětšit obrázek",
|
||||
"zoom_to_bounds": "Přiblížit na okraje"
|
||||
}
|
||||
|
|
|
|||
44
i18n/da.json
44
i18n/da.json
|
|
@ -2,7 +2,7 @@
|
|||
"about": "Om os",
|
||||
"account": "Konto",
|
||||
"account_settings": "Kontoindstillinger",
|
||||
"acknowledge": "Anerkendelse",
|
||||
"acknowledge": "Accepter",
|
||||
"action": "Handling",
|
||||
"action_common_update": "Opdater",
|
||||
"actions": "Handlinger",
|
||||
|
|
@ -123,6 +123,13 @@
|
|||
"logging_enable_description": "Aktiver logning",
|
||||
"logging_level_description": "Når slået til, hvilket logniveau, der skal bruges.",
|
||||
"logging_settings": "Logning",
|
||||
"machine_learning_availability_checks": "Tilgængelighedstjek",
|
||||
"machine_learning_availability_checks_description": "Opdag og foretræk automatisk tilgængelige maskinlæringsservere",
|
||||
"machine_learning_availability_checks_enabled": "Aktivér tilgængelighedstjek",
|
||||
"machine_learning_availability_checks_interval": "Kontroller interval",
|
||||
"machine_learning_availability_checks_interval_description": "Interval i millisekunder mellem tilgængelighedstjeks",
|
||||
"machine_learning_availability_checks_timeout": "Timeout på anmodning",
|
||||
"machine_learning_availability_checks_timeout_description": "Timeout i millisekunder på tilgængelighedstjeks",
|
||||
"machine_learning_clip_model": "CLIP-model",
|
||||
"machine_learning_clip_model_description": "Navnet på CLIP-modellen på listen <link>her</link>. Bemærk at du skal genkøre \"Smart Søgning\"-jobbet for alle billeder, hvis du skifter model.",
|
||||
"machine_learning_duplicate_detection": "Dubletdetektion",
|
||||
|
|
@ -387,8 +394,6 @@
|
|||
"admin_password": "Administratoradgangskode",
|
||||
"administration": "Administration",
|
||||
"advanced": "Avanceret",
|
||||
"advanced_settings_beta_timeline_subtitle": "Prøv den nye app-oplevelse",
|
||||
"advanced_settings_beta_timeline_title": "Beta-tidslinje",
|
||||
"advanced_settings_enable_alternate_media_filter_subtitle": "Brug denne valgmulighed for at filtrere media under synkronisering baseret på alternative kriterier. Prøv kun denne hvis du har problemer med at appen ikke opdager alle albums.",
|
||||
"advanced_settings_enable_alternate_media_filter_title": "[EKSPERIMENTEL] Brug alternativ enheds album synkroniserings filter",
|
||||
"advanced_settings_log_level_title": "Logniveau: {level}",
|
||||
|
|
@ -425,6 +430,7 @@
|
|||
"album_remove_user_confirmation": "Er du sikker på at du vil fjerne {user}?",
|
||||
"album_search_not_found": "Ingen album fundet som matcher din søgning",
|
||||
"album_share_no_users": "Det ser ud til at du har delt denne album med alle brugere, eller du har ikke nogen brugere til at dele med.",
|
||||
"album_summary": "Albumoversigt",
|
||||
"album_updated": "Album opdateret",
|
||||
"album_updated_setting_description": "Modtag en emailnotifikation når et delt album får nye mediefiler",
|
||||
"album_user_left": "Forlod {album}",
|
||||
|
|
@ -496,6 +502,8 @@
|
|||
"asset_restored_successfully": "Elementet blev gendannet succesfuldt",
|
||||
"asset_skipped": "Sprunget over",
|
||||
"asset_skipped_in_trash": "I skraldespand",
|
||||
"asset_trashed": "Objekt kasseret",
|
||||
"asset_troubleshoot": "Fejlsøg på objekt",
|
||||
"asset_uploaded": "Uploadet",
|
||||
"asset_uploading": "Uploader…",
|
||||
"asset_viewer_settings_subtitle": "Administrer indstillinger for gallerifremviser",
|
||||
|
|
@ -529,8 +537,10 @@
|
|||
"autoplay_slideshow": "Afspil slideshow automatisk",
|
||||
"back": "Tilbage",
|
||||
"back_close_deselect": "Tilbage, luk eller fravælg",
|
||||
"background_backup_running_error": "Backup kører lige nu i baggrund; kan ikke starte manuel backup",
|
||||
"background_location_permission": "Tilladelse til baggrundsplacering",
|
||||
"background_location_permission_content": "For at skifte netværk, når appen kører i baggrunden, skal Immich *altid* have præcis placeringsadgang, så appen kan læse WiFi-netværkets navn",
|
||||
"background_options": "Baggrundsmuligheder",
|
||||
"backup": "Sikkerhedskopier",
|
||||
"backup_album_selection_page_albums_device": "Albummer på enheden ({count})",
|
||||
"backup_album_selection_page_albums_tap": "Tryk en gang for at inkludere, tryk to gange for at ekskludere",
|
||||
|
|
@ -538,6 +548,7 @@
|
|||
"backup_album_selection_page_select_albums": "Vælg albummer",
|
||||
"backup_album_selection_page_selection_info": "Oplysninger om valgte",
|
||||
"backup_album_selection_page_total_assets": "Samlede unikke elementer",
|
||||
"backup_albums_sync": "Synkronisering af backupalbums",
|
||||
"backup_all": "Alt",
|
||||
"backup_background_service_backup_failed_message": "Sikkerhedskopiering af elementer fejlede. Forsøger igen…",
|
||||
"backup_background_service_connection_failed_message": "Forbindelsen til serveren blev tabt. Forsøger igen…",
|
||||
|
|
@ -635,7 +646,7 @@
|
|||
"cannot_merge_people": "Kan ikke sammenflette personer",
|
||||
"cannot_undo_this_action": "Du kan ikke fortryde denne handling!",
|
||||
"cannot_update_the_description": "Kan ikke opdatere beskrivelsen",
|
||||
"cast": "Cast",
|
||||
"cast": "Caste",
|
||||
"cast_description": "Konfigurer tilgængelige cast destinationer",
|
||||
"change_date": "Ændr dato",
|
||||
"change_description": "Beskrivelse af ændringer",
|
||||
|
|
@ -654,6 +665,8 @@
|
|||
"change_pin_code": "Skift PIN kode",
|
||||
"change_your_password": "Skift dit kodeord",
|
||||
"changed_visibility_successfully": "Synlighed blev ændret",
|
||||
"charging": "Lader",
|
||||
"charging_requirement_mobile_backup": "Baggrundsbackup kræver, at enheden er tilsluttet oplader",
|
||||
"check_corrupt_asset_backup": "Tjek for korrupte sikkerhedskopier af elementer",
|
||||
"check_corrupt_asset_backup_button": "Foretag kontrol",
|
||||
"check_corrupt_asset_backup_description": "Kør kun denne kontrol via Wi-Fi, og når alle elementer er blevet sikkerhedskopieret. Proceduren kan tage et par minutter.",
|
||||
|
|
@ -740,6 +753,7 @@
|
|||
"create_user": "Opret bruger",
|
||||
"created": "Oprettet",
|
||||
"created_at": "Oprettet",
|
||||
"creating_linked_albums": "Opretter sammenkædede albums...",
|
||||
"crop": "Beskær",
|
||||
"curated_object_page_title": "Ting",
|
||||
"current_device": "Nuværende enhed",
|
||||
|
|
@ -889,7 +903,9 @@
|
|||
"error": "Fejl",
|
||||
"error_change_sort_album": "Ændring af sorteringsrækkefølgen mislykkedes",
|
||||
"error_delete_face": "Fejl ved sletning af ansigt fra mediefil",
|
||||
"error_getting_places": "Fejl ved hentning af steder",
|
||||
"error_loading_image": "Fejl ved indlæsning af billede",
|
||||
"error_loading_partners": "Fejl ved indlæsning af partnere: {error}",
|
||||
"error_saving_image": "Fejl: {error}",
|
||||
"error_tag_face_bounding_box": "Fejl ved tagging af ansigt - kan ikke finde koordinator for afgrænsningskasse",
|
||||
"error_title": "Fejl - Noget gik galt",
|
||||
|
|
@ -1054,6 +1070,7 @@
|
|||
"favorites_page_no_favorites": "Ingen favoritter blev fundet",
|
||||
"feature_photo_updated": "Forsidebillede uploadet",
|
||||
"features": "Funktioner",
|
||||
"features_in_development": "Funktioner under udvikling",
|
||||
"features_setting_description": "Administrer app-funktioner",
|
||||
"file_name": "Filnavn",
|
||||
"file_name_or_extension": "Filnavn eller filtype",
|
||||
|
|
@ -1218,6 +1235,7 @@
|
|||
"local": "Lokal",
|
||||
"local_asset_cast_failed": "Kan ikke caste et aktiv, der ikke er uploadet til serveren",
|
||||
"local_assets": "Lokale objekter",
|
||||
"local_media_summary": "Opsummering af lokale media",
|
||||
"local_network": "Lokalt netværk",
|
||||
"local_network_sheet_info": "Appen vil oprette forbindelse til serveren via denne URL, når du bruger det angivne WiFi-netværk",
|
||||
"location_permission": "Tilladelse til placering",
|
||||
|
|
@ -1229,6 +1247,7 @@
|
|||
"location_picker_longitude_hint": "Indtast din længdegrad her",
|
||||
"lock": "Lås",
|
||||
"locked_folder": "Låst mappe",
|
||||
"log_detail_title": "Logdetaljer",
|
||||
"log_out": "Log ud",
|
||||
"log_out_all_devices": "Log ud af alle enheder",
|
||||
"logged_in_as": "Logget ind som {user}",
|
||||
|
|
@ -1259,6 +1278,7 @@
|
|||
"login_password_changed_success": "Kodeordet blev opdateret",
|
||||
"logout_all_device_confirmation": "Er du sikker på, at du vil logge ud af alle enheder?",
|
||||
"logout_this_device_confirmation": "Er du sikker på, at du vil logge denne enhed ud?",
|
||||
"logs": "Logs",
|
||||
"longitude": "Længdegrad",
|
||||
"look": "Kig",
|
||||
"loop_videos": "Gentag videoer",
|
||||
|
|
@ -1301,6 +1321,7 @@
|
|||
"mark_as_read": "Marker som læst",
|
||||
"marked_all_as_read": "Markerede alle som læst",
|
||||
"matches": "Parringer",
|
||||
"matching_assets": "Matchende objekter",
|
||||
"media_type": "Medietype",
|
||||
"memories": "Minder",
|
||||
"memories_all_caught_up": "Ajour",
|
||||
|
|
@ -1341,6 +1362,7 @@
|
|||
"name_or_nickname": "Navn eller kælenavn",
|
||||
"network_requirement_photos_upload": "Benyt mobildatanettet for at sikkerhedskopiere dine fotos",
|
||||
"network_requirement_videos_upload": "Benyt mobildatanettet for at sikkerhedskopiere dine videoer",
|
||||
"network_requirements": "Netværkskrav",
|
||||
"network_requirements_updated": "Netværkskravene er ændret, backup-køen nulstilles",
|
||||
"networking_settings": "Netværk",
|
||||
"networking_subtitle": "Administrer serverens endepunktindstillinger",
|
||||
|
|
@ -1351,6 +1373,7 @@
|
|||
"new_person": "Ny person",
|
||||
"new_pin_code": "Ny PIN kode",
|
||||
"new_pin_code_subtitle": "Dette er første gang du tilgår den låste mappe. Lav en PIN kode for sikkert at tilgå denne side",
|
||||
"new_timeline": "Ny tidslinje",
|
||||
"new_user_created": "Ny bruger oprettet",
|
||||
"new_version_available": "NY VERSION TILGÆNGELIG",
|
||||
"newest_first": "Nyeste først",
|
||||
|
|
@ -1364,20 +1387,25 @@
|
|||
"no_assets_message": "KLIK FOR AT UPLOADE DIT FØRSTE BILLEDE",
|
||||
"no_assets_to_show": "Ingen elementer at vise",
|
||||
"no_cast_devices_found": "Ingen Cast-enheder fundet",
|
||||
"no_checksum_local": "Ingen checksum tilgængelig – kan ikke hente lokale objekter",
|
||||
"no_checksum_remote": "Ingen checksum tilgængelig – kan ikke hente eksterne objekter",
|
||||
"no_duplicates_found": "Ingen duplikater fundet.",
|
||||
"no_exif_info_available": "Ingen tilgængelig exif information",
|
||||
"no_explore_results_message": "Upload flere billeder for at udforske din samling.",
|
||||
"no_favorites_message": "Tilføj favoritter for hurtigt at finde dine bedst billeder og videoer",
|
||||
"no_libraries_message": "Opret et eksternt bibliotek for at se dine billeder og videoer",
|
||||
"no_local_assets_found": "Ingen lokale objekter fundet med denne checksum",
|
||||
"no_locked_photos_message": "Billeder og videoer i den låste mappe er skjulte og vil ikke blive vist i dit bibliotek.",
|
||||
"no_name": "Intet navn",
|
||||
"no_notifications": "Ingen notifikationer",
|
||||
"no_people_found": "Ingen tilsvarende personer fundet",
|
||||
"no_places": "Ingen steder",
|
||||
"no_remote_assets_found": "Ingen eksterne objekter fundet med denne checksum",
|
||||
"no_results": "Ingen resultater",
|
||||
"no_results_description": "Prøv et synonym eller et mere generelt søgeord",
|
||||
"no_shared_albums_message": "Opret et album for at dele billeder og videoer med personer i dit netværk",
|
||||
"no_uploads_in_progress": "Ingen upload i gang",
|
||||
"not_available": "ikke tilgængelig",
|
||||
"not_in_any_album": "Ikke i noget album",
|
||||
"not_selected": "Ikke valgt",
|
||||
"note_apply_storage_label_to_previously_uploaded assets": "Bemærk: For at anvende Lagringsmærkat på tidligere uploadede medier, kør",
|
||||
|
|
@ -1499,6 +1527,7 @@
|
|||
"port": "Port",
|
||||
"preferences_settings_subtitle": "Administrer app-præferencer",
|
||||
"preferences_settings_title": "Præferencer",
|
||||
"preparing": "Forberedelse",
|
||||
"preset": "Forudindstilling",
|
||||
"preview": "Forhåndsvisning",
|
||||
"previous": "Forrige",
|
||||
|
|
@ -1564,6 +1593,7 @@
|
|||
"read_changelog": "Læs ændringslog",
|
||||
"readonly_mode_disabled": "Skrivebeskyttet tilstand deaktiveret",
|
||||
"readonly_mode_enabled": "Skrivebeskyttet tilstand aktiveret",
|
||||
"ready_for_upload": "Klar til upload",
|
||||
"reassign": "Gentildel",
|
||||
"reassigned_assets_to_existing_person": "{count, plural, one {# mediefil} other {# mediefiler}} er blevet gentildelt til {name, select, null {en eksisterende person} other {{name}}}",
|
||||
"reassigned_assets_to_new_person": "Gentildelt {count, plural, one {# aktiv} other {# aktiver}} til en ny person",
|
||||
|
|
@ -1588,6 +1618,7 @@
|
|||
"regenerating_thumbnails": "Regenererer forhåndsvisninger",
|
||||
"remote": "Eksternt",
|
||||
"remote_assets": "Eksterne objekter",
|
||||
"remote_media_summary": "Oversigt over eksterne media",
|
||||
"remove": "Fjern",
|
||||
"remove_assets_album_confirmation": "Er du sikker på, at du vil fjerne {count, plural, one {# aktiv} other {# aktiver}} fra albummet?",
|
||||
"remove_assets_shared_link_confirmation": "Er du sikker på, at du vil fjerne {count, plural, one {# aktiv} other {# aktiver}} fra dette delte link?",
|
||||
|
|
@ -1863,6 +1894,7 @@
|
|||
"show_slideshow_transition": "Vis overgang til diasshow",
|
||||
"show_supporter_badge": "Supportermærke",
|
||||
"show_supporter_badge_description": "Vis et supportermærke",
|
||||
"show_text_search_menu": "Vis tekstsøgningsmenu",
|
||||
"shuffle": "Bland",
|
||||
"sidebar": "Sidebjælke",
|
||||
"sidebar_display_description": "Vis et link til visningen i sidebjælken",
|
||||
|
|
@ -1893,6 +1925,7 @@
|
|||
"stacktrace": "Stacktrace",
|
||||
"start": "Start",
|
||||
"start_date": "Startdato",
|
||||
"start_date_before_end_date": "Startdato skal ligge før slutdato",
|
||||
"state": "Stat",
|
||||
"status": "Status",
|
||||
"stop_casting": "Stop støbning",
|
||||
|
|
@ -2095,5 +2128,6 @@
|
|||
"yes": "Ja",
|
||||
"you_dont_have_any_shared_links": "Du har ikke nogen delte links",
|
||||
"your_wifi_name": "Dit Wi-Fi navn",
|
||||
"zoom_image": "Zoom billede"
|
||||
"zoom_image": "Zoom billede",
|
||||
"zoom_to_bounds": "Zoom til grænserne"
|
||||
}
|
||||
|
|
|
|||
51
i18n/de.json
51
i18n/de.json
|
|
@ -28,6 +28,7 @@
|
|||
"add_to_album": "Zu Album hinzufügen",
|
||||
"add_to_album_bottom_sheet_added": "Zu {album} hinzugefügt",
|
||||
"add_to_album_bottom_sheet_already_exists": "Bereits in {album}",
|
||||
"add_to_album_bottom_sheet_some_local_assets": "Einige lokale Dateien konnten nicht zum Album hinzugefügt werden",
|
||||
"add_to_album_toggle": "Auswahl umschalten für {album}",
|
||||
"add_to_albums": "Zu Alben hinzufügen",
|
||||
"add_to_albums_count": "Zu Alben hinzufügen ({count})",
|
||||
|
|
@ -123,6 +124,13 @@
|
|||
"logging_enable_description": "Aktiviere Logging",
|
||||
"logging_level_description": "Wenn aktiviert, welches Log-Level genutzt wird.",
|
||||
"logging_settings": "Protokollierung",
|
||||
"machine_learning_availability_checks": "Verfügbarkeitschecks",
|
||||
"machine_learning_availability_checks_description": "Erkenne und bevorzuge verfügbare Machine Learning Servers",
|
||||
"machine_learning_availability_checks_enabled": "Verfügbarkeitschecks einschalten",
|
||||
"machine_learning_availability_checks_interval": "Überprüfungsinterval",
|
||||
"machine_learning_availability_checks_interval_description": "Interval in Millisekunden zwischen Verfügbarkeitschecks",
|
||||
"machine_learning_availability_checks_timeout": "Anfragenzeitüberschreitung",
|
||||
"machine_learning_availability_checks_timeout_description": "Zeitüberschreitung in Millisekunden für Verfügbarkeitschecks",
|
||||
"machine_learning_clip_model": "CLIP-Modell",
|
||||
"machine_learning_clip_model_description": "Der Name eines CLIP-Modells, welches <link>hier</link> aufgeführt ist. Beachte, dass du die Aufgabe \"Intelligente Suche\" für alle Bilder erneut ausführen musst, wenn du das Modell wechselst.",
|
||||
"machine_learning_duplicate_detection": "Duplikaterkennung",
|
||||
|
|
@ -387,8 +395,6 @@
|
|||
"admin_password": "Administrator Passwort",
|
||||
"administration": "Verwaltung",
|
||||
"advanced": "Erweitert",
|
||||
"advanced_settings_beta_timeline_subtitle": "Probier die neue App-Erfahrung aus",
|
||||
"advanced_settings_beta_timeline_title": "Beta-Timeline",
|
||||
"advanced_settings_enable_alternate_media_filter_subtitle": "Verwende diese Option, um Medien während der Synchronisierung nach anderen Kriterien zu filtern. Versuchen dies nur, wenn Probleme mit der Erkennung aller Alben durch die App auftreten.",
|
||||
"advanced_settings_enable_alternate_media_filter_title": "[EXPERIMENTELL] Benutze alternativen Filter für Synchronisierung der Gerätealben",
|
||||
"advanced_settings_log_level_title": "Log-Level: {level}",
|
||||
|
|
@ -425,6 +431,7 @@
|
|||
"album_remove_user_confirmation": "Bist du sicher, dass du {user} entfernen willst?",
|
||||
"album_search_not_found": "Keine Alben gefunden, die zur Suche passen",
|
||||
"album_share_no_users": "Es sieht so aus, als hättest du dieses Album mit allen Benutzern geteilt oder du hast keine Benutzer, mit denen du teilen kannst.",
|
||||
"album_summary": "Album Zusammenfassung",
|
||||
"album_updated": "Album aktualisiert",
|
||||
"album_updated_setting_description": "Erhalte eine E-Mail-Benachrichtigung, wenn ein freigegebenes Album neue Dateien enthält",
|
||||
"album_user_left": "{album} verlassen",
|
||||
|
|
@ -496,6 +503,8 @@
|
|||
"asset_restored_successfully": "Datei erfolgreich wiederhergestellt",
|
||||
"asset_skipped": "Übersprungen",
|
||||
"asset_skipped_in_trash": "Im Papierkorb",
|
||||
"asset_trashed": "Datei Gelöscht",
|
||||
"asset_troubleshoot": "Datei Fehlerbehebung",
|
||||
"asset_uploaded": "Hochgeladen",
|
||||
"asset_uploading": "Hochladen…",
|
||||
"asset_viewer_settings_subtitle": "Verwaltung der Einstellungen für die Fotoanzeige",
|
||||
|
|
@ -529,8 +538,10 @@
|
|||
"autoplay_slideshow": "Automatische Diashow",
|
||||
"back": "Zurück",
|
||||
"back_close_deselect": "Zurück, Schließen oder Abwählen",
|
||||
"background_backup_running_error": "Hintergrund Sicherung läuft, kann manuelle Sicherung nicht starten",
|
||||
"background_location_permission": "Hintergrund Standortfreigabe",
|
||||
"background_location_permission_content": "Um im Hintergrund zwischen den Netzwerken wechseln zu können, muss Immich *immer* Zugriff auf den genauen Standort haben, damit die App den Namen des WLAN-Netzwerks ermitteln kann",
|
||||
"background_options": "Hintergrund Optionen",
|
||||
"backup": "Sicherung",
|
||||
"backup_album_selection_page_albums_device": "Alben auf dem Gerät ({count})",
|
||||
"backup_album_selection_page_albums_tap": "Einmalig das Album antippen um es zu sichern, doppelt antippen um es nicht mehr zu sichern",
|
||||
|
|
@ -538,6 +549,7 @@
|
|||
"backup_album_selection_page_select_albums": "Alben auswählen",
|
||||
"backup_album_selection_page_selection_info": "Information",
|
||||
"backup_album_selection_page_total_assets": "Elemente",
|
||||
"backup_albums_sync": "Synchronisation von Alben beim Backup",
|
||||
"backup_all": "Alle",
|
||||
"backup_background_service_backup_failed_message": "Es trat ein Fehler bei der Sicherung auf. Erneuter Versuch…",
|
||||
"backup_background_service_connection_failed_message": "Es konnte keine Verbindung zum Server hergestellt werden. Erneuter Versuch…",
|
||||
|
|
@ -654,6 +666,8 @@
|
|||
"change_pin_code": "PIN Code ändern",
|
||||
"change_your_password": "Ändere dein Passwort",
|
||||
"changed_visibility_successfully": "Die Sichtbarkeit wurde erfolgreich geändert",
|
||||
"charging": "Aufladen",
|
||||
"charging_requirement_mobile_backup": "Backup im Hintergrund erfordert Aufladen des Geräts",
|
||||
"check_corrupt_asset_backup": "Auf beschädigte Asset-Backups überprüfen",
|
||||
"check_corrupt_asset_backup_button": "Überprüfung durchführen",
|
||||
"check_corrupt_asset_backup_description": "Führe diese Prüfung nur mit aktivierten WLAN durch, nachdem alle Dateien gesichert worden sind. Dieser Vorgang kann ein paar Minuten dauern.",
|
||||
|
|
@ -740,6 +754,7 @@
|
|||
"create_user": "Nutzer erstellen",
|
||||
"created": "Erstellt",
|
||||
"created_at": "Erstellt",
|
||||
"creating_linked_albums": "Erstelle verknüpfte Alben...",
|
||||
"crop": "Zuschneiden",
|
||||
"curated_object_page_title": "Dinge",
|
||||
"current_device": "Aktuelles Gerät",
|
||||
|
|
@ -889,7 +904,9 @@
|
|||
"error": "Fehler",
|
||||
"error_change_sort_album": "Ändern der Anzeigereihenfolge fehlgeschlagen",
|
||||
"error_delete_face": "Fehler beim Löschen des Gesichts",
|
||||
"error_getting_places": "Fehler beim Abrufen der Orte",
|
||||
"error_loading_image": "Fehler beim Laden des Bildes",
|
||||
"error_loading_partners": "Fehler beim Laden der Partner: {error}",
|
||||
"error_saving_image": "Fehler: {error}",
|
||||
"error_tag_face_bounding_box": "Fehler beim Markieren des Gesichts - Begrenzungen können nicht abgerufen werden",
|
||||
"error_title": "Fehler - Etwas ist schief gelaufen",
|
||||
|
|
@ -1054,6 +1071,7 @@
|
|||
"favorites_page_no_favorites": "Keine favorisierten Inhalte gefunden",
|
||||
"feature_photo_updated": "Profilbild aktualisiert",
|
||||
"features": "Funktionen",
|
||||
"features_in_development": "Feature in Entwicklung",
|
||||
"features_setting_description": "Funktionen der App verwalten",
|
||||
"file_name": "Dateiname",
|
||||
"file_name_or_extension": "Dateiname oder -erweiterung",
|
||||
|
|
@ -1190,7 +1208,7 @@
|
|||
"large_files": "Große Dateien",
|
||||
"last": "Letzte",
|
||||
"last_seen": "Zuletzt gesehen",
|
||||
"latest_version": "Aktuellste Version",
|
||||
"latest_version": "Aktuelle Version",
|
||||
"latitude": "Breitengrad",
|
||||
"leave": "Verlassen",
|
||||
"leave_album": "Album verlassen",
|
||||
|
|
@ -1218,6 +1236,7 @@
|
|||
"local": "Lokal",
|
||||
"local_asset_cast_failed": "Eine Datei, die nicht auf den Server hochgeladen wurde, kann nicht gecastet werden",
|
||||
"local_assets": "Lokale Dateien",
|
||||
"local_media_summary": "Zusammenfassung der lokalen Medien",
|
||||
"local_network": "Lokales Netzwerk",
|
||||
"local_network_sheet_info": "Die App stellt über diese URL eine Verbindung zum Server her, wenn sie das angegebene WLAN-Netzwerk verwendet",
|
||||
"location_permission": "Standort Genehmigung",
|
||||
|
|
@ -1229,6 +1248,7 @@
|
|||
"location_picker_longitude_hint": "Längengrad eingeben",
|
||||
"lock": "Sperren",
|
||||
"locked_folder": "Gesperrter Ordner",
|
||||
"log_detail_title": "Protokoll Details",
|
||||
"log_out": "Abmelden",
|
||||
"log_out_all_devices": "Alle Geräte abmelden",
|
||||
"logged_in_as": "Angemeldet als {user}",
|
||||
|
|
@ -1259,6 +1279,7 @@
|
|||
"login_password_changed_success": "Passwort erfolgreich geändert",
|
||||
"logout_all_device_confirmation": "Bist du sicher, dass du alle Geräte abmelden willst?",
|
||||
"logout_this_device_confirmation": "Bist du sicher, dass du dieses Gerät abmelden willst?",
|
||||
"logs": "Protokolle",
|
||||
"longitude": "Längengrad",
|
||||
"look": "Erscheinungsbild",
|
||||
"loop_videos": "Loop-Videos",
|
||||
|
|
@ -1301,6 +1322,7 @@
|
|||
"mark_as_read": "Als gelesen markieren",
|
||||
"marked_all_as_read": "Alle als gelesen markiert",
|
||||
"matches": "Treffer",
|
||||
"matching_assets": "Passende Dateien",
|
||||
"media_type": "Medientyp",
|
||||
"memories": "Erinnerungen",
|
||||
"memories_all_caught_up": "Alles aufgeholt",
|
||||
|
|
@ -1339,8 +1361,9 @@
|
|||
"my_albums": "Meine Alben",
|
||||
"name": "Name",
|
||||
"name_or_nickname": "Name oder Nickname",
|
||||
"network_requirement_photos_upload": "Mobiles Datennetz verwenden, um Fotos zu sichern",
|
||||
"network_requirement_videos_upload": "Mobiles Datennetz verwenden, um Videos zu sichern",
|
||||
"network_requirement_photos_upload": "Mobile Daten verwenden, um Fotos zu sichern",
|
||||
"network_requirement_videos_upload": "Mobile Daten verwenden, um Videos zu sichern",
|
||||
"network_requirements": "Anforderungen ans Netzwerk",
|
||||
"network_requirements_updated": "Netzwerk-Abhängigkeiten haben sich geändert, Backup-Warteschlange wird zurückgesetzt",
|
||||
"networking_settings": "Netzwerk",
|
||||
"networking_subtitle": "Verwaltung von Server-Endpunkt-Einstellungen",
|
||||
|
|
@ -1351,6 +1374,7 @@
|
|||
"new_person": "Neue Person",
|
||||
"new_pin_code": "Neuer PIN Code",
|
||||
"new_pin_code_subtitle": "Dies ist dein erster Zugriff auf den gesperrten Ordner. Erstelle einen PIN Code für den sicheren Zugriff auf diese Seite",
|
||||
"new_timeline": "Neue Zeitleiste",
|
||||
"new_user_created": "Neuer Benutzer wurde erstellt",
|
||||
"new_version_available": "NEUE VERSION VERFÜGBAR",
|
||||
"newest_first": "Neueste zuerst",
|
||||
|
|
@ -1364,20 +1388,25 @@
|
|||
"no_assets_message": "KLICKE, UM DEIN ERSTES FOTO HOCHZULADEN",
|
||||
"no_assets_to_show": "Keine Vorschau vorhanden",
|
||||
"no_cast_devices_found": "Keine Geräte zum Übertragen gefunden",
|
||||
"no_checksum_local": "Prüfsumme nicht verfügbar - kann lokale Datei/en nicht laden",
|
||||
"no_checksum_remote": "Prüfsumme nicht verfügbar - kann entfernte Datei/en nicht laden",
|
||||
"no_duplicates_found": "Es wurden keine Duplikate gefunden.",
|
||||
"no_exif_info_available": "Keine EXIF-Informationen vorhanden",
|
||||
"no_explore_results_message": "Lade weitere Fotos hoch, um deine Sammlung zu erkunden.",
|
||||
"no_favorites_message": "Füge Favoriten hinzu, um deine besten Bilder und Videos schnell zu finden",
|
||||
"no_libraries_message": "Eine externe Bibliothek erstellen, um deine Fotos und Videos anzusehen",
|
||||
"no_local_assets_found": "Keine lokale Datei mit dieser Prüfsumme gefunden",
|
||||
"no_locked_photos_message": "Fotos und Videos im gesperrten Ordner sind versteckt und werden nicht angezeigt, wenn du deine Bibliothek durchsuchst.",
|
||||
"no_name": "Kein Name",
|
||||
"no_notifications": "Keine Benachrichtigungen",
|
||||
"no_people_found": "Keine passenden Personen gefunden",
|
||||
"no_places": "Keine Orte",
|
||||
"no_remote_assets_found": "Keine entfernten Dateien mit dieser Prüfsumme gefunden",
|
||||
"no_results": "Keine Ergebnisse",
|
||||
"no_results_description": "Versuche es mit einem Synonym oder einem allgemeineren Stichwort",
|
||||
"no_shared_albums_message": "Erstelle ein Album, um Fotos und Videos mit Personen in deinem Netzwerk zu teilen",
|
||||
"no_uploads_in_progress": "Kein Upload in Bearbeitung",
|
||||
"not_available": "N/A",
|
||||
"not_in_any_album": "In keinem Album",
|
||||
"not_selected": "Nicht ausgewählt",
|
||||
"note_apply_storage_label_to_previously_uploaded assets": "Hinweis: Um eine Speicherpfadbezeichnung anzuwenden, starte den",
|
||||
|
|
@ -1475,7 +1504,7 @@
|
|||
"person": "Person",
|
||||
"person_age_months": "{months, plural, one {# month} other {# months}} alt",
|
||||
"person_age_year_months": "1 Jahr, {months, plural, one {# month} other {# months}} alt",
|
||||
"person_age_years": "{years, plural, other {# years}} alt",
|
||||
"person_age_years": "{years, plural, one {# Jahr} other {# Jahre}} alt",
|
||||
"person_birthdate": "Geboren am {date}",
|
||||
"person_hidden": "{name}{hidden, select, true { (verborgen)} other {}}",
|
||||
"photo_shared_all_users": "Es sieht so aus, als hättest du deine Fotos mit allen Benutzern geteilt oder du hast keine Benutzer, mit denen du teilen kannst.",
|
||||
|
|
@ -1499,6 +1528,7 @@
|
|||
"port": "Port",
|
||||
"preferences_settings_subtitle": "App-Einstellungen verwalten",
|
||||
"preferences_settings_title": "Voreinstellungen",
|
||||
"preparing": "Vorbereiten",
|
||||
"preset": "Voreinstellung",
|
||||
"preview": "Vorschau",
|
||||
"previous": "Vorherige",
|
||||
|
|
@ -1541,7 +1571,7 @@
|
|||
"purchase_license_subtitle": "Kaufe Immich, um die fortlaufende Entwicklung zu unterstützen",
|
||||
"purchase_lifetime_description": "Lebenslange Gültigkeit",
|
||||
"purchase_option_title": "KAUFOPTIONEN",
|
||||
"purchase_panel_info_1": "Die Entwicklung von Immich erfordert viel Zeit und Mühe, und wir haben Vollzeit-Entwickler, die daran arbeiten es möglichst perfekt zu machen. Unser Ziel ist es, dass Open-Source-Software und moralische Geschäftsmethoden zu einer nachhaltigen Einkommensquelle für Entwickler werden und ein datenschutzfreundliches Ökosystem mit echten Alternativen zu ausbeuterischen Cloud-Diensten geschaffen wird.",
|
||||
"purchase_panel_info_1": "Die Entwicklung von Immich erfordert viel Zeit und Mühe und wir haben Vollzeit-Entwickler, die daran arbeiten Immich möglichst perfekt zu machen. Unser Ziel ist es, Open-Source-Software und ethische Geschäftspraktiken zu einer verlässlichen Einkommensquelle für Entwickler zu machen und ein datenschutzfreundliches Ökosystem mit echten Alternativen zu ausbeuterischen Cloud-Diensten zu schaffen.",
|
||||
"purchase_panel_info_2": "Weil wir uns dagegen entschieden haben, eine Bezahlschranke einzusetzen, wird dieser Kauf keine zusätzlichen Funktionen in Immich freischalten. Wir verlassen uns auf Nutzende wie dich, um die Entwicklung von Immich zu unterstützen.",
|
||||
"purchase_panel_title": "Das Projekt unterstützen",
|
||||
"purchase_per_server": "Pro Server",
|
||||
|
|
@ -1564,6 +1594,7 @@
|
|||
"read_changelog": "Changelog lesen",
|
||||
"readonly_mode_disabled": "Schreibgeschützter Modus deaktiviert",
|
||||
"readonly_mode_enabled": "Schreibgeschützter Modus aktiviert",
|
||||
"ready_for_upload": "Bereit zum Hochladen",
|
||||
"reassign": "Neu zuweisen",
|
||||
"reassigned_assets_to_existing_person": "{count, plural, one {# Datei wurde} other {# Dateien wurden}} {name, select, null {einer vorhandenen Person} other {{name}}} zugewiesen",
|
||||
"reassigned_assets_to_new_person": "{count, plural, one {# Datei wurde} other {# Dateien wurden}} einer neuen Person zugewiesen",
|
||||
|
|
@ -1588,6 +1619,7 @@
|
|||
"regenerating_thumbnails": "Miniaturansichten werden neu erstellt",
|
||||
"remote": "Server",
|
||||
"remote_assets": "Server-Dateien",
|
||||
"remote_media_summary": "Zusammenfassung der entfernten Medien",
|
||||
"remove": "Entfernen",
|
||||
"remove_assets_album_confirmation": "Bist du sicher, dass du {count, plural, one {# Datei} other {# Dateien}} aus dem Album entfernen willst?",
|
||||
"remove_assets_shared_link_confirmation": "Bist du sicher, dass du {count, plural, one {# Datei} other {# Dateien}} von diesem geteilten Link entfernen willst?",
|
||||
|
|
@ -1863,6 +1895,7 @@
|
|||
"show_slideshow_transition": "Slideshow-Übergang anzeigen",
|
||||
"show_supporter_badge": "Unterstützerabzeichen",
|
||||
"show_supporter_badge_description": "Zeige Unterstützerabzeichen",
|
||||
"show_text_search_menu": "Zeige Menü für Textsuche",
|
||||
"shuffle": "Durchmischen",
|
||||
"sidebar": "Seitenleiste",
|
||||
"sidebar_display_description": "Zeige einen Link zu der Ansicht in der Seitenleiste an",
|
||||
|
|
@ -1893,6 +1926,7 @@
|
|||
"stacktrace": "Stapelaufgaben",
|
||||
"start": "Starten",
|
||||
"start_date": "Anfangsdatum",
|
||||
"start_date_before_end_date": "Anfangsdatum muss vor dem Enddatum liegen",
|
||||
"state": "Bundesland / Provinz",
|
||||
"status": "Status",
|
||||
"stop_casting": "Übertragung stoppen",
|
||||
|
|
@ -2095,5 +2129,6 @@
|
|||
"yes": "Ja",
|
||||
"you_dont_have_any_shared_links": "Du hast keine geteilten Links",
|
||||
"your_wifi_name": "Dein WLAN-Name",
|
||||
"zoom_image": "Bild vergrößern"
|
||||
"zoom_image": "Bild vergrößern",
|
||||
"zoom_to_bounds": "In die Grenzen zoomen"
|
||||
}
|
||||
|
|
|
|||
62
i18n/el.json
62
i18n/el.json
|
|
@ -123,6 +123,13 @@
|
|||
"logging_enable_description": "Ενεργοποίηση καταγραφής συμβάντων",
|
||||
"logging_level_description": "Το επίπεδο καταγραφής συμβάντων που θα εφαρμοστεί, όταν αυτή είναι ενεργοποιημένη.",
|
||||
"logging_settings": "Καταγραφή Συμβάντων",
|
||||
"machine_learning_availability_checks": "Έλεγχοι διαθεσιμότητας",
|
||||
"machine_learning_availability_checks_description": "Αυτόματος ανίχνευση και προτίμηση διαθέσιμων διακομιστών μηχανικής μάθησης",
|
||||
"machine_learning_availability_checks_enabled": "Ενεργοποίηση ελέγχων διαθεσιμότητας",
|
||||
"machine_learning_availability_checks_interval": "Διάστημα ελέγχου",
|
||||
"machine_learning_availability_checks_interval_description": "Διάστημα σε χιλιοστά δευτερολέπτου μεταξύ των ελέγχων διαθεσιμότητας",
|
||||
"machine_learning_availability_checks_timeout": "Αίτημα χρονικού ορίου λήξης",
|
||||
"machine_learning_availability_checks_timeout_description": "Χρονικό όριο σε χιλιοστά δευτερολέπτου για ελέγχους διαθεσιμότητας",
|
||||
"machine_learning_clip_model": "Μοντέλο CLIP",
|
||||
"machine_learning_clip_model_description": "Το όνομα ενός μοντέλου CLIP που αναφέρεται <link>εδώ</link>. Σημειώστε ότι πρέπει να επανεκτελέσετε την εργασία 'Έξυπνη Αναζήτηση' για όλες τις εικόνες μετά την αλλαγή μοντέλου.",
|
||||
"machine_learning_duplicate_detection": "Εντοπισμός Διπλότυπων",
|
||||
|
|
@ -387,8 +394,6 @@
|
|||
"admin_password": "Κωδικός πρόσβασης Διαχειριστή",
|
||||
"administration": "Διαχείριση",
|
||||
"advanced": "Για προχωρημένους",
|
||||
"advanced_settings_beta_timeline_subtitle": "Δοκίμασε τη νέα εμπειρία της εφαρμογής",
|
||||
"advanced_settings_beta_timeline_title": "Δοκιμαστικό χρονολόγιο",
|
||||
"advanced_settings_enable_alternate_media_filter_subtitle": "Χρησιμοποιήστε αυτήν την επιλογή για να φιλτράρετε τα μέσα ενημέρωσης κατά τον συγχρονισμό με βάση εναλλακτικά κριτήρια. Δοκιμάστε αυτή τη δυνατότητα μόνο αν έχετε προβλήματα με την εφαρμογή που εντοπίζει όλα τα άλμπουμ.",
|
||||
"advanced_settings_enable_alternate_media_filter_title": "[ΠΕΙΡΑΜΑΤΙΚΟ] Χρήση εναλλακτικού φίλτρου συγχρονισμού άλμπουμ συσκευής",
|
||||
"advanced_settings_log_level_title": "Επίπεδο σύνδεσης: {level}",
|
||||
|
|
@ -396,6 +401,8 @@
|
|||
"advanced_settings_prefer_remote_title": "Προτίμηση απομακρυσμένων εικόνων",
|
||||
"advanced_settings_proxy_headers_subtitle": "Καθορισμός κεφαλίδων διακομιστή μεσολάβησης που το Immich πρέπει να στέλνει με κάθε αίτημα δικτύου",
|
||||
"advanced_settings_proxy_headers_title": "Κεφαλίδες διακομιστή μεσολάβησης",
|
||||
"advanced_settings_readonly_mode_subtitle": "Ενεργοποιεί τη λειτουργία μόνο-για-ανάγνωση, όπου οι φωτογραφίες μπορούν μόνο να προβληθούν. Ενέργειες όπως επιλογή πολλών εικόνων, κοινή χρήση, αποστολή (casting) και διαγραφή είναι απενεργοποιημένες. Η ενεργοποίηση/απενεργοποίηση της λειτουργίας μόνο-για-ανάγνωση γίνεται μέσω της εικόνας του χρήστη από την κεντρική οθόνη",
|
||||
"advanced_settings_readonly_mode_title": "Λειτουργία μόνο-για-ανάγνωση",
|
||||
"advanced_settings_self_signed_ssl_subtitle": "Παρακάμπτει τον έλεγχο πιστοποιητικού SSL του διακομιστή. Απαραίτητο για αυτο-υπογεγραμμένα πιστοποιητικά.",
|
||||
"advanced_settings_self_signed_ssl_title": "Να επιτρέπονται αυτο-υπογεγραμμένα πιστοποιητικά SSL",
|
||||
"advanced_settings_sync_remote_deletions_subtitle": "Αυτόματη διαγραφή ή επαναφορά ενός περιουσιακού στοιχείου σε αυτή τη συσκευή, όταν η ενέργεια αυτή πραγματοποιείται στο διαδίκτυο",
|
||||
|
|
@ -423,6 +430,7 @@
|
|||
"album_remove_user_confirmation": "Είστε σίγουροι ότι θέλετε να αφαιρέσετε τον/την {user};",
|
||||
"album_search_not_found": "Δε βρέθηκαν άλμπουμ που να ταιριάζουν με την αναζήτησή σας",
|
||||
"album_share_no_users": "Φαίνεται ότι έχετε κοινοποιήσει αυτό το άλμπουμ σε όλους τους χρήστες ή δεν έχετε χρήστες για να το κοινοποιήσετε.",
|
||||
"album_summary": "Περίληψη άλμπουμ",
|
||||
"album_updated": "Το άλμπουμ, ενημερώθηκε",
|
||||
"album_updated_setting_description": "Λάβετε ειδοποίηση μέσω email όταν ένα κοινόχρηστο άλμπουμ έχει νέα αρχεία",
|
||||
"album_user_left": "Αποχωρήσατε από το {album}",
|
||||
|
|
@ -461,6 +469,7 @@
|
|||
"app_bar_signout_dialog_title": "Αποσύνδεση",
|
||||
"app_settings": "Ρυθμίσεις εφαρμογής",
|
||||
"appears_in": "Εμφανίζεται σε",
|
||||
"apply_count": "Εφαρμογή ({count, number})",
|
||||
"archive": "Αρχείο",
|
||||
"archive_action_prompt": "Προστέθηκαν {count} στο Αρχείο",
|
||||
"archive_or_unarchive_photo": "Αρχειοθέτηση ή αποαρχειοθέτηση φωτογραφίας",
|
||||
|
|
@ -493,6 +502,8 @@
|
|||
"asset_restored_successfully": "Το στοιχείο αποκαταστάθηκε με επιτυχία",
|
||||
"asset_skipped": "Παραλείφθηκε",
|
||||
"asset_skipped_in_trash": "Στον κάδο απορριμμάτων",
|
||||
"asset_trashed": "Το στοιχείο διαγράφηκε",
|
||||
"asset_troubleshoot": "Αντιμετώπιση προβλήματος στοιχείου",
|
||||
"asset_uploaded": "Ανεβάστηκε",
|
||||
"asset_uploading": "Ανεβάζεται…",
|
||||
"asset_viewer_settings_subtitle": "Διαχείριση ρυθμίσεων προβολής συλλογής",
|
||||
|
|
@ -526,8 +537,10 @@
|
|||
"autoplay_slideshow": "Αυτόματη αναπαραγωγή παρουσίασης",
|
||||
"back": "Πίσω",
|
||||
"back_close_deselect": "Πίσω, κλείσιμο ή αποεπιλογή",
|
||||
"background_backup_running_error": "Η δημιουργία αντιγράφων ασφάλειας στο παρασκήνιο εκτελείται ήδη, δεν μπορεί να ξεκινήσετε χειροκίνητο αντίγραφο ασφάλειας",
|
||||
"background_location_permission": "Άδεια τοποθεσίας στο παρασκήνιο",
|
||||
"background_location_permission_content": "Το Immich για να μπορεί να αλλάζει δίκτυα όταν τρέχει στο παρασκήνιο, πρέπει *πάντα* να έχει πρόσβαση στην ακριβή τοποθεσία ώστε η εφαρμογή να μπορεί να διαβάζει το όνομα του δικτύου Wi-Fi",
|
||||
"background_options": "Επιλογές παρασκηνίου",
|
||||
"backup": "Αντίγραφο ασφαλείας",
|
||||
"backup_album_selection_page_albums_device": "Άλμπουμ στη συσκευή ({count})",
|
||||
"backup_album_selection_page_albums_tap": "Πάτημα για συμπερίληψη, διπλό πάτημα για εξαίρεση",
|
||||
|
|
@ -535,6 +548,7 @@
|
|||
"backup_album_selection_page_select_albums": "Επιλογή άλμπουμ",
|
||||
"backup_album_selection_page_selection_info": "Πληροφορίες επιλογής",
|
||||
"backup_album_selection_page_total_assets": "Συνολικά μοναδικά στοιχεία",
|
||||
"backup_albums_sync": "Συγχρονισμός αντιγράφων ασφαλείας άλμπουμ",
|
||||
"backup_all": "Όλα",
|
||||
"backup_background_service_backup_failed_message": "Αποτυχία δημιουργίας αντιγράφων ασφαλείας. Επανάληψη…",
|
||||
"backup_background_service_connection_failed_message": "Αποτυχία σύνδεσης με το διακομιστή. Επανάληψη…",
|
||||
|
|
@ -651,6 +665,8 @@
|
|||
"change_pin_code": "Αλλαγή κωδικού PIN",
|
||||
"change_your_password": "Αλλάξτε τον κωδικό σας",
|
||||
"changed_visibility_successfully": "Η προβολή, άλλαξε με επιτυχία",
|
||||
"charging": "Φόρτιση",
|
||||
"charging_requirement_mobile_backup": "Η δημιουργία αντιγράφων ασφάλειας στο παρασκήνιο απαιτεί η συσκευή να φορτίζει",
|
||||
"check_corrupt_asset_backup": "Έλεγχος για κατεστραμμένα αντίγραφα ασφαλείας στοιχείων",
|
||||
"check_corrupt_asset_backup_button": "Εκτέλεση ελέγχου",
|
||||
"check_corrupt_asset_backup_description": "Εκτέλεσε αυτόν τον έλεγχο μόνο μέσω Wi-Fi και αφού έχουν αποθηκευτεί όλα τα αντίγραφα ασφαλείας των στοιχείων. Η διαδικασία μπορεί να διαρκέσει μερικά λεπτά.",
|
||||
|
|
@ -737,6 +753,7 @@
|
|||
"create_user": "Δημιουργία χρήστη",
|
||||
"created": "Δημιουργήθηκε",
|
||||
"created_at": "Δημιουργήθηκε",
|
||||
"creating_linked_albums": "Δημιουργία συνδεδεμένων άλμπουμ...",
|
||||
"crop": "Αποκοπή",
|
||||
"curated_object_page_title": "Πράγματα",
|
||||
"current_device": "Τρέχουσα συσκευή",
|
||||
|
|
@ -886,7 +903,9 @@
|
|||
"error": "Σφάλμα",
|
||||
"error_change_sort_album": "Απέτυχε η αλλαγή σειράς του άλμπουμ",
|
||||
"error_delete_face": "Σφάλμα διαγραφής προσώπου από το στοιχείο",
|
||||
"error_getting_places": "Σφάλμα κατά την ανάκτηση τοποθεσιών",
|
||||
"error_loading_image": "Σφάλμα κατά τη φόρτωση της εικόνας",
|
||||
"error_loading_partners": "Σφάλμα κατά τη φόρτωση συνεργατών: {error}",
|
||||
"error_saving_image": "Σφάλμα: {error}",
|
||||
"error_tag_face_bounding_box": "Σφάλμα επισήμανσης προσώπου - δεν μπορούν να ληφθούν οι συντεταγμένες του πλαισίου οριοθέτησης",
|
||||
"error_title": "Σφάλμα - Κάτι πήγε στραβά",
|
||||
|
|
@ -1051,6 +1070,7 @@
|
|||
"favorites_page_no_favorites": "Δεν βρέθηκαν αγαπημένα στοιχεία",
|
||||
"feature_photo_updated": "Η φωτογραφία προβολής ενημερώθηκε",
|
||||
"features": "Χαρακτηριστικά",
|
||||
"features_in_development": "Λειτουργίες υπό Ανάπτυξη",
|
||||
"features_setting_description": "Διαχειριστείτε τα χαρακτηριστικά της εφαρμογής",
|
||||
"file_name": "Όνομα αρχείου",
|
||||
"file_name_or_extension": "Όνομα αρχείου ή επέκταση",
|
||||
|
|
@ -1071,12 +1091,15 @@
|
|||
"gcast_enabled": "Μετάδοση περιεχομένου Google Cast",
|
||||
"gcast_enabled_description": "Αυτό το χαρακτηριστικό φορτώνει εξωτερικούς πόρους από τη Google για να λειτουργήσει.",
|
||||
"general": "Γενικά",
|
||||
"geolocation_instruction_location": "Κάνε κλικ σε ένα στοιχείο με συντεταγμένες GPS για να χρησιμοποιήσεις την τοποθεσία του, ή επίλεξε απευθείας μια τοποθεσία από τον χάρτη",
|
||||
"get_help": "Ζητήστε βοήθεια",
|
||||
"get_wifiname_error": "Δεν ήταν δυνατή η λήψη του ονόματος Wi-Fi. Βεβαιωθείτε ότι έχετε δώσει τις απαραίτητες άδειες και ότι είστε συνδεδεμένοι σε δίκτυο Wi-Fi",
|
||||
"getting_started": "Ξεκινώντας",
|
||||
"go_back": "Πηγαίνετε πίσω",
|
||||
"go_to_folder": "Μετάβαση στο φάκελο",
|
||||
"go_to_search": "Πηγαίνετε στην αναζήτηση",
|
||||
"gps": "GPS",
|
||||
"gps_missing": "Χωρίς GPS",
|
||||
"grant_permission": "Επιτρέψτε την άδεια",
|
||||
"group_albums_by": "Ομαδοποίηση άλμπουμ κατά...",
|
||||
"group_country": "Ομαδοποίηση κατά χώρα",
|
||||
|
|
@ -1212,6 +1235,7 @@
|
|||
"local": "Τοπικά",
|
||||
"local_asset_cast_failed": "Αδυναμία μετάδοσης στοιχείου που δεν έχει ανέβει στον διακομιστή",
|
||||
"local_assets": "Τοπικά στοιχεία",
|
||||
"local_media_summary": "Περίληψη τοπικών πολυμέσων",
|
||||
"local_network": "Τοπικό δίκτυο",
|
||||
"local_network_sheet_info": "Η εφαρμογή θα συνδεθεί με τον διακομιστή μέσω αυτού του URL όταν χρησιμοποιείται το καθορισμένο δίκτυο Wi-Fi",
|
||||
"location_permission": "Άδεια τοποθεσίας",
|
||||
|
|
@ -1223,6 +1247,7 @@
|
|||
"location_picker_longitude_hint": "Εισαγάγετε εδώ το γεωγραφικό σας μήκος",
|
||||
"lock": "Κλείδωμα",
|
||||
"locked_folder": "Κλειδωμένος φάκελος",
|
||||
"log_detail_title": "Λεπτομέρεια καταγραφής",
|
||||
"log_out": "Αποσύνδεση",
|
||||
"log_out_all_devices": "Αποσύνδεση από Όλες τις Συσκευές",
|
||||
"logged_in_as": "Συνδεδεμένος ως {user}",
|
||||
|
|
@ -1253,6 +1278,7 @@
|
|||
"login_password_changed_success": "Ο κωδικός πρόσβασης ενημερώθηκε με επιτυχία",
|
||||
"logout_all_device_confirmation": "Είστε βέβαιοι ότι θέλετε να αποσυνδεθείτε από όλες τις συσκευές;",
|
||||
"logout_this_device_confirmation": "Είστε βέβαιοι ότι θέλετε να αποσυνδεθείτε από αυτήν τη συσκευή;",
|
||||
"logs": "Καταγραφές",
|
||||
"longitude": "Γεωγραφικό μήκος",
|
||||
"look": "Εμφάνιση",
|
||||
"loop_videos": "Επανάληψη βίντεο",
|
||||
|
|
@ -1260,6 +1286,7 @@
|
|||
"main_branch_warning": "Χρησιμοποιείτε μια έκδοση σε ανάπτυξη· συνιστούμε ανεπιφύλακτα τη χρήση μιας τελικής έκδοσης!",
|
||||
"main_menu": "Κύριο μενού",
|
||||
"make": "Κατασκευαστής",
|
||||
"manage_geolocation": "Διαχείριση τοποθεσίας",
|
||||
"manage_shared_links": "Διαχείριση κοινόχρηστων συνδέσμων",
|
||||
"manage_sharing_with_partners": "Διαχειριστείτε την κοινή χρήση με συνεργάτες",
|
||||
"manage_the_app_settings": "Διαχειριστείτε τις ρυθμίσεις της εφαρμογής",
|
||||
|
|
@ -1294,6 +1321,7 @@
|
|||
"mark_as_read": "Επισήμανση ως αναγνωσμένο",
|
||||
"marked_all_as_read": "Όλα επισημάνθηκαν ως αναγνωσμένα",
|
||||
"matches": "Αντιστοιχίες",
|
||||
"matching_assets": "Αντιστοιχία στοιχείων",
|
||||
"media_type": "Τύπος πολυμέσου",
|
||||
"memories": "Αναμνήσεις",
|
||||
"memories_all_caught_up": "Συγχρονισμένα",
|
||||
|
|
@ -1334,6 +1362,7 @@
|
|||
"name_or_nickname": "Όνομα ή ψευδώνυμο",
|
||||
"network_requirement_photos_upload": "Χρήση δεδομένων κινητής τηλεφωνίας για τη δημιουργία αντιγράφων ασφαλείας των φωτογραφιών",
|
||||
"network_requirement_videos_upload": "Χρήση δεδομένων κινητής τηλεφωνίας για τη δημιουργία αντιγράφων ασφαλείας των βίντεο",
|
||||
"network_requirements": "Απαιτήσεις Δυκτίου",
|
||||
"network_requirements_updated": "Οι απαιτήσεις δικτύου άλλαξαν, γίνεται επαναφορά της ουράς αντιγράφων ασφαλείας",
|
||||
"networking_settings": "Δικτύωση",
|
||||
"networking_subtitle": "Διαχείριση ρυθμίσεων τελικών σημείων διακομιστή",
|
||||
|
|
@ -1344,6 +1373,7 @@
|
|||
"new_person": "Νέο άτομο",
|
||||
"new_pin_code": "Νέος κωδικός PIN",
|
||||
"new_pin_code_subtitle": "Αυτή είναι η πρώτη φορά που αποκτάτε πρόσβαση στον κλειδωμένο φάκελο. Δημιουργήστε έναν κωδικό PIN για ασφαλή πρόσβαση σε αυτή τη σελίδα",
|
||||
"new_timeline": "Νέο Χρονολόγιο",
|
||||
"new_user_created": "Ο νέος χρήστης δημιουργήθηκε",
|
||||
"new_version_available": "ΔΙΑΘΕΣΙΜΗ ΝΕΑ ΕΚΔΟΣΗ",
|
||||
"newest_first": "Τα νεότερα πρώτα",
|
||||
|
|
@ -1357,20 +1387,25 @@
|
|||
"no_assets_message": "ΚΑΝΤΕ ΚΛΙΚ ΓΙΑ ΝΑ ΑΝΕΒΑΣΕΤΕ ΤΗΝ ΠΡΩΤΗ ΣΑΣ ΦΩΤΟΓΡΑΦΙΑ",
|
||||
"no_assets_to_show": "Δεν υπάρχουν στοιχεία προς εμφάνιση",
|
||||
"no_cast_devices_found": "Δε βρέθηκαν συσκευές μετάδοσης",
|
||||
"no_checksum_local": "Δεν υπάρχει διαθέσιμο checksum για έλεγχο ακεραιότητας – δεν μπορούν να ανακτηθούν τα τοπικά στοιχεία",
|
||||
"no_checksum_remote": "Δεν υπάρχει διαθέσιμο checksum για έλεγχο ακεραιότητας – δεν μπορούν να ανακτηθούν τα απομακρυσμένα στοιχεία",
|
||||
"no_duplicates_found": "Δεν βρέθηκαν διπλότυπα.",
|
||||
"no_exif_info_available": "Καμία πληροφορία exif διαθέσιμη",
|
||||
"no_explore_results_message": "Ανεβάστε περισσότερες φωτογραφίες για να περιηγηθείτε στη συλλογή σας.",
|
||||
"no_favorites_message": "Προσθέστε αγαπημένα για να βρείτε γρήγορα τις καλύτερες φωτογραφίες και τα βίντεό σας",
|
||||
"no_libraries_message": "Δημιουργήστε μια εξωτερική βιβλιοθήκη για να προβάλετε τις φωτογραφίες και τα βίντεό σας",
|
||||
"no_local_assets_found": "Δεν βρέθηκαν τοπικά στοιχεία με αυτό το checksum",
|
||||
"no_locked_photos_message": "Οι φωτογραφίες και τα βίντεο στον κλειδωμένο φάκελο, είναι κρυμμένες και δεν θα εμφανίζονται κατά την περιήγηση ή την αναζήτηση στη βιβλιοθήκη σας.",
|
||||
"no_name": "Χωρίς Όνομα",
|
||||
"no_notifications": "Καμία ειδοποίηση",
|
||||
"no_people_found": "Δεν βρέθηκαν άτομα που να ταιριάζουν",
|
||||
"no_places": "Καμία τοποθεσία",
|
||||
"no_remote_assets_found": "Δεν βρέθηκαν απομακρυσμένα στοιχεία με αυτό το checksum",
|
||||
"no_results": "Κανένα αποτέλεσμα",
|
||||
"no_results_description": "Δοκιμάστε ένα συνώνυμο ή πιο γενική λέξη-κλειδί",
|
||||
"no_shared_albums_message": "Δημιουργήστε ένα άλμπουμ για να μοιράζεστε φωτογραφίες και βίντεο με άτομα στο δίκτυό σας",
|
||||
"no_uploads_in_progress": "Καμία μεταφόρτωση σε εξέλιξη",
|
||||
"not_available": "Μ/Δ (Μη Διαθέσιμο)",
|
||||
"not_in_any_album": "Σε κανένα άλμπουμ",
|
||||
"not_selected": "Δεν επιλέχθηκε",
|
||||
"note_apply_storage_label_to_previously_uploaded assets": "Σημείωση: Για να εφαρμόσετε την Ετικέτα Αποθήκευσης σε στοιχεία που έχουν μεταφορτωθεί προηγουμένως, εκτελέστε το",
|
||||
|
|
@ -1405,6 +1440,8 @@
|
|||
"open_the_search_filters": "Ανοίξτε τα φίλτρα αναζήτησης",
|
||||
"options": "Επιλογές",
|
||||
"or": "ή",
|
||||
"organize_into_albums": "Οργάνωση σε άλμπουμ",
|
||||
"organize_into_albums_description": "Τοποθετείστε τις υπάρχουσες φωτογραφίες σε άλμπουμ χρησιμοποιώντας τις τρέχουσες ρυθμίσεις συγχρονισμού",
|
||||
"organize_your_library": "Οργανώστε τη βιβλιοθήκη σας",
|
||||
"original": "πρωτότυπο",
|
||||
"other": "Άλλες",
|
||||
|
|
@ -1490,6 +1527,7 @@
|
|||
"port": "Θύρα",
|
||||
"preferences_settings_subtitle": "Διαχειριστείτε τις προτιμήσεις της εφαρμογής",
|
||||
"preferences_settings_title": "Προτιμήσεις",
|
||||
"preparing": "Προετοιμασία",
|
||||
"preset": "Προκαθορισμένη ρύθμιση",
|
||||
"preview": "Προεπισκόπηση",
|
||||
"previous": "Προηγούμενο",
|
||||
|
|
@ -1506,6 +1544,7 @@
|
|||
"profile_drawer_client_out_of_date_minor": "Παρακαλώ ενημερώστε την εφαρμογή στην πιο πρόσφατη δευτερεύουσα έκδοση.",
|
||||
"profile_drawer_client_server_up_to_date": "Ο πελάτης και ο διακομιστής είναι ενημερωμένοι",
|
||||
"profile_drawer_github": "GitHub",
|
||||
"profile_drawer_readonly_mode": "Η λειτουργία μόνο-για-ανάγνωση ενεργοποιήθηκε. Κρατήστε πατημένο το εικονίδιο του χρήστη για απενεργοποίηση.",
|
||||
"profile_drawer_server_out_of_date_major": "Παρακαλώ ενημερώστε τον διακομιστή στην πιο πρόσφατη κύρια έκδοση.",
|
||||
"profile_drawer_server_out_of_date_minor": "Παρακαλώ ενημερώστε τον διακομιστή στην πιο πρόσφατη δευτερεύουσα έκδοση.",
|
||||
"profile_image_of_user": "Εικόνα προφίλ του χρήστη {user}",
|
||||
|
|
@ -1544,6 +1583,7 @@
|
|||
"purchase_server_description_2": "Κατάσταση υποστηρικτή",
|
||||
"purchase_server_title": "Διακομιστής",
|
||||
"purchase_settings_server_activated": "Η διαχείριση του κλειδιού προϊόντος του διακομιστή γίνεται από τον διαχειριστή",
|
||||
"query_asset_id": "Αναζήτηση ID Στοιχείου",
|
||||
"queue_status": "Τοποθέτηση στη ουρά {count} από {total}",
|
||||
"rating": "Αξιολόγηση με αστέρια",
|
||||
"rating_clear": "Εκκαθάριση αξιολόγησης",
|
||||
|
|
@ -1551,6 +1591,9 @@
|
|||
"rating_description": "Εμφάνιση της αξιολόγησης EXIF στον πίνακα πληροφοριών",
|
||||
"reaction_options": "Επιλογές αντίδρασης",
|
||||
"read_changelog": "Διαβάστε το Αρχείο Καταγραφής Αλλαγών",
|
||||
"readonly_mode_disabled": "Η λειτουργία μόνο-για-ανάγνωση απενεργοποιήθηκε",
|
||||
"readonly_mode_enabled": "Η λειτουργία μόνο-για-ανάγνωση ενεργοποιήθηκε",
|
||||
"ready_for_upload": "Έτοιμο για μεταφόρτωση",
|
||||
"reassign": "Ανάθεση",
|
||||
"reassigned_assets_to_existing_person": "Η ανάθεση {count, plural, one {# αρχείου} other {# αρχείων}} στον/στην {name, select, null {έναν/μία υπάρχοντα/ουσα χρήστη} other {{name}}}",
|
||||
"reassigned_assets_to_new_person": "Η ανάθεση {count, plural, one {# αρχείου} other {# αρχείων}} σε νέο άτομο",
|
||||
|
|
@ -1575,6 +1618,7 @@
|
|||
"regenerating_thumbnails": "Οι μικρογραφίες αναγεννώνται",
|
||||
"remote": "Απομακρυσμένος",
|
||||
"remote_assets": "Απομακρυσμένα στοιχεία",
|
||||
"remote_media_summary": "Περίληψη απομακρυσμένων πολυμέσων",
|
||||
"remove": "Αφαίρεση",
|
||||
"remove_assets_album_confirmation": "Είστε σίγουροι ότι θέλετε να αφαιρέσετε {count, plural, one {# στοιχείο} other {# στοιχεία}} από το άλμπουμ;",
|
||||
"remove_assets_shared_link_confirmation": "Είστε σίγουροι ότι θέλετε να αφαιρέσετε {count, plural, one {# στοιχείο} other {# στοιχεία}} από αυτόν τον κοινόχρηστο σύνδεσμο;",
|
||||
|
|
@ -1627,6 +1671,7 @@
|
|||
"restore_user": "Επαναφορά χρήστη",
|
||||
"restored_asset": "Ανακτήθηκε το αρχείο",
|
||||
"resume": "Συνέχιση",
|
||||
"resume_paused_jobs": "Συνέχιση {count, plural, one {# σε παύση εργασία} other {# σε παύση εργασίες}}",
|
||||
"retry_upload": "Επανάληψη ανεβάσματος",
|
||||
"review_duplicates": "Προβολή διπλότυπων",
|
||||
"review_large_files": "Επισκόπηση μεγάλων αρχείων",
|
||||
|
|
@ -1720,6 +1765,7 @@
|
|||
"select_user_for_sharing_page_err_album": "Αποτυχία δημιουργίας άλπουμ",
|
||||
"selected": "Επιλεγμένοι",
|
||||
"selected_count": "{count, plural, other {# επιλεγμένοι}}",
|
||||
"selected_gps_coordinates": "Επιλεγμένες συντεταγμένες GPS",
|
||||
"send_message": "Αποστολή μηνύματος",
|
||||
"send_welcome_email": "Αποστολή email καλωσορίσματος",
|
||||
"server_endpoint": "Τελικό σημείο Διακομιστή",
|
||||
|
|
@ -1848,6 +1894,7 @@
|
|||
"show_slideshow_transition": "Εμφάνιση μετάβασης παρουσίασης",
|
||||
"show_supporter_badge": "Σήμα υποστηρικτή",
|
||||
"show_supporter_badge_description": "Εμφάνιση σήματος υποστηρικτή",
|
||||
"show_text_search_menu": "Εμφάνιση μενού αναζήτησης κειμένου",
|
||||
"shuffle": "Ανάμειξη",
|
||||
"sidebar": "Πλαϊνή μπάρα",
|
||||
"sidebar_display_description": "Εμφάνιση συνδέσμου για προβολή στην πλαϊνή μπάρα",
|
||||
|
|
@ -1878,6 +1925,7 @@
|
|||
"stacktrace": "Καταγραφή στοίβας",
|
||||
"start": "Έναρξη",
|
||||
"start_date": "Από",
|
||||
"start_date_before_end_date": "Η ημερομηνία έναρξης πρέπει να είναι πριν από την ημερομηνία λήξης",
|
||||
"state": "Νομός",
|
||||
"status": "Κατάσταση",
|
||||
"stop_casting": "Διακοπή μετάδοσης",
|
||||
|
|
@ -1902,6 +1950,8 @@
|
|||
"sync_albums_manual_subtitle": "Συγχρονίστε όλα τα μεταφορτωμένα βίντεο και φωτογραφίες με τα επιλεγμένα εφεδρικά άλμπουμ",
|
||||
"sync_local": "Τοπικός Συγχρονισμός",
|
||||
"sync_remote": "Απομακρυσμένος Συγχρονισμός",
|
||||
"sync_status": "Κατάσταση συγχρονισμού",
|
||||
"sync_status_subtitle": "Προβολή και διαχείριση του συστήματος συγχρονισμού",
|
||||
"sync_upload_album_setting_subtitle": "Δημιουργήστε και ανεβάστε τις φωτογραφίες και τα βίντεό σας στα επιλεγμένα άλμπουμ στο Immich",
|
||||
"tag": "Ετικέτα",
|
||||
"tag_assets": "Ετικετοποίηση στοιχείων",
|
||||
|
|
@ -1939,7 +1989,9 @@
|
|||
"to_change_password": "Αλλαγή κωδικού πρόσβασης",
|
||||
"to_favorite": "Αγαπημένο",
|
||||
"to_login": "Είσοδος",
|
||||
"to_multi_select": "για πολλαπλή επιλογή",
|
||||
"to_parent": "Μεταβείτε στο γονικό φάκελο",
|
||||
"to_select": "για επιλογή",
|
||||
"to_trash": "Κάδος απορριμμάτων",
|
||||
"toggle_settings": "Εναλλαγή ρυθμίσεων",
|
||||
"total": "Σύνολο",
|
||||
|
|
@ -1959,6 +2011,7 @@
|
|||
"trash_page_select_assets_btn": "Επιλέξτε στοιχεία",
|
||||
"trash_page_title": "Κάδος Απορριμμάτων ({count})",
|
||||
"trashed_items_will_be_permanently_deleted_after": "Τα στοιχεία που βρίσκονται στον κάδο απορριμμάτων θα διαγραφούν οριστικά μετά από {days, plural, one {# ημέρα} other {# ημέρες}}.",
|
||||
"troubleshoot": "Επίλυση προβλημάτων",
|
||||
"type": "Τύπος",
|
||||
"unable_to_change_pin_code": "Αδυναμία αλλαγής κωδικού PIN",
|
||||
"unable_to_setup_pin_code": "Αδυναμία ρύθμισης κωδικού PIN",
|
||||
|
|
@ -1989,6 +2042,7 @@
|
|||
"unstacked_assets_count": "Αποστοιβάξατε {count, plural, one {# στοιχείο} other {# στοιχεία}}",
|
||||
"untagged": "Χωρίς ετικέτα",
|
||||
"up_next": "Ακολουθεί",
|
||||
"update_location_action_prompt": "Ενημέρωση τοποθεσίας για {count} επιλεγμένα στοιχεία με:",
|
||||
"updated_at": "Ενημερωμένο",
|
||||
"updated_password": "Ο κωδικός πρόσβασης ενημερώθηκε",
|
||||
"upload": "Μεταφόρτωση",
|
||||
|
|
@ -2055,6 +2109,7 @@
|
|||
"view_next_asset": "Προβολή επόμενου στοιχείου",
|
||||
"view_previous_asset": "Προβολή προηγούμενου στοιχείου",
|
||||
"view_qr_code": "Προβολή κωδικού QR",
|
||||
"view_similar_photos": "Προβολή παρόμοιων φωτογραφιών",
|
||||
"view_stack": "Προβολή της στοίβας",
|
||||
"view_user": "Προβολή Χρήστη",
|
||||
"viewer_remove_from_stack": "Κατάργηση από τη Στοίβα",
|
||||
|
|
@ -2073,5 +2128,6 @@
|
|||
"yes": "Ναι",
|
||||
"you_dont_have_any_shared_links": "Δεν έχετε κοινόχρηστους συνδέσμους",
|
||||
"your_wifi_name": "Το όνομα του Wi-Fi σας",
|
||||
"zoom_image": "Ζουμ Εικόνας"
|
||||
"zoom_image": "Ζουμ Εικόνας",
|
||||
"zoom_to_bounds": "Εστίαση στα όρια"
|
||||
}
|
||||
|
|
|
|||
12
i18n/en.json
12
i18n/en.json
|
|
@ -28,6 +28,7 @@
|
|||
"add_to_album": "Add to album",
|
||||
"add_to_album_bottom_sheet_added": "Added to {album}",
|
||||
"add_to_album_bottom_sheet_already_exists": "Already in {album}",
|
||||
"add_to_album_bottom_sheet_some_local_assets": "Some local assets could not be added to album",
|
||||
"add_to_album_toggle": "Toggle selection for {album}",
|
||||
"add_to_albums": "Add to albums",
|
||||
"add_to_albums_count": "Add to albums ({count})",
|
||||
|
|
@ -123,6 +124,13 @@
|
|||
"logging_enable_description": "Enable logging",
|
||||
"logging_level_description": "When enabled, what log level to use.",
|
||||
"logging_settings": "Logging",
|
||||
"machine_learning_availability_checks": "Availability checks",
|
||||
"machine_learning_availability_checks_description": "Automatically detect and prefer available machine learning servers",
|
||||
"machine_learning_availability_checks_enabled": "Enable availability checks",
|
||||
"machine_learning_availability_checks_interval": "Check interval",
|
||||
"machine_learning_availability_checks_interval_description": "Interval in milliseconds between availability checks",
|
||||
"machine_learning_availability_checks_timeout": "Request timeout",
|
||||
"machine_learning_availability_checks_timeout_description": "Timeout in milliseconds for availability checks",
|
||||
"machine_learning_clip_model": "CLIP model",
|
||||
"machine_learning_clip_model_description": "The name of a CLIP model listed <link>here</link>. Note that you must re-run the 'Smart Search' job for all images upon changing a model.",
|
||||
"machine_learning_duplicate_detection": "Duplicate Detection",
|
||||
|
|
@ -591,6 +599,7 @@
|
|||
"backup_controller_page_turn_on": "Turn on foreground backup",
|
||||
"backup_controller_page_uploading_file_info": "Uploading file info",
|
||||
"backup_err_only_album": "Cannot remove the only album",
|
||||
"backup_error_sync_failed": "Sync failed. Cannot process backup.",
|
||||
"backup_info_card_assets": "assets",
|
||||
"backup_manual_cancelled": "Cancelled",
|
||||
"backup_manual_in_progress": "Upload already in progress. Try after sometime",
|
||||
|
|
@ -1520,6 +1529,7 @@
|
|||
"port": "Port",
|
||||
"preferences_settings_subtitle": "Manage the app's preferences",
|
||||
"preferences_settings_title": "Preferences",
|
||||
"preparing": "Preparing",
|
||||
"preset": "Preset",
|
||||
"preview": "Preview",
|
||||
"previous": "Previous",
|
||||
|
|
@ -1585,6 +1595,7 @@
|
|||
"read_changelog": "Read Changelog",
|
||||
"readonly_mode_disabled": "Read-only mode disabled",
|
||||
"readonly_mode_enabled": "Read-only mode enabled",
|
||||
"ready_for_upload": "Ready for upload",
|
||||
"reassign": "Reassign",
|
||||
"reassigned_assets_to_existing_person": "Re-assigned {count, plural, one {# asset} other {# assets}} to {name, select, null {an existing person} other {{name}}}",
|
||||
"reassigned_assets_to_new_person": "Re-assigned {count, plural, one {# asset} other {# assets}} to a new person",
|
||||
|
|
@ -1917,6 +1928,7 @@
|
|||
"stacktrace": "Stacktrace",
|
||||
"start": "Start",
|
||||
"start_date": "Start date",
|
||||
"start_date_before_end_date": "Start date must be before end date",
|
||||
"state": "State",
|
||||
"status": "Status",
|
||||
"stop_casting": "Stop casting",
|
||||
|
|
|
|||
49
i18n/es.json
49
i18n/es.json
|
|
@ -28,6 +28,7 @@
|
|||
"add_to_album": "Incluir en álbum",
|
||||
"add_to_album_bottom_sheet_added": "Agregado a {album}",
|
||||
"add_to_album_bottom_sheet_already_exists": "Ya se encuentra en {album}",
|
||||
"add_to_album_bottom_sheet_some_local_assets": "Algunos recursos locales no se pudieron añadir al álbum",
|
||||
"add_to_album_toggle": "Alternar selección para el {album}",
|
||||
"add_to_albums": "Incluir en álbumes",
|
||||
"add_to_albums_count": "Incluir en {count} álbumes",
|
||||
|
|
@ -123,6 +124,13 @@
|
|||
"logging_enable_description": "Habilitar registro",
|
||||
"logging_level_description": "Indica el nivel de registro a utilizar cuando está habilitado.",
|
||||
"logging_settings": "Registro",
|
||||
"machine_learning_availability_checks": "Comprobaciones de disponibilidad",
|
||||
"machine_learning_availability_checks_description": "Automáticamente detectar y preferir servidores de machine learning disponibles",
|
||||
"machine_learning_availability_checks_enabled": "Habilitar comprobaciones de disponibilidad",
|
||||
"machine_learning_availability_checks_interval": "Intervalo de comprobación",
|
||||
"machine_learning_availability_checks_interval_description": "Intervalo en milisegundos entre las comprobaciones de disponibilidad",
|
||||
"machine_learning_availability_checks_timeout": "Tiempo de espera de solicitud",
|
||||
"machine_learning_availability_checks_timeout_description": "Tiempo de espera en milisegundos para comprobaciones de disponibilidad",
|
||||
"machine_learning_clip_model": "Modelo CLIP (Contrastive Language-Image Pre-Training)",
|
||||
"machine_learning_clip_model_description": "El nombre de un modelo CLIP listado <link>aquí</link>. Tendrás que relanzar el trabajo 'Búsqueda Inteligente' para todos los elementos al cambiar de modelo.",
|
||||
"machine_learning_duplicate_detection": "Detección de duplicados",
|
||||
|
|
@ -387,8 +395,6 @@
|
|||
"admin_password": "Contraseña del administrador",
|
||||
"administration": "Administración",
|
||||
"advanced": "Avanzada",
|
||||
"advanced_settings_beta_timeline_subtitle": "Prueba la nueva experiencia de la aplicación",
|
||||
"advanced_settings_beta_timeline_title": "Cronología beta",
|
||||
"advanced_settings_enable_alternate_media_filter_subtitle": "Usa esta opción para filtrar medios durante la sincronización según criterios alternativos. Intenta esto solo si tienes problemas con que la aplicación detecte todos los álbumes.",
|
||||
"advanced_settings_enable_alternate_media_filter_title": "[EXPERIMENTAL] Usar filtro alternativo de sincronización de álbumes del dispositivo",
|
||||
"advanced_settings_log_level_title": "Nivel de registro: {level}",
|
||||
|
|
@ -425,6 +431,7 @@
|
|||
"album_remove_user_confirmation": "¿Estás seguro de que quieres eliminar a {user}?",
|
||||
"album_search_not_found": "No se encontraron álbumes que coincidan con tu búsqueda",
|
||||
"album_share_no_users": "Parece que has compartido este álbum con todos los usuarios o no tienes ningún usuario con quien compartirlo.",
|
||||
"album_summary": "Resumen del álbum",
|
||||
"album_updated": "Album actualizado",
|
||||
"album_updated_setting_description": "Reciba una notificación por correo electrónico cuando un álbum compartido tenga nuevos archivos",
|
||||
"album_user_left": "Salida {album}",
|
||||
|
|
@ -496,6 +503,8 @@
|
|||
"asset_restored_successfully": "Elementos restaurados exitosamente",
|
||||
"asset_skipped": "Omitido",
|
||||
"asset_skipped_in_trash": "En la papelera",
|
||||
"asset_trashed": "Elemento eliminado",
|
||||
"asset_troubleshoot": "Diagnóstico del elemento",
|
||||
"asset_uploaded": "Subido",
|
||||
"asset_uploading": "Subiendo…",
|
||||
"asset_viewer_settings_subtitle": "Administra las configuracioens de tu visor de fotos",
|
||||
|
|
@ -529,8 +538,10 @@
|
|||
"autoplay_slideshow": "Presentación con reproducción automática",
|
||||
"back": "Atrás",
|
||||
"back_close_deselect": "Atrás, cerrar o anular la selección",
|
||||
"background_backup_running_error": "Ya se está ejecutando la copia de seguridad en segundo plano, no se puede iniciar la copia de seguridad manual",
|
||||
"background_location_permission": "Permiso de ubicación en segundo plano",
|
||||
"background_location_permission_content": "Para poder cambiar de red mientras se ejecuta en segundo plano, Immich debe tener *siempre* acceso a la ubicación precisa para que la aplicación pueda leer el nombre de la red Wi-Fi",
|
||||
"background_options": "Opciones de segundo plano",
|
||||
"backup": "Copia de Seguridad",
|
||||
"backup_album_selection_page_albums_device": "Álbumes en el dispositivo ({count})",
|
||||
"backup_album_selection_page_albums_tap": "Toque para incluir, doble toque para excluir",
|
||||
|
|
@ -538,6 +549,7 @@
|
|||
"backup_album_selection_page_select_albums": "Seleccionar álbumes",
|
||||
"backup_album_selection_page_selection_info": "Información sobre la Selección",
|
||||
"backup_album_selection_page_total_assets": "Total de elementos únicos",
|
||||
"backup_albums_sync": "Sincronización de álbumes de respaldo",
|
||||
"backup_all": "Todos",
|
||||
"backup_background_service_backup_failed_message": "Error al copiar elementos. Reintentando…",
|
||||
"backup_background_service_connection_failed_message": "Error al conectar con el servidor. Reintentando…",
|
||||
|
|
@ -654,6 +666,8 @@
|
|||
"change_pin_code": "Cambiar PIN",
|
||||
"change_your_password": "Cambia tu contraseña",
|
||||
"changed_visibility_successfully": "Visibilidad cambiada correctamente",
|
||||
"charging": "Cargando",
|
||||
"charging_requirement_mobile_backup": "La copia de seguridad en segundo plano requiere que el dispositivo se esté cargando",
|
||||
"check_corrupt_asset_backup": "Comprobar copias de seguridad de archivos corruptos",
|
||||
"check_corrupt_asset_backup_button": "Realizar comprobación",
|
||||
"check_corrupt_asset_backup_description": "Ejecutar esta comprobación solo por Wi-Fi y una vez que todos los archivos hayan sido respaldados. El procedimiento puede tardar unos minutos.",
|
||||
|
|
@ -685,7 +699,7 @@
|
|||
"comments_and_likes": "Comentarios y me gusta",
|
||||
"comments_are_disabled": "Los comentarios están deshabilitados",
|
||||
"common_create_new_album": "Crear nuevo álbum",
|
||||
"common_server_error": "Por favor, verifica tu conexión de red, asegúrate de que el servidor esté accesible y las versiones de la aplicación y del servidor sean compatibles.",
|
||||
"common_server_error": "Por favor, comprueba tu conexión de red, asegúrate de que el servidor esté accesible y las versiones de la aplicación y del servidor sean compatibles.",
|
||||
"completed": "Completado",
|
||||
"confirm": "Confirmar",
|
||||
"confirm_admin_password": "Confirmar contraseña del administrador",
|
||||
|
|
@ -740,6 +754,7 @@
|
|||
"create_user": "Crear usuario",
|
||||
"created": "Creado",
|
||||
"created_at": "Creado",
|
||||
"creating_linked_albums": "Creando álbumes vinculados...",
|
||||
"crop": "Recortar",
|
||||
"curated_object_page_title": "Objetos",
|
||||
"current_device": "Dispositivo actual",
|
||||
|
|
@ -798,7 +813,7 @@
|
|||
"deletes_missing_assets": "Elimina archivos que faltan en el disco duro",
|
||||
"description": "Descripción",
|
||||
"description_input_hint_text": "Agregar descripción...",
|
||||
"description_input_submit_error": "Error al actualizar la descripción, verifica el registro para obtener más detalles",
|
||||
"description_input_submit_error": "Error al actualizar la descripción, comprueba el registro para obtener más detalles",
|
||||
"deselect_all": "Deseleccionar Todo",
|
||||
"details": "Detalles",
|
||||
"direction": "Dirección",
|
||||
|
|
@ -889,7 +904,9 @@
|
|||
"error": "Error",
|
||||
"error_change_sort_album": "No se pudo cambiar el orden de visualización del álbum",
|
||||
"error_delete_face": "Error al eliminar la cara del archivo",
|
||||
"error_getting_places": "Error obteniendo lugares",
|
||||
"error_loading_image": "Error al cargar la imagen",
|
||||
"error_loading_partners": "Error al cargar compañeros: {error}",
|
||||
"error_saving_image": "Error: {error}",
|
||||
"error_tag_face_bounding_box": "Error al etiquetar la cara: no se pueden obtener las coordenadas del marco",
|
||||
"error_title": "Error: algo salió mal",
|
||||
|
|
@ -1054,6 +1071,7 @@
|
|||
"favorites_page_no_favorites": "No se encontraron elementos marcados como favoritos",
|
||||
"feature_photo_updated": "Foto destacada actualizada",
|
||||
"features": "Características",
|
||||
"features_in_development": "Funciones en Desarrollo",
|
||||
"features_setting_description": "Administrar las funciones de la aplicación",
|
||||
"file_name": "Nombre de archivo",
|
||||
"file_name_or_extension": "Nombre del archivo o extensión",
|
||||
|
|
@ -1218,6 +1236,7 @@
|
|||
"local": "Local",
|
||||
"local_asset_cast_failed": "No es posible transmitir un recurso que no está subido al servidor",
|
||||
"local_assets": "Archivos Locales",
|
||||
"local_media_summary": "Resumen de Medios Locales",
|
||||
"local_network": "Red local",
|
||||
"local_network_sheet_info": "La aplicación se conectará al servidor a través de esta URL cuando utilice la red Wi-Fi especificada",
|
||||
"location_permission": "Permiso de ubicación",
|
||||
|
|
@ -1229,6 +1248,7 @@
|
|||
"location_picker_longitude_hint": "Introduce tu longitud aquí",
|
||||
"lock": "Bloquear",
|
||||
"locked_folder": "Carpeta protegida",
|
||||
"log_detail_title": "Detalle del registro",
|
||||
"log_out": "Cerrar sesión",
|
||||
"log_out_all_devices": "Cerrar sesión en todos los dispositivos",
|
||||
"logged_in_as": "Sesión iniciada como {user}",
|
||||
|
|
@ -1236,7 +1256,7 @@
|
|||
"logged_out_device": "Dispositivo desconectado",
|
||||
"login": "Inicio de sesión",
|
||||
"login_disabled": "El inicio de sesión ha sido desactivado",
|
||||
"login_form_api_exception": "Excepción producida por API. Por favor, verifica el URL del servidor e inténtalo de nuevo.",
|
||||
"login_form_api_exception": "Excepción producida por API. Por favor, comprueba el URL del servidor e inténtalo de nuevo.",
|
||||
"login_form_back_button_text": "Atrás",
|
||||
"login_form_email_hint": "tucorreo@correo.com",
|
||||
"login_form_endpoint_hint": "http://tu-ip-de-servidor:puerto",
|
||||
|
|
@ -1246,7 +1266,7 @@
|
|||
"login_form_err_invalid_url": "URL no válida",
|
||||
"login_form_err_leading_whitespace": "Espacio en blanco inicial",
|
||||
"login_form_err_trailing_whitespace": "Espacio en blanco al final",
|
||||
"login_form_failed_get_oauth_server_config": "Error al iniciar sesión con OAuth, verifica la URL del servidor",
|
||||
"login_form_failed_get_oauth_server_config": "Error al iniciar sesión con OAuth, comprueba la URL del servidor",
|
||||
"login_form_failed_get_oauth_server_disable": "La función de OAuth no está disponible en este servidor",
|
||||
"login_form_failed_login": "Error al iniciar sesión, comprueba la URL del servidor, el correo electrónico y la contraseña",
|
||||
"login_form_handshake_exception": "Hubo una excepción de handshake con el servidor. Activa la compatibilidad con certificados autofirmados en la configuración si estás utilizando un certificado autofirmado.",
|
||||
|
|
@ -1259,6 +1279,7 @@
|
|||
"login_password_changed_success": "Contraseña cambiado con éxito",
|
||||
"logout_all_device_confirmation": "¿Estás seguro de que quieres cerrar sesión en todos los dispositivos?",
|
||||
"logout_this_device_confirmation": "¿Estás seguro de que quieres cerrar sesión en este dispositivo?",
|
||||
"logs": "Registros",
|
||||
"longitude": "Longitud",
|
||||
"look": "Mirar",
|
||||
"loop_videos": "Vídeos en bucle",
|
||||
|
|
@ -1301,6 +1322,7 @@
|
|||
"mark_as_read": "Marcar como leído",
|
||||
"marked_all_as_read": "Todos marcados como leídos",
|
||||
"matches": "Coincidencias",
|
||||
"matching_assets": "Elementos Coincidentes",
|
||||
"media_type": "Tipo de medio",
|
||||
"memories": "Recuerdos",
|
||||
"memories_all_caught_up": "Puesto al día",
|
||||
|
|
@ -1341,6 +1363,7 @@
|
|||
"name_or_nickname": "Nombre o apodo",
|
||||
"network_requirement_photos_upload": "Usar datos móviles para crear una copia de seguridad de las fotos",
|
||||
"network_requirement_videos_upload": "Usar datos móviles para crear una copia de seguridad de los videos",
|
||||
"network_requirements": "Requisitos de red",
|
||||
"network_requirements_updated": "Los requisitos de red han cambiado, reiniciando la cola de copias de seguridad",
|
||||
"networking_settings": "Red",
|
||||
"networking_subtitle": "Configuraciones de acceso por URL al servidor",
|
||||
|
|
@ -1351,6 +1374,7 @@
|
|||
"new_person": "Nueva persona",
|
||||
"new_pin_code": "Nuevo PIN",
|
||||
"new_pin_code_subtitle": "Esta es la primera vez que accedes a la carpeta protegida. Crea un código PIN seguro para acceder a esta página",
|
||||
"new_timeline": "Nueva Línea de tiempo",
|
||||
"new_user_created": "Nuevo usuario creado",
|
||||
"new_version_available": "NUEVA VERSIÓN DISPONIBLE",
|
||||
"newest_first": "El más reciente primero",
|
||||
|
|
@ -1364,20 +1388,25 @@
|
|||
"no_assets_message": "HAZ CLIC PARA SUBIR TU PRIMERA FOTO",
|
||||
"no_assets_to_show": "No hay elementos a mostrar",
|
||||
"no_cast_devices_found": "No se encontraron dispositivos de transmisión",
|
||||
"no_checksum_local": "Suma de verificación no disponible. No se pueden obtener los elementos locales",
|
||||
"no_checksum_remote": "Suma de verificación no disponible. No se puede obtener el elemento remoto",
|
||||
"no_duplicates_found": "No se encontraron duplicados.",
|
||||
"no_exif_info_available": "No hay información exif disponible",
|
||||
"no_explore_results_message": "Sube más fotos para explorar tu colección.",
|
||||
"no_favorites_message": "Agregue favoritos para encontrar rápidamente sus mejores fotos y videos",
|
||||
"no_libraries_message": "Crea una biblioteca externa para ver tus fotos y vídeos",
|
||||
"no_local_assets_found": "No se encontraron elementos locales con esta suma de comprobación",
|
||||
"no_locked_photos_message": "Las fotos y los vídeos de la carpeta protegida se mantienen ocultos; no aparecerán cuando veas o busques elementos en tu biblioteca.",
|
||||
"no_name": "Sin nombre",
|
||||
"no_notifications": "Ninguna notificación",
|
||||
"no_people_found": "No se encontraron personas coincidentes",
|
||||
"no_places": "Sin lugares",
|
||||
"no_remote_assets_found": "No se encontraron elementos remotos con esta suma de comprobación",
|
||||
"no_results": "Sin resultados",
|
||||
"no_results_description": "Pruebe con un sinónimo o una palabra clave más general",
|
||||
"no_shared_albums_message": "Crea un álbum para compartir fotos y vídeos con personas de tu red",
|
||||
"no_uploads_in_progress": "No hay cargas en progreso",
|
||||
"not_available": "N/D",
|
||||
"not_in_any_album": "Sin álbum",
|
||||
"not_selected": "No seleccionado",
|
||||
"note_apply_storage_label_to_previously_uploaded assets": "Nota: Para aplicar la etiqueta de almacenamiento a los archivos que ya se subieron, ejecute la",
|
||||
|
|
@ -1499,6 +1528,7 @@
|
|||
"port": "Puerto",
|
||||
"preferences_settings_subtitle": "Configuraciones de la aplicación",
|
||||
"preferences_settings_title": "Preferencias",
|
||||
"preparing": "Preparando",
|
||||
"preset": "Preestablecido",
|
||||
"preview": "Posterior",
|
||||
"previous": "Anterior",
|
||||
|
|
@ -1564,6 +1594,7 @@
|
|||
"read_changelog": "Leer registro de cambios",
|
||||
"readonly_mode_disabled": "Modo Solo lectura deshabilitado",
|
||||
"readonly_mode_enabled": "Modo Solo lectura habilitado",
|
||||
"ready_for_upload": "Listo para subir",
|
||||
"reassign": "Reasignar",
|
||||
"reassigned_assets_to_existing_person": "Reasignado {count, plural, one {# elemento} other {# elementos}} a {name, select, null {una persona existente} other {{name}}}",
|
||||
"reassigned_assets_to_new_person": "Reasignado {count, plural, one {# elemento} other {# elementos}} a un nuevo usuario",
|
||||
|
|
@ -1588,6 +1619,7 @@
|
|||
"regenerating_thumbnails": "Recargando miniaturas",
|
||||
"remote": "Remoto",
|
||||
"remote_assets": "Elementos remotos",
|
||||
"remote_media_summary": "Resumen de Medios Remotos",
|
||||
"remove": "Eliminar",
|
||||
"remove_assets_album_confirmation": "¿Estás seguro que quieres eliminar {count, plural, one {# elemento} other {# elementos}} del álbum?",
|
||||
"remove_assets_shared_link_confirmation": "¿Estás seguro que quieres eliminar {count, plural, one {# elemento} other {# elementos}} del enlace compartido?",
|
||||
|
|
@ -1863,6 +1895,7 @@
|
|||
"show_slideshow_transition": "Mostrar la transición de las diapositivas",
|
||||
"show_supporter_badge": "Insignia de colaborador",
|
||||
"show_supporter_badge_description": "Mostrar una insignia de colaborador",
|
||||
"show_text_search_menu": "Mostrar el menú de búsqueda",
|
||||
"shuffle": "Modo aleatorio",
|
||||
"sidebar": "Barra lateral",
|
||||
"sidebar_display_description": "Muestra un enlace a la vista en la barra lateral",
|
||||
|
|
@ -1893,6 +1926,7 @@
|
|||
"stacktrace": "Seguimiento de pila",
|
||||
"start": "Inicio",
|
||||
"start_date": "Fecha de inicio",
|
||||
"start_date_before_end_date": "Fecha de inicio debe ser antes de fecha final",
|
||||
"state": "Estado",
|
||||
"status": "Estado",
|
||||
"stop_casting": "Detener transmisión",
|
||||
|
|
@ -2095,5 +2129,6 @@
|
|||
"yes": "Sí",
|
||||
"you_dont_have_any_shared_links": "No tienes ningún enlace compartido",
|
||||
"your_wifi_name": "El nombre de tu Wi-Fi",
|
||||
"zoom_image": "Acercar Imagen"
|
||||
"zoom_image": "Acercar Imagen",
|
||||
"zoom_to_bounds": "Ajustar a los límites"
|
||||
}
|
||||
|
|
|
|||
46
i18n/et.json
46
i18n/et.json
|
|
@ -28,6 +28,7 @@
|
|||
"add_to_album": "Lisa albumisse",
|
||||
"add_to_album_bottom_sheet_added": "Lisatud albumisse {album}",
|
||||
"add_to_album_bottom_sheet_already_exists": "On juba albumis {album}",
|
||||
"add_to_album_bottom_sheet_some_local_assets": "Kõiki lokaalseid üksuseid ei õnnestunud albumisse lisada",
|
||||
"add_to_album_toggle": "Muuda albumi {album} valikut",
|
||||
"add_to_albums": "Lisa albumitesse",
|
||||
"add_to_albums_count": "Lisa albumitesse ({count})",
|
||||
|
|
@ -123,6 +124,13 @@
|
|||
"logging_enable_description": "Luba logimine",
|
||||
"logging_level_description": "Kui lubatud, millist logimistaset kasutada.",
|
||||
"logging_settings": "Logimine",
|
||||
"machine_learning_availability_checks": "Saadavuskontrollid",
|
||||
"machine_learning_availability_checks_description": "Tuvasta ja eelista automaatselt saadavalolevaid masinõppeservereid",
|
||||
"machine_learning_availability_checks_enabled": "Luba saadavuskontrollid",
|
||||
"machine_learning_availability_checks_interval": "Kontrolli intervall",
|
||||
"machine_learning_availability_checks_interval_description": "Saadavuskontrollide intervall millisekundites",
|
||||
"machine_learning_availability_checks_timeout": "Päringu ajalõpp",
|
||||
"machine_learning_availability_checks_timeout_description": "Saadavuskontrollide ajalõpp millisekundites",
|
||||
"machine_learning_clip_model": "CLIP mudel",
|
||||
"machine_learning_clip_model_description": "CLIP mudeli nimi, mis on loetletud <link>siin</link>. Pane tähele, et mudeli muutmisel pead kõigi piltide peal nutiotsingu tööte uuesti käivitama.",
|
||||
"machine_learning_duplicate_detection": "Duplikaatide leidmine",
|
||||
|
|
@ -387,8 +395,6 @@
|
|||
"admin_password": "Administraatori parool",
|
||||
"administration": "Administratsioon",
|
||||
"advanced": "Täpsemad valikud",
|
||||
"advanced_settings_beta_timeline_subtitle": "Koge uut rakendust",
|
||||
"advanced_settings_beta_timeline_title": "Beeta ajajoon",
|
||||
"advanced_settings_enable_alternate_media_filter_subtitle": "Kasuta seda valikut, et filtreerida sünkroonimise ajal üksuseid alternatiivsete kriteeriumite alusel. Proovi seda ainult siis, kui rakendusel on probleeme kõigi albumite tuvastamisega.",
|
||||
"advanced_settings_enable_alternate_media_filter_title": "[EKSPERIMENTAALNE] Kasuta alternatiivset seadme albumi sünkroonimise filtrit",
|
||||
"advanced_settings_log_level_title": "Logimistase: {level}",
|
||||
|
|
@ -425,6 +431,7 @@
|
|||
"album_remove_user_confirmation": "Kas oled kindel, et soovid kasutaja {user} eemaldada?",
|
||||
"album_search_not_found": "Otsingule vastavaid albumeid ei leitud",
|
||||
"album_share_no_users": "Paistab, et oled seda albumit kõikide kasutajatega jaganud, või pole ühtegi kasutajat, kellega jagada.",
|
||||
"album_summary": "Albumi kokkuvõte",
|
||||
"album_updated": "Album muudetud",
|
||||
"album_updated_setting_description": "Saa teavitus e-posti teel, kui jagatud albumis on uusi üksuseid",
|
||||
"album_user_left": "Lahkutud albumist {album}",
|
||||
|
|
@ -496,6 +503,8 @@
|
|||
"asset_restored_successfully": "Üksus edukalt taastatud",
|
||||
"asset_skipped": "Vahele jäetud",
|
||||
"asset_skipped_in_trash": "Prügikastis",
|
||||
"asset_trashed": "Üksus liigutatud prügikasti",
|
||||
"asset_troubleshoot": "Üksuse tõrkeotsing",
|
||||
"asset_uploaded": "Üleslaaditud",
|
||||
"asset_uploading": "Üleslaadimine…",
|
||||
"asset_viewer_settings_subtitle": "Halda galeriivaaturi seadeid",
|
||||
|
|
@ -529,8 +538,10 @@
|
|||
"autoplay_slideshow": "Esita slaidiesitlus automaatselt",
|
||||
"back": "Tagasi",
|
||||
"back_close_deselect": "Tagasi, sulge või tühista valik",
|
||||
"background_backup_running_error": "Taustvarundus on käimas, ei saa käsitsi varundust alustada",
|
||||
"background_location_permission": "Taustal asukoha luba",
|
||||
"background_location_permission_content": "Et taustal töötades võrguühendust vahetada, peab Immich'il *alati* olema täpse asukoha luba, et rakendus saaks WiFi-võrgu nime lugeda",
|
||||
"background_options": "Taustavalikud",
|
||||
"backup": "Varundamine",
|
||||
"backup_album_selection_page_albums_device": "Albumid seadmel ({count})",
|
||||
"backup_album_selection_page_albums_tap": "Puuduta kaasamiseks, topeltpuuduta välistamiseks",
|
||||
|
|
@ -538,6 +549,7 @@
|
|||
"backup_album_selection_page_select_albums": "Vali albumid",
|
||||
"backup_album_selection_page_selection_info": "Valiku info",
|
||||
"backup_album_selection_page_total_assets": "Unikaalseid üksuseid kokku",
|
||||
"backup_albums_sync": "Varundusalbumite sünkroniseerimine",
|
||||
"backup_all": "Kõik",
|
||||
"backup_background_service_backup_failed_message": "Üksuste varundamine ebaõnnestus. Uuesti proovimine…",
|
||||
"backup_background_service_connection_failed_message": "Serveriga ühendumine ebaõnnestus. Uuesti proovimine…",
|
||||
|
|
@ -654,6 +666,8 @@
|
|||
"change_pin_code": "Muuda PIN-koodi",
|
||||
"change_your_password": "Muuda oma parooli",
|
||||
"changed_visibility_successfully": "Nähtavus muudetud",
|
||||
"charging": "Laadimine",
|
||||
"charging_requirement_mobile_backup": "Taustal varundus vajab, et seade oleks laadimas",
|
||||
"check_corrupt_asset_backup": "Otsi riknenud üksuste varukoopiaid",
|
||||
"check_corrupt_asset_backup_button": "Teosta kontroll",
|
||||
"check_corrupt_asset_backup_description": "Käivita see kontroll ainult WiFi-võrgus ja siis, kui kõik üksused on varundatud. See protseduur võib kesta mõne minuti.",
|
||||
|
|
@ -740,6 +754,7 @@
|
|||
"create_user": "Lisa kasutaja",
|
||||
"created": "Lisatud",
|
||||
"created_at": "Lisatud",
|
||||
"creating_linked_albums": "Lingitud albumite loomine...",
|
||||
"crop": "Kärpimine",
|
||||
"curated_object_page_title": "Asjad",
|
||||
"current_device": "Praegune seade",
|
||||
|
|
@ -832,11 +847,11 @@
|
|||
"download_settings_description": "Halda üksuste allalaadimise seadeid",
|
||||
"download_started": "Allalaadimine alustatud",
|
||||
"download_sucess": "Allalaadimine õnnestus",
|
||||
"download_sucess_android": "Meediumid laaditi alla kataloogi DCIM/Immich",
|
||||
"download_sucess_android": "Üksused laaditi alla kataloogi DCIM/Immich",
|
||||
"download_waiting_to_retry": "Uuesti proovimise ootel",
|
||||
"downloading": "Allalaadimine",
|
||||
"downloading_asset_filename": "Üksuse {filename} allalaadimine",
|
||||
"downloading_media": "Meediumi allalaadimine",
|
||||
"downloading_media": "Üksuste allalaadimine",
|
||||
"drop_files_to_upload": "Failide üleslaadimiseks sikuta need ükskõik kuhu",
|
||||
"duplicates": "Duplikaadid",
|
||||
"duplicates_description": "Lahenda iga grupp, valides duplikaadid, kui neid on",
|
||||
|
|
@ -889,7 +904,9 @@
|
|||
"error": "Viga",
|
||||
"error_change_sort_album": "Albumi sorteerimisjärjestuse muutmine ebaõnnestus",
|
||||
"error_delete_face": "Viga näo kustutamisel",
|
||||
"error_getting_places": "Viga kohtade pärimisel",
|
||||
"error_loading_image": "Viga pildi laadimisel",
|
||||
"error_loading_partners": "Viga partnerite laadimisel: {error}",
|
||||
"error_saving_image": "Viga: {error}",
|
||||
"error_tag_face_bounding_box": "Viga näo sildistamisel - ümbritseva kasti koordinaate ei õnnestunud leida",
|
||||
"error_title": "Viga - midagi läks valesti",
|
||||
|
|
@ -1054,6 +1071,7 @@
|
|||
"favorites_page_no_favorites": "Lemmikuid üksuseid ei leitud",
|
||||
"feature_photo_updated": "Esiletõstetud foto muudetud",
|
||||
"features": "Funktsioonid",
|
||||
"features_in_development": "Arendusjärgus olevad funktsioonid",
|
||||
"features_setting_description": "Halda rakenduse funktsioone",
|
||||
"file_name": "Failinimi",
|
||||
"file_name_or_extension": "Failinimi või -laiend",
|
||||
|
|
@ -1218,6 +1236,7 @@
|
|||
"local": "Lokaalsed",
|
||||
"local_asset_cast_failed": "Ei saa edastada üksust, mis pole serverisse üles laaditud",
|
||||
"local_assets": "Lokaalsed üksused",
|
||||
"local_media_summary": "Lokaalsete üksuste kokkuvõte",
|
||||
"local_network": "Kohalik võrk",
|
||||
"local_network_sheet_info": "Rakendus ühendub valitud Wi-Fi võrgus olles serveriga selle URL-i kaudu",
|
||||
"location_permission": "Asukoha luba",
|
||||
|
|
@ -1229,6 +1248,7 @@
|
|||
"location_picker_longitude_hint": "Sisesta pikkuskraad siia",
|
||||
"lock": "Lukusta",
|
||||
"locked_folder": "Lukustatud kaust",
|
||||
"log_detail_title": "Logi detailid",
|
||||
"log_out": "Logi välja",
|
||||
"log_out_all_devices": "Logi kõigist seadmetest välja",
|
||||
"logged_in_as": "Logitud sisse kasutajana {user}",
|
||||
|
|
@ -1259,6 +1279,7 @@
|
|||
"login_password_changed_success": "Parool edukalt uuendatud",
|
||||
"logout_all_device_confirmation": "Kas oled kindel, et soovid kõigist seadmetest välja logida?",
|
||||
"logout_this_device_confirmation": "Kas oled kindel, et soovid sellest seadmest välja logida?",
|
||||
"logs": "Logid",
|
||||
"longitude": "Pikkuskraad",
|
||||
"look": "Välimus",
|
||||
"loop_videos": "Taasesita videod",
|
||||
|
|
@ -1301,6 +1322,7 @@
|
|||
"mark_as_read": "Märgi loetuks",
|
||||
"marked_all_as_read": "Kõik märgiti loetuks",
|
||||
"matches": "Ühtivad failid",
|
||||
"matching_assets": "Ühtivad üksused",
|
||||
"media_type": "Meediumi tüüp",
|
||||
"memories": "Mälestused",
|
||||
"memories_all_caught_up": "Ongi kõik",
|
||||
|
|
@ -1341,6 +1363,7 @@
|
|||
"name_or_nickname": "Nimi või hüüdnimi",
|
||||
"network_requirement_photos_upload": "Kasuta fotode varundamiseks mobiilset andmesidet",
|
||||
"network_requirement_videos_upload": "Kasuta videote varundamiseks mobiilset andmesidet",
|
||||
"network_requirements": "Võrgu nõuded",
|
||||
"network_requirements_updated": "Võrgu nõuded muutusid, varundamise järjekord lähtestatakse",
|
||||
"networking_settings": "Võrguühendus",
|
||||
"networking_subtitle": "Halda serveri lõpp-punkti seadeid",
|
||||
|
|
@ -1351,6 +1374,7 @@
|
|||
"new_person": "Uus isik",
|
||||
"new_pin_code": "Uus PIN-kood",
|
||||
"new_pin_code_subtitle": "See on sul esimene kord lukustatud kausta kasutada. Turvaliseks ligipääsuks loo PIN-kood",
|
||||
"new_timeline": "Uus ajajoon",
|
||||
"new_user_created": "Uus kasutaja lisatud",
|
||||
"new_version_available": "UUS VERSIOON SAADAVAL",
|
||||
"newest_first": "Uuemad eespool",
|
||||
|
|
@ -1364,16 +1388,20 @@
|
|||
"no_assets_message": "KLIKI ESIMESE FOTO ÜLESLAADIMISEKS",
|
||||
"no_assets_to_show": "Pole üksuseid, mida kuvada",
|
||||
"no_cast_devices_found": "Edastamise seadmeid ei leitud",
|
||||
"no_checksum_local": "Kontrollsumma pole saadaval - lokaalse üksuse pärimine ebaõnnestus",
|
||||
"no_checksum_remote": "Kontrollsumma pole saadaval - kaugüksuse pärimine ebaõnnestus",
|
||||
"no_duplicates_found": "Ühtegi duplikaati ei leitud.",
|
||||
"no_exif_info_available": "Exif info pole saadaval",
|
||||
"no_explore_results_message": "Oma kogu avastamiseks laadi üles rohkem fotosid.",
|
||||
"no_favorites_message": "Lisa lemmikud, et oma parimaid fotosid ja videosid kiiresti leida",
|
||||
"no_libraries_message": "Lisa väline kogu oma fotode ja videote vaatamiseks",
|
||||
"no_local_assets_found": "Selle kontrollsummaga lokaalseid üksuseid ei leitud",
|
||||
"no_locked_photos_message": "Lukustatud kaustas olevad fotod ja videod on peidetud ning need pole kogu sirvimisel ja otsimisel nähtavad.",
|
||||
"no_name": "Nimetu",
|
||||
"no_notifications": "Teavitusi pole",
|
||||
"no_people_found": "Kattuvaid isikuid ei leitud",
|
||||
"no_places": "Kohti ei ole",
|
||||
"no_remote_assets_found": "Selle kontrollsummaga kaugüksuseid ei leitud",
|
||||
"no_results": "Vasteid pole",
|
||||
"no_results_description": "Proovi sünonüümi või üldisemat märksõna",
|
||||
"no_shared_albums_message": "Lisa album, et fotosid ja videosid teistega jagada",
|
||||
|
|
@ -1499,6 +1527,7 @@
|
|||
"port": "Port",
|
||||
"preferences_settings_subtitle": "Halda rakenduse eelistusi",
|
||||
"preferences_settings_title": "Eelistused",
|
||||
"preparing": "Ettevalmistamine",
|
||||
"preset": "Eelseadistus",
|
||||
"preview": "Eelvaade",
|
||||
"previous": "Eelmine",
|
||||
|
|
@ -1563,6 +1592,7 @@
|
|||
"read_changelog": "Vaata muudatuste ülevaadet",
|
||||
"readonly_mode_disabled": "Kirjutuskaitserežiim välja lülitatud",
|
||||
"readonly_mode_enabled": "Kirjutuskaitserežiim sisse lülitatud",
|
||||
"ready_for_upload": "Valmis üleslaadimiseks",
|
||||
"reassign": "Määra uuesti",
|
||||
"reassigned_assets_to_existing_person": "{count, plural, one {# üksus} other {# üksust}} seostatud {name, select, null {olemasoleva isikuga} other {isikuga {name}}}",
|
||||
"reassigned_assets_to_new_person": "{count, plural, one {# üksus} other {# üksust}} seostatud uue isikuga",
|
||||
|
|
@ -1587,6 +1617,7 @@
|
|||
"regenerating_thumbnails": "Pisipiltide uuesti genereerimine",
|
||||
"remote": "Serveris",
|
||||
"remote_assets": "Kaugüksused",
|
||||
"remote_media_summary": "Kaugüksuste kokkuvõte",
|
||||
"remove": "Eemalda",
|
||||
"remove_assets_album_confirmation": "Kas oled kindel, et soovid {count, plural, one {# üksuse} other {# üksust}} albumist eemaldada?",
|
||||
"remove_assets_shared_link_confirmation": "Kas oled kindel, et soovid eemaldada {count, plural, one {# üksuse} other {# üksust}} sellelt jagatud lingilt?",
|
||||
|
|
@ -1862,6 +1893,7 @@
|
|||
"show_slideshow_transition": "Kuva slaidiesitluse üleminekud",
|
||||
"show_supporter_badge": "Toetaja märk",
|
||||
"show_supporter_badge_description": "Kuva toetaja märki",
|
||||
"show_text_search_menu": "Kuva tekstiotsingu menüüd",
|
||||
"shuffle": "Juhuslik",
|
||||
"sidebar": "Külgmenüü",
|
||||
"sidebar_display_description": "Kuva külgmenüüs linki vaatele",
|
||||
|
|
@ -1892,6 +1924,7 @@
|
|||
"stacktrace": "Pinujälg",
|
||||
"start": "Alusta",
|
||||
"start_date": "Alguskuupäev",
|
||||
"start_date_before_end_date": "Alguskuupäev peab olema varasem kui lõppkuupäev",
|
||||
"state": "Osariik",
|
||||
"status": "Staatus",
|
||||
"stop_casting": "Lõpeta edastamine",
|
||||
|
|
@ -2027,7 +2060,7 @@
|
|||
"upload_success": "Üleslaadimine õnnestus, uute üksuste nägemiseks värskenda lehte.",
|
||||
"upload_to_immich": "Laadi Immich'isse ({count})",
|
||||
"uploading": "Üleslaadimine",
|
||||
"uploading_media": "Meediumi üleslaadimine",
|
||||
"uploading_media": "Üksuste üleslaadimine",
|
||||
"url": "URL",
|
||||
"usage": "Kasutus",
|
||||
"use_biometric": "Kasuta biomeetriat",
|
||||
|
|
@ -2094,5 +2127,6 @@
|
|||
"yes": "Jah",
|
||||
"you_dont_have_any_shared_links": "Sul pole ühtegi jagatud linki",
|
||||
"your_wifi_name": "Sinu WiFi-võrgu nimi",
|
||||
"zoom_image": "Suumi pilti"
|
||||
"zoom_image": "Suumi pilti",
|
||||
"zoom_to_bounds": "Suumi piiridesse"
|
||||
}
|
||||
|
|
|
|||
|
|
@ -13,6 +13,7 @@
|
|||
"add_a_location": "افزودن یک مکان",
|
||||
"add_a_name": "افزودن نام",
|
||||
"add_a_title": "افزودن عنوان",
|
||||
"add_birthday": "افزودن تاریخ تولد",
|
||||
"add_exclusion_pattern": "افزودن الگوی استثنا",
|
||||
"add_import_path": "افزودن مسیر ورودی",
|
||||
"add_location": "افزودن مکان",
|
||||
|
|
@ -22,10 +23,13 @@
|
|||
"add_photos": "افزودن عکس ها",
|
||||
"add_to": "افزودن به …",
|
||||
"add_to_album": "افزودن به آلبوم",
|
||||
"add_to_album_bottom_sheet_added": "به آلبوم {album} اضافه شد",
|
||||
"add_to_album_bottom_sheet_already_exists": "قبلا در آلبوم {album} موجود است",
|
||||
"add_to_album_bottom_sheet_some_local_assets": "برخی از محتواهای محلی را نشد به آلبوم اضافه کرد",
|
||||
"add_to_shared_album": "افزودن به آلبوم اشتراکی",
|
||||
"added_to_archive": "به آرشیو اضافه شد",
|
||||
"added_to_favorites": "به علاقه مندی ها اضافه شد",
|
||||
"added_to_favorites_count": "{count} تا اضافه شد به علاقه مندی ها",
|
||||
"added_to_favorites_count": "{count, number} تا به علاقه مندی ها اضافه شد",
|
||||
"admin": {
|
||||
"add_exclusion_pattern_description": "الگوهای استثنا را اضافه کنید. پشتیبانی از گلابینگ با استفاده از *, ** و ? وجود دارد. برای نادیده گرفتن تمام فایلها در هر دایرکتوری با نام \"Raw\"، از \"**/Raw/**\" استفاده کنید. برای نادیده گرفتن تمام فایلهایی که با \".tif\" پایان مییابند، از \"**/*.tif\" استفاده کنید. برای نادیده گرفتن یک مسیر مطلق، از \"/path/to/ignore/**\" استفاده کنید.",
|
||||
"authentication_settings": "تنظیمات احراز هویت",
|
||||
|
|
|
|||
13
i18n/fi.json
13
i18n/fi.json
|
|
@ -123,6 +123,13 @@
|
|||
"logging_enable_description": "Ota lokikirjaus käyttöön",
|
||||
"logging_level_description": "Kun käytössä, mitä lokituksen tasoa käytetään.",
|
||||
"logging_settings": "Lokit",
|
||||
"machine_learning_availability_checks": "Saatavuustarkastukset",
|
||||
"machine_learning_availability_checks_description": "Automaattisesti havaitse ja suosi vapaita koneoppimisen palvelimia",
|
||||
"machine_learning_availability_checks_enabled": "Laita päälle saatavuus tarkistukset",
|
||||
"machine_learning_availability_checks_interval": "Tarkastusväli",
|
||||
"machine_learning_availability_checks_interval_description": "Aikaväli millisekunneissa saavutettavuus tarkistuksille",
|
||||
"machine_learning_availability_checks_timeout": "Pyynnön aikakatkaisu",
|
||||
"machine_learning_availability_checks_timeout_description": "Aikakatkaisu aika millisekunneissa saatavuus tarkistuksille",
|
||||
"machine_learning_clip_model": "CLIP-malli",
|
||||
"machine_learning_clip_model_description": "Käytettävän CLIP-mallin nimi <link>toimivien mallien listasta</link>. Huomaa että sinun täytyy suorittaa \"Älykäs etsintä\"-työ uudelleen vaihdettuasi käytettävää mallia.",
|
||||
"machine_learning_duplicate_detection": "Kaksoiskappaleiden tunnistus",
|
||||
|
|
@ -387,8 +394,6 @@
|
|||
"admin_password": "Ylläpitäjän salasana",
|
||||
"administration": "Ylläpito",
|
||||
"advanced": "Edistyneet",
|
||||
"advanced_settings_beta_timeline_subtitle": "Kokeile uutta sovelluskokemusta",
|
||||
"advanced_settings_beta_timeline_title": "Beta-aikajana",
|
||||
"advanced_settings_enable_alternate_media_filter_subtitle": "Käytä tätä vaihtoehtoa suodattaaksesi mediaa synkronoinnin aikana vaihtoehtoisten kriteerien perusteella. Kokeile tätä vain, jos sovelluksessa on ongelmia kaikkien albumien tunnistamisessa.",
|
||||
"advanced_settings_enable_alternate_media_filter_title": "[KOKEELLINEN] Käytä vaihtoehtoisen laitteen albumin synkronointisuodatinta",
|
||||
"advanced_settings_log_level_title": "Kirjaustaso: {level}",
|
||||
|
|
@ -425,6 +430,7 @@
|
|||
"album_remove_user_confirmation": "Oletko varma että haluat poistaa {user}?",
|
||||
"album_search_not_found": "Haullasi ei löytynyt yhtään albumia",
|
||||
"album_share_no_users": "Näyttää että olet jakanut tämän albumin kaikkien kanssa, tai sinulla ei ole käyttäjiä joille jakaa.",
|
||||
"album_summary": "Albumi tiivistelmä",
|
||||
"album_updated": "Albumi päivitetty",
|
||||
"album_updated_setting_description": "Saa sähköpostia kun jaetussa albumissa on uutta sisältöä",
|
||||
"album_user_left": "Poistuttiin albumista {album}",
|
||||
|
|
@ -496,6 +502,7 @@
|
|||
"asset_restored_successfully": "Kohde palautettu onnistuneesti",
|
||||
"asset_skipped": "Ohitettu",
|
||||
"asset_skipped_in_trash": "Roskakorissa",
|
||||
"asset_trashed": "Kohde poistettu",
|
||||
"asset_uploaded": "Lähetetty",
|
||||
"asset_uploading": "Ladataan…",
|
||||
"asset_viewer_settings_subtitle": "Galleriakatseluohjelman asetusten hallinta",
|
||||
|
|
@ -529,8 +536,10 @@
|
|||
"autoplay_slideshow": "Toista diaesitys automaattisesti",
|
||||
"back": "Takaisin",
|
||||
"back_close_deselect": "Palaa, sulje tai poista valinnat",
|
||||
"background_backup_running_error": "Tausta varmuuskopiointi on aktiivinen, ei voida aloittaa manuaalista varmuuskopiointia",
|
||||
"background_location_permission": "Taustasijainnin käyttöoikeus",
|
||||
"background_location_permission_content": "Jotta sovellus voi vaihtaa verkkoa taustalla toimiessaan, Immichillä on *aina* oltava pääsy tarkkaan sijaintiin, jotta se voi lukea Wi-Fi-verkon nimen",
|
||||
"background_options": "Tausta valinnat",
|
||||
"backup": "Varmuuskopiointi",
|
||||
"backup_album_selection_page_albums_device": "Laitteen albumit ({count})",
|
||||
"backup_album_selection_page_albums_tap": "Napauta sisällyttääksesi, kaksoisnapauta jättääksesi pois",
|
||||
|
|
|
|||
42
i18n/fr.json
42
i18n/fr.json
|
|
@ -28,6 +28,7 @@
|
|||
"add_to_album": "Ajouter à l'album",
|
||||
"add_to_album_bottom_sheet_added": "Ajouté à {album}",
|
||||
"add_to_album_bottom_sheet_already_exists": "Déjà dans {album}",
|
||||
"add_to_album_bottom_sheet_some_local_assets": "Certains médias n'ont pas pu être ajoutés à l'album",
|
||||
"add_to_album_toggle": "Basculer la sélection pour {album}",
|
||||
"add_to_albums": "Ajouter aux albums",
|
||||
"add_to_albums_count": "Ajouter aux albums ({count})",
|
||||
|
|
@ -123,6 +124,13 @@
|
|||
"logging_enable_description": "Activer la journalisation",
|
||||
"logging_level_description": "Niveau de journalisation lorsque cette option est activée.",
|
||||
"logging_settings": "Journalisation",
|
||||
"machine_learning_availability_checks": "Vérifications de disponibilité",
|
||||
"machine_learning_availability_checks_description": "Détecte automatiquement et choisit les serveurs d'apprentissage machine disponibles",
|
||||
"machine_learning_availability_checks_enabled": "Activer les vérifications de disponibilité",
|
||||
"machine_learning_availability_checks_interval": "Intervalle de vérification",
|
||||
"machine_learning_availability_checks_interval_description": "Intervalle en millisecondes entre les vérifications de disponibilité",
|
||||
"machine_learning_availability_checks_timeout": "Délai d'expiration de la requête",
|
||||
"machine_learning_availability_checks_timeout_description": "Délai d'expiration en millisecondes pour les vérifications de disponibilité",
|
||||
"machine_learning_clip_model": "Modèle de langage CLIP",
|
||||
"machine_learning_clip_model_description": "Le nom d'un modèle CLIP listé <link>ici</link>. Notez que vous devez réexécuter la tâche 'Recherche intelligente' pour toutes les images après avoir changé de modèle.",
|
||||
"machine_learning_duplicate_detection": "Détection des doublons",
|
||||
|
|
@ -387,8 +395,6 @@
|
|||
"admin_password": "Mot de passe Admin",
|
||||
"administration": "Administration",
|
||||
"advanced": "Avancé",
|
||||
"advanced_settings_beta_timeline_subtitle": "Essayer la nouvelle application",
|
||||
"advanced_settings_beta_timeline_title": "Timeline de la béta",
|
||||
"advanced_settings_enable_alternate_media_filter_subtitle": "Utilisez cette option pour filtrer les média durant la synchronisation avec des critères alternatifs. N'utilisez cela que lorsque l'application n'arrive pas à détecter tous les albums.",
|
||||
"advanced_settings_enable_alternate_media_filter_title": "[EXPÉRIMENTAL] Utiliser le filtre de synchronisation d'album alternatif",
|
||||
"advanced_settings_log_level_title": "Niveau de journalisation : {level}",
|
||||
|
|
@ -425,6 +431,7 @@
|
|||
"album_remove_user_confirmation": "Êtes-vous sûr de vouloir supprimer {user} ?",
|
||||
"album_search_not_found": "Aucun album trouvé ne correspond à votre recherche",
|
||||
"album_share_no_users": "Il semble que vous ayez partagé cet album avec tous les utilisateurs ou que vous n'ayez aucun utilisateur avec lequel le partager.",
|
||||
"album_summary": "Résumé de l'album",
|
||||
"album_updated": "Album mis à jour",
|
||||
"album_updated_setting_description": "Recevoir une notification par courriel lorsqu'un album partagé a de nouveaux médias",
|
||||
"album_user_left": "{album} quitté",
|
||||
|
|
@ -496,6 +503,8 @@
|
|||
"asset_restored_successfully": "Élément restauré avec succès",
|
||||
"asset_skipped": "Sauté",
|
||||
"asset_skipped_in_trash": "À la corbeille",
|
||||
"asset_trashed": "Média mis à la corbeille",
|
||||
"asset_troubleshoot": "Dépannage de média",
|
||||
"asset_uploaded": "Envoyé",
|
||||
"asset_uploading": "Envoi…",
|
||||
"asset_viewer_settings_subtitle": "Modifier les paramètres du visualiseur photos",
|
||||
|
|
@ -529,8 +538,10 @@
|
|||
"autoplay_slideshow": "Lecture automatique d'un diaporama",
|
||||
"back": "Retour",
|
||||
"back_close_deselect": "Retournez en arrière, fermez ou désélectionnez",
|
||||
"background_backup_running_error": "La sauvegarde en tâche de fond est actuellement en cours, impossible de démarrer une sauvegarde manuelle",
|
||||
"background_location_permission": "Permission de localisation en arrière plan",
|
||||
"background_location_permission_content": "Afin de pouvoir changer d'adresse en arrière plan, Immich doit avoir *en permanence* accès à la localisation précise, afin d'accéder au le nom du réseau Wi-Fi utilisé",
|
||||
"background_options": "Options d'arrière-plan",
|
||||
"backup": "Sauvegarde",
|
||||
"backup_album_selection_page_albums_device": "Albums sur l'appareil ({count})",
|
||||
"backup_album_selection_page_albums_tap": "Tapez pour inclure, tapez deux fois pour exclure",
|
||||
|
|
@ -538,6 +549,7 @@
|
|||
"backup_album_selection_page_select_albums": "Sélectionner les albums",
|
||||
"backup_album_selection_page_selection_info": "Informations sur la sélection",
|
||||
"backup_album_selection_page_total_assets": "Total des éléments uniques",
|
||||
"backup_albums_sync": "Sauvegarde de la synchronisation des albums",
|
||||
"backup_all": "Tout",
|
||||
"backup_background_service_backup_failed_message": "Échec de la sauvegarde des médias. Nouvelle tentative…",
|
||||
"backup_background_service_connection_failed_message": "Impossible de se connecter au serveur. Nouvelle tentative…",
|
||||
|
|
@ -587,6 +599,7 @@
|
|||
"backup_controller_page_turn_on": "Activer la sauvegarde au premier plan",
|
||||
"backup_controller_page_uploading_file_info": "Envoi des informations du fichier",
|
||||
"backup_err_only_album": "Impossible de retirer le seul album",
|
||||
"backup_error_sync_failed": "Échec de la synchronisation. Impossible de démarrer la sauvegarde.",
|
||||
"backup_info_card_assets": "éléments",
|
||||
"backup_manual_cancelled": "Annulé",
|
||||
"backup_manual_in_progress": "Envoi déjà en cours. Réessayez plus tard",
|
||||
|
|
@ -654,6 +667,8 @@
|
|||
"change_pin_code": "Changer le code PIN",
|
||||
"change_your_password": "Changer votre mot de passe",
|
||||
"changed_visibility_successfully": "Visibilité modifiée avec succès",
|
||||
"charging": "En charge",
|
||||
"charging_requirement_mobile_backup": "La sauvegarde en tâche de fond nécessite que l'appareil soit en charge",
|
||||
"check_corrupt_asset_backup": "Vérifier la corruption des éléments enregistrés",
|
||||
"check_corrupt_asset_backup_button": "Vérifier",
|
||||
"check_corrupt_asset_backup_description": "Lancer cette vérification uniquement lorsque connecté à un réseau Wi-Fi et que tout le contenu a été enregistré. Cette procédure peut durer plusieurs minutes.",
|
||||
|
|
@ -740,6 +755,7 @@
|
|||
"create_user": "Créer un utilisateur",
|
||||
"created": "Créé",
|
||||
"created_at": "Créé à",
|
||||
"creating_linked_albums": "Création des albums liés...",
|
||||
"crop": "Recadrer",
|
||||
"curated_object_page_title": "Objets",
|
||||
"current_device": "Appareil actuel",
|
||||
|
|
@ -889,7 +905,9 @@
|
|||
"error": "Erreur",
|
||||
"error_change_sort_album": "Impossible de modifier l'ordre de tri des albums",
|
||||
"error_delete_face": "Erreur lors de la suppression du visage pour le média",
|
||||
"error_getting_places": "Erreur à la récupération des lieux",
|
||||
"error_loading_image": "Erreur de chargement de l'image",
|
||||
"error_loading_partners": "Erreur de récupération des partenaires : {error}",
|
||||
"error_saving_image": "Erreur : {error}",
|
||||
"error_tag_face_bounding_box": "Erreur lors de l'identification de visage - impossible de récupérer les coordonnées du cadre entourant le visage",
|
||||
"error_title": "Erreur - Quelque chose s'est mal passé",
|
||||
|
|
@ -1054,6 +1072,7 @@
|
|||
"favorites_page_no_favorites": "Aucun élément favori n'a été trouvé",
|
||||
"feature_photo_updated": "Photo de la personne mise à jour",
|
||||
"features": "Fonctionnalités",
|
||||
"features_in_development": "Fonctionnalités en développement",
|
||||
"features_setting_description": "Gérer les fonctionnalités de l'application",
|
||||
"file_name": "Nom du fichier",
|
||||
"file_name_or_extension": "Nom du fichier ou extension",
|
||||
|
|
@ -1218,6 +1237,7 @@
|
|||
"local": "Local",
|
||||
"local_asset_cast_failed": "Impossible de caster un média qui n'a pas envoyé vers le serveur",
|
||||
"local_assets": "Média locaux",
|
||||
"local_media_summary": "Résumé du média local",
|
||||
"local_network": "Réseau local",
|
||||
"local_network_sheet_info": "L'application va se connecter au serveur via cette URL quand l'appareil est connecté à ce réseau Wi-Fi",
|
||||
"location_permission": "Autorisation de localisation",
|
||||
|
|
@ -1229,6 +1249,7 @@
|
|||
"location_picker_longitude_hint": "Saisir la longitude ici",
|
||||
"lock": "Verrouiller",
|
||||
"locked_folder": "Dossier verrouillé",
|
||||
"log_detail_title": "Niveau de journalisation",
|
||||
"log_out": "Se déconnecter",
|
||||
"log_out_all_devices": "Déconnecter tous les appareils",
|
||||
"logged_in_as": "Connecté en tant que {user}",
|
||||
|
|
@ -1259,6 +1280,7 @@
|
|||
"login_password_changed_success": "Mot de passe mis à jour avec succès",
|
||||
"logout_all_device_confirmation": "Êtes-vous sûr de vouloir déconnecter tous les appareils ?",
|
||||
"logout_this_device_confirmation": "Êtes-vous sûr de vouloir déconnecter cet appareil ?",
|
||||
"logs": "Journaux",
|
||||
"longitude": "Longitude",
|
||||
"look": "Regarder",
|
||||
"loop_videos": "Vidéos en boucle",
|
||||
|
|
@ -1301,6 +1323,7 @@
|
|||
"mark_as_read": "Marquer comme lu",
|
||||
"marked_all_as_read": "Tout a été marqué comme lu",
|
||||
"matches": "Correspondances",
|
||||
"matching_assets": "Médias correspondants",
|
||||
"media_type": "Type de média",
|
||||
"memories": "Souvenirs",
|
||||
"memories_all_caught_up": "Vous avez tout vu",
|
||||
|
|
@ -1341,6 +1364,7 @@
|
|||
"name_or_nickname": "Nom ou surnom",
|
||||
"network_requirement_photos_upload": "Utiliser les données mobile pour sauvegarder les photos",
|
||||
"network_requirement_videos_upload": "Utiliser les données mobile pour sauvegarder les vidéos",
|
||||
"network_requirements": "Prérequis réseau",
|
||||
"network_requirements_updated": "Contraintes réseau modifiées, file d'attente de sauvegarde réinitialisée",
|
||||
"networking_settings": "Réseau",
|
||||
"networking_subtitle": "Gérer les adresses du serveur",
|
||||
|
|
@ -1351,6 +1375,7 @@
|
|||
"new_person": "Nouvelle personne",
|
||||
"new_pin_code": "Nouveau code PIN",
|
||||
"new_pin_code_subtitle": "C'est votre premier accès au dossier verrouillé. Créez un code PIN pour sécuriser l'accès à cette page",
|
||||
"new_timeline": "Nouvelle vue chronologique",
|
||||
"new_user_created": "Nouvel utilisateur créé",
|
||||
"new_version_available": "NOUVELLE VERSION DISPONIBLE",
|
||||
"newest_first": "Récents en premier",
|
||||
|
|
@ -1364,20 +1389,25 @@
|
|||
"no_assets_message": "CLIQUEZ POUR ENVOYER VOTRE PREMIÈRE PHOTO",
|
||||
"no_assets_to_show": "Aucun élément à afficher",
|
||||
"no_cast_devices_found": "Aucun appareil de diffusion trouvé",
|
||||
"no_checksum_local": "Aucune empreinte numerique disponible - impossible de récupérer les médias locaux",
|
||||
"no_checksum_remote": "Aucune empreinte numérique disponible - impossible de récupérer les médias distants",
|
||||
"no_duplicates_found": "Aucun doublon n'a été trouvé.",
|
||||
"no_exif_info_available": "Aucune information exif disponible",
|
||||
"no_explore_results_message": "Envoyez plus de photos pour explorer votre bibliothèque.",
|
||||
"no_favorites_message": "Ajouter des photos et vidéos à vos favoris pour les retrouver plus rapidement",
|
||||
"no_libraries_message": "Créer une bibliothèque externe pour voir vos photos et vidéos dans un autre espace de stockage",
|
||||
"no_local_assets_found": "Aucun média local trouvé avec cette empreinte numerique",
|
||||
"no_locked_photos_message": "Les photos et vidéos du dossier verrouillé sont masqués et ne s'afficheront pas dans votre galerie ou la recherche.",
|
||||
"no_name": "Pas de nom",
|
||||
"no_notifications": "Pas de notification",
|
||||
"no_people_found": "Aucune personne correspondante trouvée",
|
||||
"no_places": "Pas de lieu",
|
||||
"no_remote_assets_found": "Aucun média distant trouvé avec cette empreinte numerique",
|
||||
"no_results": "Aucun résultat",
|
||||
"no_results_description": "Essayez un synonyme ou un mot-clé plus général",
|
||||
"no_shared_albums_message": "Créer un album pour partager vos photos et vidéos avec les personnes de votre réseau",
|
||||
"no_uploads_in_progress": "Pas d'envoi en cours",
|
||||
"not_available": "N/A",
|
||||
"not_in_any_album": "Dans aucun album",
|
||||
"not_selected": "Non sélectionné",
|
||||
"note_apply_storage_label_to_previously_uploaded assets": "Note : Pour appliquer l'étiquette de stockage aux médias précédemment envoyés, exécutez",
|
||||
|
|
@ -1499,6 +1529,7 @@
|
|||
"port": "Port",
|
||||
"preferences_settings_subtitle": "Gérer les préférences de l'application",
|
||||
"preferences_settings_title": "Préférences",
|
||||
"preparing": "Préparation",
|
||||
"preset": "Préréglage",
|
||||
"preview": "Aperçu",
|
||||
"previous": "Précédent",
|
||||
|
|
@ -1564,6 +1595,7 @@
|
|||
"read_changelog": "Lire les changements",
|
||||
"readonly_mode_disabled": "Mode lecture seule désactivé",
|
||||
"readonly_mode_enabled": "Mode lecture seule activé",
|
||||
"ready_for_upload": "Téléchargement prêt",
|
||||
"reassign": "Réattribuer",
|
||||
"reassigned_assets_to_existing_person": "{count, plural, one {# média réattribué} other {# médias réattribués}} à {name, select, null {une personne existante} other {{name}}}",
|
||||
"reassigned_assets_to_new_person": "{count, plural, one {# média réattribué} other {# médias réattribués}} à une nouvelle personne",
|
||||
|
|
@ -1588,6 +1620,7 @@
|
|||
"regenerating_thumbnails": "Regénération des miniatures",
|
||||
"remote": "À distance",
|
||||
"remote_assets": "Média à distance",
|
||||
"remote_media_summary": "Résumé du média distant",
|
||||
"remove": "Supprimer",
|
||||
"remove_assets_album_confirmation": "Êtes-vous sûr de vouloir supprimer {count, plural, one {# média} other {# médias}} de l'album ?",
|
||||
"remove_assets_shared_link_confirmation": "Êtes-vous sûr de vouloir supprimer {count, plural, one {# média} other {# médias}} de ce lien partagé ?",
|
||||
|
|
@ -1863,6 +1896,7 @@
|
|||
"show_slideshow_transition": "Afficher la transition du diaporama",
|
||||
"show_supporter_badge": "Badge de contributeur",
|
||||
"show_supporter_badge_description": "Afficher le badge de contributeur",
|
||||
"show_text_search_menu": "Afficher le menu de recherche de texte",
|
||||
"shuffle": "Mélanger",
|
||||
"sidebar": "Barre latérale",
|
||||
"sidebar_display_description": "Afficher un lien vers la vue dans la barre latérale",
|
||||
|
|
@ -1893,6 +1927,7 @@
|
|||
"stacktrace": "Trace de la pile",
|
||||
"start": "Commencer",
|
||||
"start_date": "Date de début",
|
||||
"start_date_before_end_date": "La date de début doit être avant la date de fin",
|
||||
"state": "Région",
|
||||
"status": "Statut",
|
||||
"stop_casting": "Arrêter la diffusion",
|
||||
|
|
@ -2095,5 +2130,6 @@
|
|||
"yes": "Oui",
|
||||
"you_dont_have_any_shared_links": "Vous n'avez aucun lien partagé",
|
||||
"your_wifi_name": "Nom du réseau wifi",
|
||||
"zoom_image": "Zoomer"
|
||||
"zoom_image": "Zoomer",
|
||||
"zoom_to_bounds": "Zoom sur la zone"
|
||||
}
|
||||
|
|
|
|||
33
i18n/gl.json
33
i18n/gl.json
|
|
@ -45,11 +45,18 @@
|
|||
"authentication_settings_disable_all": "Estás seguro de que queres desactivar todos os métodos de inicio de sesión? O inicio de sesión desactivarase completamente.",
|
||||
"authentication_settings_reenable": "Para reactivalo, use un <link>Comando de servidor</link>.",
|
||||
"background_task_job": "Tarefas en segundo plano",
|
||||
"backup_database": "Copia de seguridade da base de datos",
|
||||
"backup_database_enable_description": "Activar copias de seguridade da base de datos",
|
||||
"backup_database": "Crear un vertedoiro de base de datos",
|
||||
"backup_database_enable_description": "Activar o vertedoiro de copias de seguridade da base de datos",
|
||||
"backup_keep_last_amount": "Cantidade de copias de seguridade anteriores a conservar",
|
||||
"backup_onboarding_1_description": "Copia no exterior na nube ou noutra localización física.",
|
||||
"backup_onboarding_2_description": "Copias locais en diferentes dispositivos. Isto inclue os arquivos principais e as copias de esos arquivos localmente.",
|
||||
"backup_onboarding_3_description": "copias totais da tua información, incluindo os arquivos orixinais. Isto inclue 1 copia externa e 2 copias locais.",
|
||||
"backup_onboarding_description": "Unha <backblaze-link>estratexia de copia 3-2-1</backblaze-link> é recomendada para protexer os teus datos. Deberías gardar copias das túas fotos/videos subidas así como da base de datos de Immich como unha solución de seguridade.",
|
||||
"backup_onboarding_footer": "Pra máis información sobre copias de seguridade de Immich, por favor use a seguinte ligazón <link> de documentación</link>.",
|
||||
"backup_onboarding_parts_title": "Unha copia de seguridade 3-2-1 inclue:",
|
||||
"backup_onboarding_title": "Copia de seguridade",
|
||||
"backup_settings": "Configuración da copia de seguridade",
|
||||
"backup_settings_description": "Xestionar a configuración da copia de seguridade da base de datos",
|
||||
"backup_settings_description": "Xestionar a configuración do volcado da base de datos",
|
||||
"cleared_jobs": "Traballos borrados para: {job}",
|
||||
"config_set_by_file": "A configuración establécese actualmente mediante un ficheiro de configuración",
|
||||
"confirm_delete_library": "Estás seguro de que queres eliminar a biblioteca {library}?",
|
||||
|
|
@ -116,6 +123,13 @@
|
|||
"logging_enable_description": "Activar rexistro",
|
||||
"logging_level_description": "Cando estea activado, que nivel de rexistro usar.",
|
||||
"logging_settings": "Rexistro",
|
||||
"machine_learning_availability_checks": "Comprobacións de dispoñibilidade",
|
||||
"machine_learning_availability_checks_description": "Detectar automáticamente e preferir servidores de aprendizaxe profunda dispoñibles",
|
||||
"machine_learning_availability_checks_enabled": "Activar comprobacións de dispoñibilidade",
|
||||
"machine_learning_availability_checks_interval": "Intervalo de comprobación",
|
||||
"machine_learning_availability_checks_interval_description": "Intervalo en milisegundos entre comprobacións de dispoñibilidade",
|
||||
"machine_learning_availability_checks_timeout": "Tempo de espera da solicitude",
|
||||
"machine_learning_availability_checks_timeout_description": "Tempo de espera en milisegundos para as comprobación de dispoñibilidade",
|
||||
"machine_learning_clip_model": "Modelo CLIP",
|
||||
"machine_learning_clip_model_description": "O nome dun modelo CLIP listado <link>aquí</link>. Ten en conta que debe volver executar o traballo 'Busca Intelixente' para todas as imaxes ao cambiar un modelo.",
|
||||
"machine_learning_duplicate_detection": "Detección de duplicados",
|
||||
|
|
@ -170,6 +184,19 @@
|
|||
"metadata_settings_description": "Xestionar a configuración de metadatos",
|
||||
"migration_job": "Migración",
|
||||
"migration_job_description": "Migrar miniaturas de activos e caras á última estrutura de cartafoles",
|
||||
"nightly_tasks_cluster_faces_setting_description": "Executar recoñecemento facial nas novas caras detectadas",
|
||||
"nightly_tasks_cluster_new_faces_setting": "Agrupar novas caras",
|
||||
"nightly_tasks_database_cleanup_setting": "Tarefas de limpeza da base de datos",
|
||||
"nightly_tasks_database_cleanup_setting_description": "Limpar información vella e obsoleta da base de datos",
|
||||
"nightly_tasks_generate_memories_setting": "Xerar memorias",
|
||||
"nightly_tasks_generate_memories_setting_description": "Crear novas memorias dende os recursos",
|
||||
"nightly_tasks_missing_thumbnails_setting": "Xerar as miniaturas que faltan",
|
||||
"nightly_tasks_missing_thumbnails_setting_description": "Encolar arquivos sin miniaturas para a xeración das miniaturas",
|
||||
"nightly_tasks_settings": "Configuración das tarefas nocturnas",
|
||||
"nightly_tasks_settings_description": "Administrar as tarefas nocturnas",
|
||||
"nightly_tasks_start_time_setting": "Tempo de inicio",
|
||||
"nightly_tasks_start_time_setting_description": "O tempo no que o servidor comeza a executar as tarefas nocturnas",
|
||||
"nightly_tasks_sync_quota_usage_setting": "Sincronizar uso de cuota",
|
||||
"no_paths_added": "Non se engadiron rutas",
|
||||
"no_pattern_added": "Non se engadiu ningún padrón",
|
||||
"note_apply_storage_label_previous_assets": "Nota: Para aplicar a Etiqueta de Almacenamento a activos cargados previamente, execute o",
|
||||
|
|
|
|||
65
i18n/he.json
65
i18n/he.json
|
|
@ -123,6 +123,13 @@
|
|||
"logging_enable_description": "אפשר רישום ביומן",
|
||||
"logging_level_description": "כאשר פועל, באיזה רמת יומן לתעד.",
|
||||
"logging_settings": "רישום ביומן",
|
||||
"machine_learning_availability_checks": "בדיקת זמינות",
|
||||
"machine_learning_availability_checks_description": "זהה ותעדף אוטומטית שרתי למידת מכונה זמינים",
|
||||
"machine_learning_availability_checks_enabled": "הפעלת בדיקות זמינות",
|
||||
"machine_learning_availability_checks_interval": "תזמון בדיקה",
|
||||
"machine_learning_availability_checks_interval_description": "מרווח זמן במילישניות בין בדיקות זמינות",
|
||||
"machine_learning_availability_checks_timeout": "פסק זמן לבקשה",
|
||||
"machine_learning_availability_checks_timeout_description": "פסק זמן במילישניות עבור בדיקות זמינות",
|
||||
"machine_learning_clip_model": "מודל CLIP",
|
||||
"machine_learning_clip_model_description": "שמו של מודל CLIP רשום <link>כאן</link>. שים לב שעליך להפעיל מחדש את המשימה 'חיפוש חכם' עבור כל התמונות בעת שינוי מודל.",
|
||||
"machine_learning_duplicate_detection": "איתור כפילויות",
|
||||
|
|
@ -387,8 +394,6 @@
|
|||
"admin_password": "סיסמת מנהל",
|
||||
"administration": "ניהול",
|
||||
"advanced": "מתקדם",
|
||||
"advanced_settings_beta_timeline_subtitle": "נסה את חווית האפליקציה החדשה",
|
||||
"advanced_settings_beta_timeline_title": "ציר זמן (בטא)",
|
||||
"advanced_settings_enable_alternate_media_filter_subtitle": "השתמש באפשרות זו כדי לסנן מדיה במהלך הסנכרון לפי קריטריונים חלופיים. מומלץ להשתמש בזה רק אם יש בעיה בזיהוי כל האלבומים באפליקציה.",
|
||||
"advanced_settings_enable_alternate_media_filter_title": "[ניסיוני] השתמש במסנן סנכרון אלבום חלופי שמבכשיר",
|
||||
"advanced_settings_log_level_title": "רמת רישום ביומן: {level}",
|
||||
|
|
@ -425,6 +430,7 @@
|
|||
"album_remove_user_confirmation": "האם באמת ברצונך להסיר את {user}?",
|
||||
"album_search_not_found": "לא נמצאו אלבומים התואמים לחיפוש שלך",
|
||||
"album_share_no_users": "נראה ששיתפת את האלבום הזה עם כל המשתמשים או שאין לך אף משתמש לשתף איתו.",
|
||||
"album_summary": "תקציר אלבום",
|
||||
"album_updated": "אלבום עודכן",
|
||||
"album_updated_setting_description": "קבל הודעת דוא\"ל כאשר לאלבום משותף יש תמונות חדשות",
|
||||
"album_user_left": "עזב את {album}",
|
||||
|
|
@ -496,6 +502,8 @@
|
|||
"asset_restored_successfully": "תמונה שוחזרה בהצלחה",
|
||||
"asset_skipped": "דילג",
|
||||
"asset_skipped_in_trash": "באשפה",
|
||||
"asset_trashed": "התמונה הועברה לאשפה",
|
||||
"asset_troubleshoot": "פתרון בעיות בתמונות",
|
||||
"asset_uploaded": "הועלה",
|
||||
"asset_uploading": "מעלה…",
|
||||
"asset_viewer_settings_subtitle": "ניהול הגדרות מציג הגלריה שלך",
|
||||
|
|
@ -529,8 +537,10 @@
|
|||
"autoplay_slideshow": "מצגת תמונות אוטומטית",
|
||||
"back": "חזרה",
|
||||
"back_close_deselect": "חזור, סגור, או בטל בחירה",
|
||||
"background_backup_running_error": "גיבוי ברקע פועל כעת, לא ניתן להפעיל גיבוי ידני",
|
||||
"background_location_permission": "הרשאת מיקום ברקע",
|
||||
"background_location_permission_content": "כדי להחליף רשתות בעת ריצה ברקע, היישום צריך *תמיד* גישה למיקום מדויק על מנת לקרוא את השם של רשת האינטרנט האלחוטי",
|
||||
"background_options": "אפשרויות רקע",
|
||||
"backup": "גיבוי",
|
||||
"backup_album_selection_page_albums_device": "({count}) אלבומים במכשיר",
|
||||
"backup_album_selection_page_albums_tap": "הקש כדי לכלול, הקש פעמיים כדי להחריג",
|
||||
|
|
@ -538,6 +548,7 @@
|
|||
"backup_album_selection_page_select_albums": "בחירת אלבומים",
|
||||
"backup_album_selection_page_selection_info": "פרטי בחירה",
|
||||
"backup_album_selection_page_total_assets": "סה״כ תמונות ייחודיות",
|
||||
"backup_albums_sync": "סנכרון אלבומי גיבוי",
|
||||
"backup_all": "הכל",
|
||||
"backup_background_service_backup_failed_message": "נכשל בגיבוי תמונות. מנסה שוב…",
|
||||
"backup_background_service_connection_failed_message": "נכשל בהתחברות לשרת. מנסה שוב…",
|
||||
|
|
@ -654,6 +665,8 @@
|
|||
"change_pin_code": "שנה קוד PIN",
|
||||
"change_your_password": "החלף את הסיסמה שלך",
|
||||
"changed_visibility_successfully": "הנראות שונתה בהצלחה",
|
||||
"charging": "טוען",
|
||||
"charging_requirement_mobile_backup": "גיבוי ברקע דורש טעינה של המכשיר",
|
||||
"check_corrupt_asset_backup": "בדוק גיבויים פגומים של תמונות",
|
||||
"check_corrupt_asset_backup_button": "בצע בדיקה",
|
||||
"check_corrupt_asset_backup_description": "הרץ בדיקה זו רק על Wi-Fi ולאחר שכל התמונות גובו. ההליך עשוי לקחת כמה דקות.",
|
||||
|
|
@ -889,7 +902,9 @@
|
|||
"error": "שגיאה",
|
||||
"error_change_sort_album": "שינוי סדר מיון אלבום נכשל",
|
||||
"error_delete_face": "שגיאה במחיקת פנים מתמונה",
|
||||
"error_getting_places": "שגיאה בקבלת מקומות",
|
||||
"error_loading_image": "שגיאה בטעינת התמונה",
|
||||
"error_loading_partners": "שגיאה בטעינת שותפים: {error}",
|
||||
"error_saving_image": "שגיאה: {error}",
|
||||
"error_tag_face_bounding_box": "שגיאה בתיוג הפנים – לא ניתן לקבל את קואורדינטות המסגרת",
|
||||
"error_title": "שגיאה - משהו השתבש",
|
||||
|
|
@ -1054,6 +1069,7 @@
|
|||
"favorites_page_no_favorites": "לא נמצאו תמונות מועדפים",
|
||||
"feature_photo_updated": "תמונה מייצגת עודכנה",
|
||||
"features": "תכונות",
|
||||
"features_in_development": "תכונות בפיתוח",
|
||||
"features_setting_description": "ניהול תכונות היישום",
|
||||
"file_name": "שם הקובץ",
|
||||
"file_name_or_extension": "שם קובץ או סיומת",
|
||||
|
|
@ -1218,6 +1234,7 @@
|
|||
"local": "מקומי",
|
||||
"local_asset_cast_failed": "לא ניתן לשדר תמונה שלא הועלתה לשרת",
|
||||
"local_assets": "תמונות מקומיות",
|
||||
"local_media_summary": "סיכום של מדיה מקומית",
|
||||
"local_network": "רשת מקומית",
|
||||
"local_network_sheet_info": "היישום יתחבר לשרת דרך הכתובת הזאת כאשר משתמשים ברשת האינטרנט האלחוטי שמצוינת",
|
||||
"location_permission": "הרשאת מיקום",
|
||||
|
|
@ -1229,6 +1246,7 @@
|
|||
"location_picker_longitude_hint": "הזן את קו האורך שלך כאן",
|
||||
"lock": "נעל",
|
||||
"locked_folder": "תיקיה נעולה",
|
||||
"log_detail_title": "פרטי יומן",
|
||||
"log_out": "התנתק",
|
||||
"log_out_all_devices": "התנתק מכל המכשירים",
|
||||
"logged_in_as": "מחובר כ {user}",
|
||||
|
|
@ -1259,6 +1277,7 @@
|
|||
"login_password_changed_success": "סיסמה עודכנה בהצלחה",
|
||||
"logout_all_device_confirmation": "האם באמת ברצונך להתנתק מכל המכשירים?",
|
||||
"logout_this_device_confirmation": "האם באמת ברצונך להתנתק מהמכשיר הזה?",
|
||||
"logs": "יומנים",
|
||||
"longitude": "קו אורך",
|
||||
"look": "מראה",
|
||||
"loop_videos": "הפעלה חוזרת של סרטונים",
|
||||
|
|
@ -1301,6 +1320,7 @@
|
|||
"mark_as_read": "סמן כנקרא",
|
||||
"marked_all_as_read": "כל ההתראות סומנו כנקראו",
|
||||
"matches": "התאמות",
|
||||
"matching_assets": "תמונות תואמות",
|
||||
"media_type": "סוג מדיה",
|
||||
"memories": "זכרונות",
|
||||
"memories_all_caught_up": "ראית הכל",
|
||||
|
|
@ -1341,6 +1361,7 @@
|
|||
"name_or_nickname": "שם או כינוי",
|
||||
"network_requirement_photos_upload": "השתמש בנתונים ניידים לגיבוי תמונות",
|
||||
"network_requirement_videos_upload": "השתמש בנתונים ניידים לגיבוי סרטונים",
|
||||
"network_requirements": "דרישות רשת",
|
||||
"network_requirements_updated": "דרישות הרשת השתנו, תור הגיבוי אופס",
|
||||
"networking_settings": "רשת",
|
||||
"networking_subtitle": "ניהול הגדרות נקודת קצה שרת",
|
||||
|
|
@ -1351,6 +1372,7 @@
|
|||
"new_person": "אדם חדש",
|
||||
"new_pin_code": "קוד PIN חדש",
|
||||
"new_pin_code_subtitle": "זאת הפעם הראשונה שנכנסת לתיקיה הנעולה. צור קוד PIN כדי לאבטח את הגישה לדף זה",
|
||||
"new_timeline": "ציר הזמן החדש",
|
||||
"new_user_created": "משתמש חדש נוצר",
|
||||
"new_version_available": "גרסה חדשה זמינה",
|
||||
"newest_first": "החדש ביותר ראשון",
|
||||
|
|
@ -1364,20 +1386,25 @@
|
|||
"no_assets_message": "לחץ כדי להעלות את התמונה הראשונה שלך",
|
||||
"no_assets_to_show": "אין תמונות להצגה",
|
||||
"no_cast_devices_found": "לא נמצאו מכשירי שידור",
|
||||
"no_checksum_local": "אין Checksum זמין - לא ניתן לאחזר תמונות מקומיות",
|
||||
"no_checksum_remote": "אין Checksum זמין - לא ניתן לאחזר תמונות מהשרת",
|
||||
"no_duplicates_found": "לא נמצאו כפילויות.",
|
||||
"no_exif_info_available": "אין מידע זמין על מטא-נתונים (exif)",
|
||||
"no_explore_results_message": "העלה תמונות נוספות כדי לחקור את האוסף שלך.",
|
||||
"no_favorites_message": "הוסף מועדפים כדי למצוא במהירות את התמונות והסרטונים הכי טובים שלך",
|
||||
"no_libraries_message": "צור ספרייה חיצונית כדי לראות את התמונות והסרטונים שלך",
|
||||
"no_local_assets_found": "לא נמצאו תמונות עם Checksum זהה",
|
||||
"no_locked_photos_message": "תמונות וסרטונים בתיקייה הנעולה מוסתרים ולא יופיעו בזמן הגלישה או החיפוש בספרייה שלך.",
|
||||
"no_name": "אין שם",
|
||||
"no_notifications": "אין התראות",
|
||||
"no_people_found": "לא נמצאו אנשים תואמים",
|
||||
"no_places": "אין מקומות",
|
||||
"no_remote_assets_found": "לא נמצאו תמונות בשרת עם Checksum זהה",
|
||||
"no_results": "אין תוצאות",
|
||||
"no_results_description": "נסה להשתמש במילה נרדפת או במילת מפתח יותר כללית",
|
||||
"no_shared_albums_message": "צור אלבום כדי לשתף תמונות וסרטונים עם אנשים ברשת שלך",
|
||||
"no_uploads_in_progress": "אין העלאות בתהליך",
|
||||
"not_available": "לא רלוונטי",
|
||||
"not_in_any_album": "לא בשום אלבום",
|
||||
"not_selected": "לא נבחרו",
|
||||
"note_apply_storage_label_to_previously_uploaded assets": "הערה: כדי להחיל את תווית האחסון על תמונות שהועלו בעבר, הפעל את",
|
||||
|
|
@ -1499,6 +1526,7 @@
|
|||
"port": "יציאה",
|
||||
"preferences_settings_subtitle": "ניהול העדפות יישום",
|
||||
"preferences_settings_title": "העדפות",
|
||||
"preparing": "בהכנה",
|
||||
"preset": "הגדרות קבועות מראש",
|
||||
"preview": "תצוגה מקדימה",
|
||||
"previous": "הקודם",
|
||||
|
|
@ -1564,10 +1592,11 @@
|
|||
"read_changelog": "קרא את יומן השינויים",
|
||||
"readonly_mode_disabled": "מצב לקריאה בלבד מושבת",
|
||||
"readonly_mode_enabled": "מצב לקריאה בלבד מופעל",
|
||||
"reassign": "הקצה מחדש",
|
||||
"ready_for_upload": "מוכן להעלאה",
|
||||
"reassign": "הקצאה מחדש",
|
||||
"reassigned_assets_to_existing_person": "{count, plural, one {תמונה # הוקצתה} other {# תמונות הוקצו}} מחדש אל {name, select, null {אדם קיים} other {{name}}}",
|
||||
"reassigned_assets_to_new_person": "{count, plural, one {תמונה # הוקצתה} other {# תמונות הוקצו}} מחדש לאדם חדש",
|
||||
"reassing_hint": "הקצה תמונות שנבחרו לאדם קיים",
|
||||
"reassing_hint": "הקצאת תמונות שנבחרו לאדם קיים",
|
||||
"recent": "חדש",
|
||||
"recent-albums": "אלבומים אחרונים",
|
||||
"recent_searches": "חיפושים אחרונים",
|
||||
|
|
@ -1575,11 +1604,11 @@
|
|||
"recently_added_page_title": "נוסף לאחרונה",
|
||||
"recently_taken": "צולם לאחרונה",
|
||||
"recently_taken_page_title": "צולם לאחרונה",
|
||||
"refresh": "רענן",
|
||||
"refresh_encoded_videos": "רענן סרטונים מקודדים",
|
||||
"refresh_faces": "רענן פנים",
|
||||
"refresh_metadata": "רענן מטא-נתונים",
|
||||
"refresh_thumbnails": "רענן תמונות ממוזערות",
|
||||
"refresh": "רענון",
|
||||
"refresh_encoded_videos": "רענון סרטונים מקודדים",
|
||||
"refresh_faces": "רענון פנים",
|
||||
"refresh_metadata": "רענון מטא-נתונים",
|
||||
"refresh_thumbnails": "רענון תמונות ממוזערות",
|
||||
"refreshed": "רוענן",
|
||||
"refreshes_every_file": "קורא מחדש את כל הקבצים הקיימים והחדשים",
|
||||
"refreshing_encoded_video": "מרענן סרטון מקודד",
|
||||
|
|
@ -1588,15 +1617,16 @@
|
|||
"regenerating_thumbnails": "מחדש תמונות ממוזערות",
|
||||
"remote": "מרוחק",
|
||||
"remote_assets": "תמונות מרוחקות",
|
||||
"remove": "הסר",
|
||||
"remote_media_summary": "תקציר תמונות מרוחקות",
|
||||
"remove": "הסרה",
|
||||
"remove_assets_album_confirmation": "האם באמת ברצונך להסיר {count, plural, one {תמונה #} other {# תמונות}} מהאלבום?",
|
||||
"remove_assets_shared_link_confirmation": "האם אתה בטוח שברצונך להסיר {count, plural, one {תמונה #} other {# תמונות}} מהקישור המשותף הזה?",
|
||||
"remove_assets_shared_link_confirmation": "האם ברצונך להסיר {count, plural, one {תמונה #} other {# תמונות}} מהקישור המשותף הזה?",
|
||||
"remove_assets_title": "להסיר תמונות?",
|
||||
"remove_custom_date_range": "הסר טווח תאריכים מותאם",
|
||||
"remove_deleted_assets": "הסר קבצים לא מקוונים",
|
||||
"remove_from_album": "הסר מאלבום",
|
||||
"remove_custom_date_range": "הסרת טווח תאריכים מותאם",
|
||||
"remove_deleted_assets": "הסרת קבצים לא מקוונים",
|
||||
"remove_from_album": "הסרה מאלבום",
|
||||
"remove_from_album_action_prompt": "{count} הוסרו מהאלבום",
|
||||
"remove_from_favorites": "הסר מהמועדפים",
|
||||
"remove_from_favorites": "הסרה מהמועדפים",
|
||||
"remove_from_lock_folder_action_prompt": "{count} הוסרו מהתיקייה הנעולה",
|
||||
"remove_from_locked_folder": "הסר מהתיקייה הנעולה",
|
||||
"remove_from_locked_folder_confirmation": "האם אתה בטוח שברצונך להעביר את התמונות והסרטונים האלה מחוץ לתיקייה הנעולה? הם יהיו מוצגים בספרייה שלך.",
|
||||
|
|
@ -1863,6 +1893,7 @@
|
|||
"show_slideshow_transition": "הצג מעבר מצגת",
|
||||
"show_supporter_badge": "תג תומך",
|
||||
"show_supporter_badge_description": "הצג תג תומך",
|
||||
"show_text_search_menu": "הצג תפריט חיפוש טקסט",
|
||||
"shuffle": "ערבוב",
|
||||
"sidebar": "סרגל צד",
|
||||
"sidebar_display_description": "הצג קישור לתצוגה בסרגל הצד",
|
||||
|
|
@ -1893,6 +1924,7 @@
|
|||
"stacktrace": "Stack trace",
|
||||
"start": "התחל",
|
||||
"start_date": "תאריך התחלה",
|
||||
"start_date_before_end_date": "תאריך ההתחלה חייב להיות לפני תאריך הסיום",
|
||||
"state": "מדינה",
|
||||
"status": "מצב",
|
||||
"stop_casting": "הפסקת שידור",
|
||||
|
|
@ -2095,5 +2127,6 @@
|
|||
"yes": "כן",
|
||||
"you_dont_have_any_shared_links": "אין לך קישורים משותפים",
|
||||
"your_wifi_name": "שם אינטרנט אלחוטי שלך",
|
||||
"zoom_image": "זום לתמונה"
|
||||
"zoom_image": "זום לתמונה",
|
||||
"zoom_to_bounds": "התמקד באזור"
|
||||
}
|
||||
|
|
|
|||
|
|
@ -381,8 +381,6 @@
|
|||
"admin_password": "व्यवस्थापक पासवर्ड",
|
||||
"administration": "प्रशासन",
|
||||
"advanced": "विकसित",
|
||||
"advanced_settings_beta_timeline_subtitle": "नए ऐप अनुभव को आज़माएँ",
|
||||
"advanced_settings_beta_timeline_title": "बीटा टाइमलाइन",
|
||||
"advanced_settings_enable_alternate_media_filter_subtitle": "सिंक के दौरान वैकल्पिक मानदंडों के आधार पर मीडिया को फ़िल्टर करने के लिए इस विकल्प का उपयोग करें। इसे केवल तभी आज़माएँ जब आपको ऐप द्वारा सभी एल्बमों का पता लगाने में समस्या हो।",
|
||||
"advanced_settings_enable_alternate_media_filter_title": "[प्रयोगात्मक] वैकल्पिक डिवाइस एल्बम सिंक फ़िल्टर का उपयोग करें",
|
||||
"advanced_settings_log_level_title": "लॉग स्तर:{level}",
|
||||
|
|
@ -1548,6 +1546,7 @@
|
|||
"year": "वर्ष",
|
||||
"yes": "हाँ",
|
||||
"you_dont_have_any_shared_links": "आपके पास कोई साझा लिंक नहीं है",
|
||||
"your_wifi_name": "Your WiFi name",
|
||||
"zoom_image": "छवि ज़ूम करें"
|
||||
"your_wifi_name": "आपके वाईफाई का नाम",
|
||||
"zoom_image": "छवि ज़ूम करें",
|
||||
"zoom_to_bounds": "सीमा तक ज़ूम करें"
|
||||
}
|
||||
|
|
|
|||
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue