Compare commits

..

2 Commits

Author SHA1 Message Date
mertalev
683bb88f8b updated dockerfile 2023-11-12 18:03:08 -05:00
mertalev
ae80def7f2 export cli 2023-11-12 18:01:12 -05:00
149 changed files with 2370 additions and 4277 deletions

View File

@@ -168,13 +168,13 @@ jobs:
poetry install --with dev
- name: Lint with ruff
run: |
poetry run ruff check --format=github app export
poetry run ruff check --format=github app
- name: Check black formatting
run: |
poetry run black --check app export
poetry run black --check app
- name: Run mypy type checking
run: |
poetry run mypy --install-types --non-interactive --strict app/ export/
poetry run mypy --install-types --non-interactive app/
- name: Run tests and coverage
run: |
poetry run pytest --cov app

126
cli/package-lock.json generated
View File

@@ -775,9 +775,9 @@
}
},
"node_modules/@eslint/eslintrc": {
"version": "2.1.3",
"resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.3.tgz",
"integrity": "sha512-yZzuIG+jnVu6hNSzFEN07e8BxF3uAzYtQb6uDkaYZLo6oYZDCq454c5kB8zxnzfCYyP4MIuyBn10L0DqwujTmA==",
"version": "2.1.2",
"resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.2.tgz",
"integrity": "sha512-+wvgpDsrB1YqAMdEUCcnTlpfVBH7Vqn6A/NT3D8WVXFIaKMlErPIZT3oCIAVCOtarRpMtelZLqJeU3t7WY6X6g==",
"dev": true,
"dependencies": {
"ajv": "^6.12.4",
@@ -798,21 +798,21 @@
}
},
"node_modules/@eslint/js": {
"version": "8.53.0",
"resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.53.0.tgz",
"integrity": "sha512-Kn7K8dx/5U6+cT1yEhpX1w4PCSg0M+XyRILPgvwcEBjerFWCwQj5sbr3/VmxqV0JGHCBCzyd6LxypEuehypY1w==",
"version": "8.50.0",
"resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.50.0.tgz",
"integrity": "sha512-NCC3zz2+nvYd+Ckfh87rA47zfu2QsQpvc6k1yzTk+b9KzRj0wkGa8LSoGOXN6Zv4lRf/EIoZ80biDh9HOI+RNQ==",
"dev": true,
"engines": {
"node": "^12.22.0 || ^14.17.0 || >=16.0.0"
}
},
"node_modules/@humanwhocodes/config-array": {
"version": "0.11.13",
"resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.13.tgz",
"integrity": "sha512-JSBDMiDKSzQVngfRjOdFXgFfklaXI4K9nLF49Auh21lmBWRLIK3+xTErTWD4KU54pb6coM6ESE7Awz/FNU3zgQ==",
"version": "0.11.11",
"resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.11.tgz",
"integrity": "sha512-N2brEuAadi0CcdeMXUkhbZB84eskAc8MEX1By6qEchoVywSgXPIjou4rYsl0V3Hj0ZnuGycGCjdNgockbzeWNA==",
"dev": true,
"dependencies": {
"@humanwhocodes/object-schema": "^2.0.1",
"@humanwhocodes/object-schema": "^1.2.1",
"debug": "^4.1.1",
"minimatch": "^3.0.5"
},
@@ -834,9 +834,9 @@
}
},
"node_modules/@humanwhocodes/object-schema": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.1.tgz",
"integrity": "sha512-dvuCeX5fC9dXgJn9t+X5atfmgQAzUOWqS1254Gh0m6i8wKd10ebXkfNKiRK+1GWi/yTvvLDHpoxLr0xxxeslWw==",
"version": "1.2.1",
"resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz",
"integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==",
"dev": true
},
"node_modules/@isaacs/cliui": {
@@ -1809,12 +1809,6 @@
"url": "https://opencollective.com/typescript-eslint"
}
},
"node_modules/@ungap/structured-clone": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.2.0.tgz",
"integrity": "sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==",
"dev": true
},
"node_modules/acorn": {
"version": "8.10.0",
"resolved": "https://registry.npmjs.org/acorn/-/acorn-8.10.0.tgz",
@@ -2646,19 +2640,18 @@
}
},
"node_modules/eslint": {
"version": "8.53.0",
"resolved": "https://registry.npmjs.org/eslint/-/eslint-8.53.0.tgz",
"integrity": "sha512-N4VuiPjXDUa4xVeV/GC/RV3hQW9Nw+Y463lkWaKKXKYMvmRiRDAtfpuPFLN+E1/6ZhyR8J2ig+eVREnYgUsiag==",
"version": "8.50.0",
"resolved": "https://registry.npmjs.org/eslint/-/eslint-8.50.0.tgz",
"integrity": "sha512-FOnOGSuFuFLv/Sa+FDVRZl4GGVAAFFi8LecRsI5a1tMO5HIE8nCm4ivAlzt4dT3ol/PaaGC0rJEEXQmHJBGoOg==",
"dev": true,
"dependencies": {
"@eslint-community/eslint-utils": "^4.2.0",
"@eslint-community/regexpp": "^4.6.1",
"@eslint/eslintrc": "^2.1.3",
"@eslint/js": "8.53.0",
"@humanwhocodes/config-array": "^0.11.13",
"@eslint/eslintrc": "^2.1.2",
"@eslint/js": "8.50.0",
"@humanwhocodes/config-array": "^0.11.11",
"@humanwhocodes/module-importer": "^1.0.1",
"@nodelib/fs.walk": "^1.2.8",
"@ungap/structured-clone": "^1.2.0",
"ajv": "^6.12.4",
"chalk": "^4.0.0",
"cross-spawn": "^7.0.2",
@@ -2713,9 +2706,9 @@
}
},
"node_modules/eslint-plugin-jest": {
"version": "27.6.0",
"resolved": "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-27.6.0.tgz",
"integrity": "sha512-MTlusnnDMChbElsszJvrwD1dN3x6nZl//s4JD23BxB6MgR66TZlL064su24xEIS3VACfAoHV1vgyMgPw8nkdng==",
"version": "27.4.2",
"resolved": "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-27.4.2.tgz",
"integrity": "sha512-3Nfvv3wbq2+PZlRTf2oaAWXWwbdBejFRBR2O8tAO67o+P8zno+QGbcDYaAXODlreXVg+9gvWhKKmG2rgfb8GEg==",
"dev": true,
"dependencies": {
"@typescript-eslint/utils": "^5.10.0"
@@ -5622,9 +5615,9 @@
"dev": true
},
"node_modules/systeminformation": {
"version": "5.21.17",
"resolved": "https://registry.npmjs.org/systeminformation/-/systeminformation-5.21.17.tgz",
"integrity": "sha512-JZYRCbIjk3WuBV59A9/rTla2rROX+aAJ9uo2Z1dI+bjieORcukClN8rlM1zE9NYKpULSbaGc+KKct/870lO0DA==",
"version": "5.21.9",
"resolved": "https://registry.npmjs.org/systeminformation/-/systeminformation-5.21.9.tgz",
"integrity": "sha512-7pI4mu9P/2MGDV0T49B52E7IULBGj+kRVk6JSYUj5qfAk7N7C7aNX15fXziqrbgZntc6/jjYzWeb/x41jhg/eA==",
"os": [
"darwin",
"linux",
@@ -6107,9 +6100,9 @@
"dev": true
},
"node_modules/yaml": {
"version": "2.3.4",
"resolved": "https://registry.npmjs.org/yaml/-/yaml-2.3.4.tgz",
"integrity": "sha512-8aAvwVUSHpfEqTQ4w/KMlf3HcRdt50E5ODIQJBw1fQ5RL34xabzxtUlzTXVqc4rkZsPbvrXKWnABCD7kWSmocA==",
"version": "2.3.2",
"resolved": "https://registry.npmjs.org/yaml/-/yaml-2.3.2.tgz",
"integrity": "sha512-N/lyzTPaJasoDmfV7YTrYCI0G/3ivm/9wdG0aHuheKowWQwGTsK0Eoiw6utmzAnI6pkJa0DUVygvp3spqqEKXg==",
"engines": {
"node": ">= 14"
}
@@ -6718,9 +6711,9 @@
"dev": true
},
"@eslint/eslintrc": {
"version": "2.1.3",
"resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.3.tgz",
"integrity": "sha512-yZzuIG+jnVu6hNSzFEN07e8BxF3uAzYtQb6uDkaYZLo6oYZDCq454c5kB8zxnzfCYyP4MIuyBn10L0DqwujTmA==",
"version": "2.1.2",
"resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.2.tgz",
"integrity": "sha512-+wvgpDsrB1YqAMdEUCcnTlpfVBH7Vqn6A/NT3D8WVXFIaKMlErPIZT3oCIAVCOtarRpMtelZLqJeU3t7WY6X6g==",
"dev": true,
"requires": {
"ajv": "^6.12.4",
@@ -6735,18 +6728,18 @@
}
},
"@eslint/js": {
"version": "8.53.0",
"resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.53.0.tgz",
"integrity": "sha512-Kn7K8dx/5U6+cT1yEhpX1w4PCSg0M+XyRILPgvwcEBjerFWCwQj5sbr3/VmxqV0JGHCBCzyd6LxypEuehypY1w==",
"version": "8.50.0",
"resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.50.0.tgz",
"integrity": "sha512-NCC3zz2+nvYd+Ckfh87rA47zfu2QsQpvc6k1yzTk+b9KzRj0wkGa8LSoGOXN6Zv4lRf/EIoZ80biDh9HOI+RNQ==",
"dev": true
},
"@humanwhocodes/config-array": {
"version": "0.11.13",
"resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.13.tgz",
"integrity": "sha512-JSBDMiDKSzQVngfRjOdFXgFfklaXI4K9nLF49Auh21lmBWRLIK3+xTErTWD4KU54pb6coM6ESE7Awz/FNU3zgQ==",
"version": "0.11.11",
"resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.11.tgz",
"integrity": "sha512-N2brEuAadi0CcdeMXUkhbZB84eskAc8MEX1By6qEchoVywSgXPIjou4rYsl0V3Hj0ZnuGycGCjdNgockbzeWNA==",
"dev": true,
"requires": {
"@humanwhocodes/object-schema": "^2.0.1",
"@humanwhocodes/object-schema": "^1.2.1",
"debug": "^4.1.1",
"minimatch": "^3.0.5"
}
@@ -6758,9 +6751,9 @@
"dev": true
},
"@humanwhocodes/object-schema": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.1.tgz",
"integrity": "sha512-dvuCeX5fC9dXgJn9t+X5atfmgQAzUOWqS1254Gh0m6i8wKd10ebXkfNKiRK+1GWi/yTvvLDHpoxLr0xxxeslWw==",
"version": "1.2.1",
"resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz",
"integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==",
"dev": true
},
"@isaacs/cliui": {
@@ -7517,12 +7510,6 @@
"eslint-visitor-keys": "^3.3.0"
}
},
"@ungap/structured-clone": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.2.0.tgz",
"integrity": "sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==",
"dev": true
},
"acorn": {
"version": "8.10.0",
"resolved": "https://registry.npmjs.org/acorn/-/acorn-8.10.0.tgz",
@@ -8117,19 +8104,18 @@
"dev": true
},
"eslint": {
"version": "8.53.0",
"resolved": "https://registry.npmjs.org/eslint/-/eslint-8.53.0.tgz",
"integrity": "sha512-N4VuiPjXDUa4xVeV/GC/RV3hQW9Nw+Y463lkWaKKXKYMvmRiRDAtfpuPFLN+E1/6ZhyR8J2ig+eVREnYgUsiag==",
"version": "8.50.0",
"resolved": "https://registry.npmjs.org/eslint/-/eslint-8.50.0.tgz",
"integrity": "sha512-FOnOGSuFuFLv/Sa+FDVRZl4GGVAAFFi8LecRsI5a1tMO5HIE8nCm4ivAlzt4dT3ol/PaaGC0rJEEXQmHJBGoOg==",
"dev": true,
"requires": {
"@eslint-community/eslint-utils": "^4.2.0",
"@eslint-community/regexpp": "^4.6.1",
"@eslint/eslintrc": "^2.1.3",
"@eslint/js": "8.53.0",
"@humanwhocodes/config-array": "^0.11.13",
"@eslint/eslintrc": "^2.1.2",
"@eslint/js": "8.50.0",
"@humanwhocodes/config-array": "^0.11.11",
"@humanwhocodes/module-importer": "^1.0.1",
"@nodelib/fs.walk": "^1.2.8",
"@ungap/structured-clone": "^1.2.0",
"ajv": "^6.12.4",
"chalk": "^4.0.0",
"cross-spawn": "^7.0.2",
@@ -8188,9 +8174,9 @@
"requires": {}
},
"eslint-plugin-jest": {
"version": "27.6.0",
"resolved": "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-27.6.0.tgz",
"integrity": "sha512-MTlusnnDMChbElsszJvrwD1dN3x6nZl//s4JD23BxB6MgR66TZlL064su24xEIS3VACfAoHV1vgyMgPw8nkdng==",
"version": "27.4.2",
"resolved": "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-27.4.2.tgz",
"integrity": "sha512-3Nfvv3wbq2+PZlRTf2oaAWXWwbdBejFRBR2O8tAO67o+P8zno+QGbcDYaAXODlreXVg+9gvWhKKmG2rgfb8GEg==",
"dev": true,
"requires": {
"@typescript-eslint/utils": "^5.10.0"
@@ -10300,9 +10286,9 @@
"dev": true
},
"systeminformation": {
"version": "5.21.17",
"resolved": "https://registry.npmjs.org/systeminformation/-/systeminformation-5.21.17.tgz",
"integrity": "sha512-JZYRCbIjk3WuBV59A9/rTla2rROX+aAJ9uo2Z1dI+bjieORcukClN8rlM1zE9NYKpULSbaGc+KKct/870lO0DA=="
"version": "5.21.9",
"resolved": "https://registry.npmjs.org/systeminformation/-/systeminformation-5.21.9.tgz",
"integrity": "sha512-7pI4mu9P/2MGDV0T49B52E7IULBGj+kRVk6JSYUj5qfAk7N7C7aNX15fXziqrbgZntc6/jjYzWeb/x41jhg/eA=="
},
"test-exclude": {
"version": "6.0.0",
@@ -10614,9 +10600,9 @@
"dev": true
},
"yaml": {
"version": "2.3.4",
"resolved": "https://registry.npmjs.org/yaml/-/yaml-2.3.4.tgz",
"integrity": "sha512-8aAvwVUSHpfEqTQ4w/KMlf3HcRdt50E5ODIQJBw1fQ5RL34xabzxtUlzTXVqc4rkZsPbvrXKWnABCD7kWSmocA=="
"version": "2.3.2",
"resolved": "https://registry.npmjs.org/yaml/-/yaml-2.3.2.tgz",
"integrity": "sha512-N/lyzTPaJasoDmfV7YTrYCI0G/3ivm/9wdG0aHuheKowWQwGTsK0Eoiw6utmzAnI6pkJa0DUVygvp3spqqEKXg=="
},
"yargs": {
"version": "17.7.2",

View File

@@ -4,7 +4,7 @@
* Immich
* Immich API
*
* The version of the OpenAPI document: 1.86.0
* The version of the OpenAPI document: 1.85.0
*
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
@@ -2355,12 +2355,6 @@ export interface OAuthConfigResponseDto {
* @interface PartnerResponseDto
*/
export interface PartnerResponseDto {
/**
*
* @type {UserAvatarColor}
* @memberof PartnerResponseDto
*/
'avatarColor': UserAvatarColor;
/**
*
* @type {string}
@@ -2446,8 +2440,6 @@ export interface PartnerResponseDto {
*/
'updatedAt': string;
}
/**
*
* @export
@@ -4352,12 +4344,6 @@ export interface UpdateTagDto {
* @interface UpdateUserDto
*/
export interface UpdateUserDto {
/**
*
* @type {UserAvatarColor}
* @memberof UpdateUserDto
*/
'avatarColor'?: UserAvatarColor;
/**
*
* @type {string}
@@ -4413,8 +4399,6 @@ export interface UpdateUserDto {
*/
'storageLabel'?: string;
}
/**
*
* @export
@@ -4452,40 +4436,12 @@ export interface UsageByUserDto {
*/
'videos': number;
}
/**
*
* @export
* @enum {string}
*/
export const UserAvatarColor = {
Primary: 'primary',
Pink: 'pink',
Red: 'red',
Yellow: 'yellow',
Blue: 'blue',
Green: 'green',
Purple: 'purple',
Orange: 'orange',
Gray: 'gray',
Amber: 'amber'
} as const;
export type UserAvatarColor = typeof UserAvatarColor[keyof typeof UserAvatarColor];
/**
*
* @export
* @interface UserDto
*/
export interface UserDto {
/**
*
* @type {UserAvatarColor}
* @memberof UserDto
*/
'avatarColor': UserAvatarColor;
/**
*
* @type {string}
@@ -4511,20 +4467,12 @@ export interface UserDto {
*/
'profileImagePath': string;
}
/**
*
* @export
* @interface UserResponseDto
*/
export interface UserResponseDto {
/**
*
* @type {UserAvatarColor}
* @memberof UserResponseDto
*/
'avatarColor': UserAvatarColor;
/**
*
* @type {string}
@@ -4604,8 +4552,6 @@ export interface UserResponseDto {
*/
'updatedAt': string;
}
/**
*
* @export
@@ -16531,44 +16477,6 @@ export const UserApiAxiosParamCreator = function (configuration?: Configuration)
options: localVarRequestOptions,
};
},
/**
*
* @param {*} [options] Override http request option.
* @throws {RequiredError}
*/
deleteProfileImage: async (options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
const localVarPath = `/user/profile-image`;
// use dummy base URL string because the URL constructor only accepts absolute URLs.
const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
let baseOptions;
if (configuration) {
baseOptions = configuration.baseOptions;
}
const localVarRequestOptions = { method: 'DELETE', ...baseOptions, ...options};
const localVarHeaderParameter = {} as any;
const localVarQueryParameter = {} as any;
// authentication cookie required
// authentication api_key required
await setApiKeyToObject(localVarHeaderParameter, "x-api-key", configuration)
// authentication bearer required
// http bearer authentication required
await setBearerAuthToObject(localVarHeaderParameter, configuration)
setSearchParams(localVarUrlObj, localVarQueryParameter);
let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
return {
url: toPathString(localVarUrlObj),
options: localVarRequestOptions,
};
},
/**
*
* @param {string} id
@@ -16894,15 +16802,6 @@ export const UserApiFp = function(configuration?: Configuration) {
const localVarAxiosArgs = await localVarAxiosParamCreator.createUser(createUserDto, options);
return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
},
/**
*
* @param {*} [options] Override http request option.
* @throws {RequiredError}
*/
async deleteProfileImage(options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<void>> {
const localVarAxiosArgs = await localVarAxiosParamCreator.deleteProfileImage(options);
return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
},
/**
*
* @param {string} id
@@ -17000,14 +16899,6 @@ export const UserApiFactory = function (configuration?: Configuration, basePath?
createUser(requestParameters: UserApiCreateUserRequest, options?: AxiosRequestConfig): AxiosPromise<UserResponseDto> {
return localVarFp.createUser(requestParameters.createUserDto, options).then((request) => request(axios, basePath));
},
/**
*
* @param {*} [options] Override http request option.
* @throws {RequiredError}
*/
deleteProfileImage(options?: AxiosRequestConfig): AxiosPromise<void> {
return localVarFp.deleteProfileImage(options).then((request) => request(axios, basePath));
},
/**
*
* @param {UserApiDeleteUserRequest} requestParameters Request parameters.
@@ -17214,16 +17105,6 @@ export class UserApi extends BaseAPI {
return UserApiFp(this.configuration).createUser(requestParameters.createUserDto, options).then((request) => request(this.axios, this.basePath));
}
/**
*
* @param {*} [options] Override http request option.
* @throws {RequiredError}
* @memberof UserApi
*/
public deleteProfileImage(options?: AxiosRequestConfig) {
return UserApiFp(this.configuration).deleteProfileImage(options).then((request) => request(this.axios, this.basePath));
}
/**
*
* @param {UserApiDeleteUserRequest} requestParameters Request parameters.

View File

@@ -4,7 +4,7 @@
* Immich
* Immich API
*
* The version of the OpenAPI document: 1.86.0
* The version of the OpenAPI document: 1.85.0
*
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).

View File

@@ -4,7 +4,7 @@
* Immich
* Immich API
*
* The version of the OpenAPI document: 1.86.0
* The version of the OpenAPI document: 1.85.0
*
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).

View File

@@ -4,7 +4,7 @@
* Immich
* Immich API
*
* The version of the OpenAPI document: 1.86.0
* The version of the OpenAPI document: 1.85.0
*
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).

View File

@@ -4,7 +4,7 @@
* Immich
* Immich API
*
* The version of the OpenAPI document: 1.86.0
* The version of the OpenAPI document: 1.85.0
*
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).

View File

@@ -36,8 +36,7 @@ def deployed_app() -> TestClient:
@pytest.fixture(scope="session")
def responses() -> dict[str, Any]:
responses: dict[str, Any] = json.load(open("responses.json", "r"))
return responses
return json.load(open("responses.json", "r"))
@pytest.fixture(scope="session")

View File

@@ -7,7 +7,7 @@ from zipfile import BadZipFile
import orjson
from fastapi import FastAPI, Form, HTTPException, UploadFile
from fastapi.responses import ORJSONResponse
from onnxruntime.capi.onnxruntime_pybind11_state import InvalidProtobuf, NoSuchFile
from onnxruntime.capi.onnxruntime_pybind11_state import InvalidProtobuf, NoSuchFile # type: ignore
from starlette.formparsers import MultiPartParser
from app.models.base import InferenceModel

View File

@@ -8,7 +8,6 @@ from typing import Any
import onnxruntime as ort
from huggingface_hub import snapshot_download
from typing_extensions import Buffer
from ..config import get_cache_dir, get_hf_model_name, log, settings
from ..schemas import ModelType
@@ -140,12 +139,11 @@ class InferenceModel(ABC):
# HF deep copies configs, so we need to make session options picklable
class PicklableSessionOptions(ort.SessionOptions): # type: ignore[misc]
class PicklableSessionOptions(ort.SessionOptions):
def __getstate__(self) -> bytes:
return pickle.dumps([(attr, getattr(self, attr)) for attr in dir(self) if not callable(getattr(self, attr))])
def __setstate__(self, state: Buffer) -> None:
self.__init__() # type: ignore[misc]
attrs: list[tuple[str, Any]] = pickle.loads(state)
for attr, val in attrs:
def __setstate__(self, state: Any) -> None:
self.__init__() # type: ignore
for attr, val in pickle.loads(state):
setattr(self, attr, val)

View File

@@ -6,7 +6,7 @@ from aiocache.plugins import BasePlugin, TimingPlugin
from app.models import from_model_type
from ..schemas import ModelType, has_profiling
from ..schemas import ModelType
from .base import InferenceModel
@@ -50,20 +50,20 @@ class ModelCache:
key = f"{model_name}{model_type.value}{model_kwargs.get('mode', '')}"
async with OptimisticLock(self.cache, key) as lock:
model: InferenceModel | None = await self.cache.get(key)
model = await self.cache.get(key)
if model is None:
model = from_model_type(model_type, model_name, **model_kwargs)
await lock.cas(model, ttl=self.ttl)
return model
async def get_profiling(self) -> dict[str, float] | None:
if not has_profiling(self.cache):
if not hasattr(self.cache, "profiling"):
return None
return self.cache.profiling
return self.cache.profiling # type: ignore
class RevalidationPlugin(BasePlugin): # type: ignore[misc]
class RevalidationPlugin(BasePlugin):
"""Revalidates cache item's TTL after cache hit."""
async def post_get(

View File

@@ -51,7 +51,7 @@ class BaseCLIPEncoder(InferenceModel):
provider_options=self.provider_options,
)
def _predict(self, image_or_text: Image.Image | str) -> ndarray_f32:
def _predict(self, image_or_text: Image.Image | str) -> list[float]:
if isinstance(image_or_text, bytes):
image_or_text = Image.open(BytesIO(image_or_text))
@@ -60,16 +60,16 @@ class BaseCLIPEncoder(InferenceModel):
if self.mode == "text":
raise TypeError("Cannot encode image as text-only model")
outputs: ndarray_f32 = self.vision_model.run(None, self.transform(image_or_text))[0][0]
outputs = self.vision_model.run(None, self.transform(image_or_text))
case str():
if self.mode == "vision":
raise TypeError("Cannot encode text as vision-only model")
outputs = self.text_model.run(None, self.tokenize(image_or_text))[0][0]
outputs = self.text_model.run(None, self.tokenize(image_or_text))
case _:
raise TypeError(f"Expected Image or str, but got: {type(image_or_text)}")
return outputs
return outputs[0][0].tolist()
@abstractmethod
def tokenize(self, text: str) -> dict[str, ndarray_i32]:
@@ -151,13 +151,11 @@ class OpenCLIPEncoder(BaseCLIPEncoder):
@cached_property
def model_cfg(self) -> dict[str, Any]:
model_cfg: dict[str, Any] = json.load(self.model_cfg_path.open())
return model_cfg
return json.load(self.model_cfg_path.open())
@cached_property
def preprocess_cfg(self) -> dict[str, Any]:
preprocess_cfg: dict[str, Any] = json.load(self.preprocess_cfg_path.open())
return preprocess_cfg
return json.load(self.preprocess_cfg_path.open())
class MCLIPEncoder(OpenCLIPEncoder):

View File

@@ -8,7 +8,7 @@ from insightface.model_zoo import ArcFaceONNX, RetinaFace
from insightface.utils.face_align import norm_crop
from app.config import clean_name
from app.schemas import BoundingBox, Face, ModelType, ndarray_f32
from app.schemas import ModelType, ndarray_f32
from .base import InferenceModel
@@ -52,7 +52,7 @@ class FaceRecognizer(InferenceModel):
)
self.rec_model.prepare(ctx_id=0)
def _predict(self, image: ndarray_f32 | bytes) -> list[Face]:
def _predict(self, image: ndarray_f32 | bytes) -> list[dict[str, Any]]:
if isinstance(image, bytes):
image = cv2.imdecode(np.frombuffer(image, np.uint8), cv2.IMREAD_COLOR)
bboxes, kpss = self.det_model.detect(image)
@@ -67,20 +67,21 @@ class FaceRecognizer(InferenceModel):
height, width, _ = image.shape
for (x1, y1, x2, y2), score, kps in zip(bboxes, scores, kpss):
cropped_img = norm_crop(image, kps)
embedding: ndarray_f32 = self.rec_model.get_feat(cropped_img)[0]
face: Face = {
"imageWidth": width,
"imageHeight": height,
"boundingBox": {
"x1": x1,
"y1": y1,
"x2": x2,
"y2": y2,
},
"score": score,
"embedding": embedding,
}
results.append(face)
embedding = self.rec_model.get_feat(cropped_img)[0].tolist()
results.append(
{
"imageWidth": width,
"imageHeight": height,
"boundingBox": {
"x1": x1,
"y1": y1,
"x2": x2,
"y2": y2,
},
"score": score,
"embedding": embedding,
}
)
return results
@property

View File

@@ -66,7 +66,7 @@ class ImageClassifier(InferenceModel):
def _predict(self, image: Image.Image | bytes) -> list[str]:
if isinstance(image, bytes):
image = Image.open(BytesIO(image))
predictions: list[dict[str, Any]] = self.model(image)
predictions: list[dict[str, Any]] = self.model(image) # type: ignore
tags = [tag for pred in predictions for tag in pred["label"].split(", ") if pred["score"] >= self.min_score]
return tags

View File

@@ -1,12 +1,17 @@
from enum import StrEnum
from typing import Any, Protocol, TypeAlias, TypedDict, TypeGuard
from typing import TypeAlias
import numpy as np
from pydantic import BaseModel
ndarray_f32: TypeAlias = np.ndarray[int, np.dtype[np.float32]]
ndarray_i64: TypeAlias = np.ndarray[int, np.dtype[np.int64]]
ndarray_i32: TypeAlias = np.ndarray[int, np.dtype[np.int32]]
def to_lower_camel(string: str) -> str:
tokens = [token.capitalize() if i > 0 else token for i, token in enumerate(string.split("_"))]
return "".join(tokens)
class TextModelRequest(BaseModel):
text: str
class TextResponse(BaseModel):
@@ -17,7 +22,7 @@ class MessageResponse(BaseModel):
message: str
class BoundingBox(TypedDict):
class BoundingBox(BaseModel):
x1: int
y1: int
x2: int
@@ -30,17 +35,6 @@ class ModelType(StrEnum):
FACIAL_RECOGNITION = "facial-recognition"
class HasProfiling(Protocol):
profiling: dict[str, float]
class Face(TypedDict):
boundingBox: BoundingBox
embedding: ndarray_f32
imageWidth: int
imageHeight: int
score: float
def has_profiling(obj: Any) -> TypeGuard[HasProfiling]:
return hasattr(obj, "profiling") and type(obj.profiling) == dict
ndarray_f32: TypeAlias = np.ndarray[int, np.dtype[np.float32]]
ndarray_i64: TypeAlias = np.ndarray[int, np.dtype[np.int64]]
ndarray_i32: TypeAlias = np.ndarray[int, np.dtype[np.int32]]

View File

@@ -75,9 +75,9 @@ class TestCLIP:
embedding = clip_encoder.predict(pil_image)
assert clip_encoder.mode == "vision"
assert isinstance(embedding, np.ndarray)
assert embedding.shape[0] == clip_model_cfg["embed_dim"]
assert embedding.dtype == np.float32
assert isinstance(embedding, list)
assert len(embedding) == clip_model_cfg["embed_dim"]
assert all([isinstance(num, float) for num in embedding])
clip_encoder.vision_model.run.assert_called_once()
def test_basic_text(
@@ -97,9 +97,9 @@ class TestCLIP:
embedding = clip_encoder.predict("test search query")
assert clip_encoder.mode == "text"
assert isinstance(embedding, np.ndarray)
assert embedding.shape[0] == clip_model_cfg["embed_dim"]
assert embedding.dtype == np.float32
assert isinstance(embedding, list)
assert len(embedding) == clip_model_cfg["embed_dim"]
assert all([isinstance(num, float) for num in embedding])
clip_encoder.text_model.run.assert_called_once()
@@ -133,9 +133,9 @@ class TestFaceRecognition:
for face in faces:
assert face["imageHeight"] == 800
assert face["imageWidth"] == 600
assert isinstance(face["embedding"], np.ndarray)
assert face["embedding"].shape[0] == 512
assert face["embedding"].dtype == np.float32
assert isinstance(face["embedding"], list)
assert len(face["embedding"]) == 512
assert all([isinstance(num, float) for num in face["embedding"]])
det_model.detect.assert_called_once()
assert rec_model.get_feat.call_count == num_faces

View File

@@ -14,8 +14,7 @@ RUN micromamba install -y -n base -f /tmp/conda-lock.yml && \
WORKDIR /usr/src/app
COPY --chown=$MAMBA_USER:$MAMBA_USER start.sh .
COPY --chown=$MAMBA_USER:$MAMBA_USER app .
COPY --chown=$MAMBA_USER:$MAMBA_USER export .
ENTRYPOINT ["/usr/local/bin/_entrypoint.sh"]
CMD ["./start.sh"]
CMD ["python -m run"]

View File

View File

@@ -0,0 +1,9 @@
from export.models.openclip import OpenCLIPModelConfig
MCLIP_TO_OPENCLIP = {
"XLM-Roberta-Large-Vit-B-32": OpenCLIPModelConfig("ViT-B-32", "openai"),
"XLM-Roberta-Large-Vit-B-16Plus": OpenCLIPModelConfig("ViT-B-16-plus-240", "laion400m_e32"),
"LABSE-Vit-L-14": OpenCLIPModelConfig("ViT-L-14", "openai"),
"XLM-Roberta-Large-Vit-L-14": OpenCLIPModelConfig("ViT-L-14", "openai"),
}

View File

@@ -1,22 +1,15 @@
import tempfile
import warnings
from pathlib import Path
from export.models.constants import MCLIP_TO_OPENCLIP
import torch
from multilingual_clip.pt_multilingual_clip import MultilingualCLIP
from transformers import AutoTokenizer
from .openclip import OpenCLIPModelConfig
from .openclip import to_onnx as openclip_to_onnx
from .optimize import optimize
from .util import get_model_path
_MCLIP_TO_OPENCLIP = {
"M-CLIP/XLM-Roberta-Large-Vit-B-32": OpenCLIPModelConfig("ViT-B-32", "openai"),
"M-CLIP/XLM-Roberta-Large-Vit-B-16Plus": OpenCLIPModelConfig("ViT-B-16-plus-240", "laion400m_e32"),
"M-CLIP/LABSE-Vit-L-14": OpenCLIPModelConfig("ViT-L-14", "openai"),
"M-CLIP/XLM-Roberta-Large-Vit-L-14": OpenCLIPModelConfig("ViT-L-14", "openai"),
}
from .util import get_model_path, clean_name
def to_onnx(
@@ -33,7 +26,7 @@ def to_onnx(
param.requires_grad_(False)
export_text_encoder(model, textual_path)
openclip_to_onnx(_MCLIP_TO_OPENCLIP[model_name], output_dir_visual)
openclip_to_onnx(MCLIP_TO_OPENCLIP[clean_name(model_name)], output_dir_visual)
optimize(textual_path)

View File

@@ -1,7 +1,6 @@
import tempfile
import warnings
from dataclasses import dataclass, field
from math import e
from pathlib import Path
import open_clip
@@ -70,12 +69,10 @@ def export_image_encoder(model: open_clip.CLIP, model_cfg: OpenCLIPModelConfig,
output_path = Path(output_path)
def encode_image(image: torch.Tensor) -> torch.Tensor:
output = model.encode_image(image, normalize=True)
assert isinstance(output, torch.Tensor)
return output
return model.encode_image(image, normalize=True)
args = (torch.randn(1, 3, model_cfg.image_size, model_cfg.image_size),)
traced = torch.jit.trace(encode_image, args) # type: ignore[no-untyped-call]
traced = torch.jit.trace(encode_image, args)
with warnings.catch_warnings():
warnings.simplefilter("ignore", UserWarning)
@@ -94,12 +91,10 @@ def export_text_encoder(model: open_clip.CLIP, model_cfg: OpenCLIPModelConfig, o
output_path = Path(output_path)
def encode_text(text: torch.Tensor) -> torch.Tensor:
output = model.encode_text(text, normalize=True)
assert isinstance(output, torch.Tensor)
return output
return model.encode_text(text, normalize=True)
args = (torch.ones(1, model_cfg.sequence_length, dtype=torch.int32),)
traced = torch.jit.trace(encode_text, args) # type: ignore[no-untyped-call]
traced = torch.jit.trace(encode_text, args)
with warnings.catch_warnings():
warnings.simplefilter("ignore", UserWarning)

View File

@@ -3,6 +3,9 @@ from pathlib import Path
from typing import Any
_clean_name = str.maketrans(":\\/", "___", ".")
def get_model_path(output_dir: Path | str) -> Path:
output_dir = Path(output_dir)
output_dir.mkdir(parents=True, exist_ok=True)
@@ -13,3 +16,7 @@ def save_config(config: Any, output_path: Path | str) -> None:
output_path = Path(output_path)
output_path.parent.mkdir(parents=True, exist_ok=True)
json.dump(config, output_path.open("w"))
def clean_name(model_name: str) -> str:
return model_name.split("/")[-1].translate(_clean_name)

View File

@@ -1,76 +1,131 @@
from enum import StrEnum
import gc
import os
from pathlib import Path
from tempfile import TemporaryDirectory
from typing import Optional
from huggingface_hub import create_repo, login, upload_folder
from models import mclip, openclip
from huggingface_hub import create_repo, upload_folder
from export.models import mclip, openclip, insightface
from export.models.util import clean_name
from rich.progress import Progress
import typer
models = [
"RN50::openai",
"RN50::yfcc15m",
"RN50::cc12m",
"RN101::openai",
"RN101::yfcc15m",
"RN50x4::openai",
"RN50x16::openai",
"RN50x64::openai",
"ViT-B-32::openai",
"ViT-B-32::laion2b_e16",
"ViT-B-32::laion400m_e31",
"ViT-B-32::laion400m_e32",
"ViT-B-32::laion2b-s34b-b79k",
"ViT-B-16::openai",
"ViT-B-16::laion400m_e31",
"ViT-B-16::laion400m_e32",
"ViT-B-16-plus-240::laion400m_e31",
"ViT-B-16-plus-240::laion400m_e32",
"ViT-L-14::openai",
"ViT-L-14::laion400m_e31",
"ViT-L-14::laion400m_e32",
"ViT-L-14::laion2b-s32b-b82k",
"ViT-L-14-336::openai",
"ViT-H-14::laion2b-s32b-b79k",
"ViT-g-14::laion2b-s12b-b42k",
"M-CLIP/LABSE-Vit-L-14",
"M-CLIP/XLM-Roberta-Large-Vit-B-32",
"M-CLIP/XLM-Roberta-Large-Vit-B-16Plus",
"M-CLIP/XLM-Roberta-Large-Vit-L-14",
]
login(token=os.environ["HF_AUTH_TOKEN"])
app = typer.Typer()
with Progress() as progress:
task1 = progress.add_task("[green]Exporting models...", total=len(models))
task2 = progress.add_task("[yellow]Uploading models...", total=len(models))
with TemporaryDirectory() as tmp:
tmpdir = Path(tmp)
for model in models:
model_name = model.split("/")[-1].replace("::", "__")
config_path = tmpdir / model_name / "config.json"
class ModelLibrary(StrEnum):
MCLIP = "mclip"
OPENCLIP = "openclip"
INSIGHTFACE = "insightface"
def upload() -> None:
progress.update(task2, description=f"[yellow]Uploading {model_name}")
repo_id = f"immich-app/{model_name}"
create_repo(repo_id, exist_ok=True)
upload_folder(repo_id=repo_id, folder_path=tmpdir / model_name)
progress.update(task2, advance=1)
def _export(model_name: str, library: ModelLibrary, export_dir: Path) -> None:
visual_dir = export_dir / "visual"
textual_dir = export_dir / "textual"
match library:
case ModelLibrary.MCLIP:
insightface.to_onnx(model_name, visual_dir, textual_dir)
case ModelLibrary.OPENCLIP:
mclip.to_onnx(model_name, visual_dir, textual_dir)
case ModelLibrary.INSIGHTFACE:
name, _, pretrained = model_name.partition("__")
openclip.to_onnx(openclip.OpenCLIPModelConfig(name, pretrained), visual_dir, textual_dir)
def export() -> None:
progress.update(task1, description=f"[green]Exporting {model_name}")
visual_dir = tmpdir / model_name / "visual"
textual_dir = tmpdir / model_name / "textual"
if model.startswith("M-CLIP"):
mclip.to_onnx(model, visual_dir, textual_dir)
else:
name, _, pretrained = model_name.partition("__")
openclip.to_onnx(openclip.OpenCLIPModelConfig(name, pretrained), visual_dir, textual_dir)
gc.collect()
progress.update(task1, advance=1)
gc.collect()
export()
upload()
def _upload(repo_id: str, upload_dir: Path, auth_token: str | None = os.environ.get("HF_AUTH_TOKEN", None)) -> None:
create_repo(repo_id, exist_ok=True, token=auth_token)
upload_folder(repo_id=repo_id, folder_path=upload_dir, token=auth_token)
@app.command()
def export(
models: list[str] = typer.Argument(
..., help="The model(s) to be exported. Model names should be the same as used in the associated library."
),
library: ModelLibrary = typer.Option(
..., "--library", "-l", help="The library associated with the models to be exported."
),
output_dir: Optional[Path] = typer.Option(
None,
"--output-dir",
"-o",
help="Directory where exported models will be stored. Defaults to a temporary directory.",
),
should_upload: bool = typer.Option(False, "--upload", "-u", help="Whether to upload the exported models."),
auth_token: Optional[str] = typer.Option(
os.environ.get("HF_AUTH_TOKEN", None),
"--auth_token",
"-t",
help="If uploading models to Hugging Face, the auth token of the user or organisation.",
),
repo_prefix: str = typer.Option(
"immich-app",
"--repo_prefix",
"-p",
help="If uploading models to Hugging Face, the prefix to put before the model name. Can be a username or organisation.",
),
) -> None:
if not models:
raise ValueError("No models specified")
with Progress() as progress:
task1 = progress.add_task("[green]Exporting model(s)...", total=len(models))
with TemporaryDirectory() as tmp:
output_dir = output_dir if output_dir else Path(tmp)
for model_name in models:
cleaned_name = clean_name(model_name)
model_dir = output_dir / cleaned_name
progress.update(task1, description=f"[green]Exporting {cleaned_name}")
_export(model_name, library, model_dir)
progress.update(task1, advance=1, description=f"[green]Exported {cleaned_name}")
if should_upload:
upload(models, output_dir, auth_token, repo_prefix)
@app.command()
def upload(
models: list[str] = typer.Argument(
..., help="The model(s) to be uploaded. Model names should be the same as used in the associated library."
),
output_dir: Optional[Path] = typer.Option(
None,
"--output-dir",
"-o",
help="Directory where exported models will be stored. Defaults to a temporary directory.",
),
auth_token: Optional[str] = typer.Option(
os.environ.get("HF_AUTH_TOKEN", None),
"--auth_token",
"-t",
help="The Hugging Face auth token of the user or organisation.",
),
repo_prefix: str = typer.Option(
"immich-app",
"--repo_prefix",
"-p",
help="The name to put before the model name to form the Hugging Face repo name. Can be a username or organisation.",
),
) -> None:
if not models:
raise ValueError("No models specified")
with Progress() as progress:
task2 = progress.add_task("[yellow]Uploading models...", total=len(models))
for model_name in models:
cleaned_name = clean_name(model_name)
repo_id = f"{repo_prefix}/{cleaned_name}"
model_dir = output_dir / cleaned_name
progress.update(task2, description=f"[yellow]Uploading {cleaned_name}")
_upload(repo_id, model_dir, auth_token)
progress.update(task2, advance=1, description=f"[yellow]Uploaded {cleaned_name}")
if __name__ == "__main__":
app()

View File

@@ -1,6 +1,6 @@
[tool.poetry]
name = "machine-learning"
version = "1.86.0"
version = "1.85.0"
description = ""
authors = ["Hau Tran <alex.tran1502@gmail.com>"]
readme = "README.md"

View File

@@ -35,8 +35,8 @@ platform :android do
task: 'bundle',
build_type: 'Release',
properties: {
"android.injected.version.code" => 110,
"android.injected.version.name" => "1.86.0",
"android.injected.version.code" => 109,
"android.injected.version.name" => "1.85.0",
}
)
upload_to_play_store(skip_upload_apk: true, skip_upload_images: true, skip_upload_screenshots: true, aab: '../build/app/outputs/bundle/release/app-release.aab')

View File

@@ -23,13 +23,9 @@
"album_viewer_appbar_share_err_title": "Error al modificar el títol de l'àlbum",
"album_viewer_appbar_share_leave": "Surt de l'àlbum",
"album_viewer_appbar_share_remove": "Treu de l'àlbum",
"album_viewer_appbar_share_to": "Share To",
"album_viewer_page_share_add_users": "Afegeix usuaris",
"all_people_page_title": "Persones",
"all_videos_page_title": "Vídeos",
"app_bar_signout_dialog_content": "Are you sure you wanna sign out?",
"app_bar_signout_dialog_ok": "Yes",
"app_bar_signout_dialog_title": "Sign out",
"archive_page_no_archived_assets": "No s'ha trobat res arxivat",
"archive_page_title": "Arxiu({})",
"asset_list_layout_settings_dynamic_layout_title": "Dynamic layout",
@@ -115,8 +111,6 @@
"cache_settings_statistics_title": "Ús de memòria cau",
"cache_settings_subtitle": "Control the caching behaviour of the Immich mobile application",
"cache_settings_thumbnail_size": "Thumbnail cache size ({} assets)",
"cache_settings_tile_subtitle": "Control the local storage behaviour",
"cache_settings_tile_title": "Local Storage",
"cache_settings_title": "Configuració de la memòria cau",
"change_password_form_confirm_password": "Confirma la contrasenya",
"change_password_form_description": "Hi {firstName} {lastName},\n\nThis is either the first time you are signing into the system or a request has been made to change your password. Please enter the new password below.",
@@ -256,8 +250,6 @@
"permission_onboarding_request": "Immich requires permission to view your photos and videos.",
"profile_drawer_app_logs": "Logs",
"profile_drawer_client_server_up_to_date": "Client and Server are up-to-date",
"profile_drawer_documentation": "Documentation",
"profile_drawer_github": "GitHub",
"profile_drawer_settings": "Settings",
"profile_drawer_sign_out": "Tanca la sessió",
"profile_drawer_trash": "Trash",
@@ -284,7 +276,6 @@
"select_user_for_sharing_page_err_album": "Error al crear l'àlbum",
"select_user_for_sharing_page_share_suggestions": "Suggestions",
"server_info_box_app_version": "Versió de l'aplicació",
"server_info_box_server_url": "Server URL",
"server_info_box_server_version": "Versió del servidor",
"setting_image_viewer_help": "The detail viewer loads the small thumbnail first, then loads the medium-size preview (if enabled), finally loads the original (if enabled).",
"setting_image_viewer_original_subtitle": "Enable to load the original full-resolution image (large!). Disable to reduce data usage (both network and on device cache).",
@@ -309,12 +300,6 @@
"share_add_photos": "Afegeix fotografies",
"share_add_title": "Afegeix un títol",
"share_create_album": "Crea un àlbum",
"shared_album_activities_input_disable": "Comment is disabled",
"shared_album_activities_input_hint": "Say something",
"shared_album_activity_remove_content": "Do you want to delete this activity?",
"shared_album_activity_remove_title": "Delete Activity",
"shared_album_activity_setting_subtitle": "Let others respond",
"shared_album_activity_setting_title": "Comments & likes",
"share_dialog_preparing": "Preparing...",
"shared_link_app_bar_title": "Shared Links",
"shared_link_create_app_bar_title": "Create link to share",
@@ -326,9 +311,6 @@
"shared_link_edit_change_expiry": "Change expiration time",
"shared_link_edit_description": "Description",
"shared_link_edit_description_hint": "Enter the share description",
"shared_link_edit_expire_after": "Expire after",
"shared_link_edit_password": "Password",
"shared_link_edit_password_hint": "Enter the share password",
"shared_link_edit_show_meta": "Show metadata",
"shared_link_edit_submit_button": "Update link",
"shared_link_empty": "You don't have any shared links",

View File

@@ -13,7 +13,7 @@
"album_info_card_backup_album_included": "ZAHRNUTO",
"album_thumbnail_card_item": "1 položka",
"album_thumbnail_card_items": "{} položek",
"album_thumbnail_card_shared": " · Sdíleno",
"album_thumbnail_card_shared": "Sdíleno",
"album_thumbnail_owned": "Vlastní",
"album_thumbnail_shared_by": "Sdílel(a) {}",
"album_viewer_appbar_share_delete": "Odstranit album",
@@ -23,13 +23,9 @@
"album_viewer_appbar_share_err_title": "Nepodařilo se změnit název alba",
"album_viewer_appbar_share_leave": "Opustit album",
"album_viewer_appbar_share_remove": "Odstranit z alba",
"album_viewer_appbar_share_to": "Sdílet na",
"album_viewer_page_share_add_users": "Přidat uživatele",
"all_people_page_title": "Lidé",
"all_videos_page_title": "Videa",
"app_bar_signout_dialog_content": "Určitě se chcete odhlásit?",
"app_bar_signout_dialog_ok": "Ano",
"app_bar_signout_dialog_title": "Odhlásit se",
"archive_page_no_archived_assets": "Nebyla nalezena žádná archivovaná média",
"archive_page_title": "Archív ({})",
"asset_list_layout_settings_dynamic_layout_title": "Dynamické rozložení",
@@ -48,11 +44,11 @@
"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...",
"backup_background_service_current_upload_notification": "Nahrávání {}",
"backup_background_service_current_upload_notification": "Zálohování {}",
"backup_background_service_default_notification": "Kontrola nových médií…",
"backup_background_service_error_title": "Chyba zálohování",
"backup_background_service_in_progress_notification": "Zálohování vašich médií...",
"backup_background_service_upload_failure_notification": "Nepodařilo se nahrát {}",
"backup_background_service_upload_failure_notification": "Nepodařilo se zálohovat {}",
"backup_controller_page_albums": "Zálohovaná alba",
"backup_controller_page_background_app_refresh_disabled_content": "Povolte obnovení aplikace na pozadí v Nastavení > Obecné > Obnovení aplikace na pozadí, abyste mohli používat zálohování na pozadí.",
"backup_controller_page_background_app_refresh_disabled_title": " Obnovování aplikací na pozadí je vypnuté",
@@ -95,14 +91,14 @@
"backup_controller_page_total_sub": "Všechny jedinečné fotografie a videa z vybraných alb",
"backup_controller_page_turn_off": "Vypnout zálohování na popředí",
"backup_controller_page_turn_on": "Povolit zálohování na popředí",
"backup_controller_page_uploading_file_info": "Informace o nahraném souboru",
"backup_controller_page_uploading_file_info": "Informace o zálohovaném souboru",
"backup_err_only_album": "Nelze odstranit jediné vybrané album",
"backup_info_card_assets": "položek",
"backup_manual_cancelled": "Zrušeno",
"backup_manual_failed": "Selhalo",
"backup_manual_in_progress": "Nahrávání již probíhá. Zkuste to znovu později",
"backup_manual_in_progress": "Zálohování již probíhá. Zkuste to znovu později",
"backup_manual_success": "Úspěch",
"backup_manual_title": "Stav nahrávání",
"backup_manual_title": "Stav zálohování",
"cache_settings_album_thumbnails": "Náhledy stránek knihovny (položek {})",
"cache_settings_clear_cache_button": "Vymazat vyrovnávací paměť",
"cache_settings_clear_cache_button_title": "Vymaže vyrovnávací paměť aplikace. To výrazně ovlivní výkon aplikace, dokud se vyrovnávací paměť neobnoví.",
@@ -115,8 +111,6 @@
"cache_settings_statistics_title": "Použití vyrovnávací paměti",
"cache_settings_subtitle": "Ovládání chování mobilní aplikace Immich v mezipaměti",
"cache_settings_thumbnail_size": "Velikost vyrovnávací paměti náhledů (položek {})",
"cache_settings_tile_subtitle": "Ovládání chování místního úložiště",
"cache_settings_tile_title": "Místní úložiště",
"cache_settings_title": "Nastavení vyrovnávací paměti",
"change_password_form_confirm_password": "Potvrďte heslo",
"change_password_form_description": "Dobrý den, {firstName} {lastName},\n\nje to buď poprvé, co se přihlašujete do systému, nebo byl vytvořen požadavek na změnu hesla. Níže zadejte nové heslo.",
@@ -136,10 +130,10 @@
"control_bottom_app_bar_delete": "Vymazat",
"control_bottom_app_bar_favorite": "Oblíbené",
"control_bottom_app_bar_share": "Sdílet",
"control_bottom_app_bar_share_to": "Sdílet v",
"control_bottom_app_bar_stack": "Zásobník",
"control_bottom_app_bar_share_to": "Share To",
"control_bottom_app_bar_stack": "Stack",
"control_bottom_app_bar_unarchive": "Odarchivovat",
"control_bottom_app_bar_upload": "Nahrát",
"control_bottom_app_bar_upload": "Upload",
"create_album_page_untitled": "Bez názvu",
"create_shared_album_page_create": "Vytvořit",
"create_shared_album_page_share": "Sdílet",
@@ -154,8 +148,8 @@
"delete_dialog_cancel": "Zrušit",
"delete_dialog_ok": "Vymazat",
"delete_dialog_title": "Vymazat trvale",
"delete_shared_link_dialog_content": "Opravdu chcete tento odkaz ke sdílení odstranit?",
"delete_shared_link_dialog_title": "Odstranit sdílený odkaz",
"delete_shared_link_dialog_content": "Are you sure you want to delete this shared link?",
"delete_shared_link_dialog_title": "Delete Shared Link",
"description_input_hint_text": "Přidat popis...",
"description_input_submit_error": "Chyba aktualizace popisu, další podrobnosti najdete v logu",
"exif_bottom_sheet_description": "Přidat popis...",
@@ -174,10 +168,10 @@
"home_page_building_timeline": "Vytváření časové osy",
"home_page_favorite_err_local": "Zatím není možné zařadit lokální média mezi oblíbená, přeskakuji",
"home_page_first_time_notice": "Pokud aplikaci používáte poprvé, nezapomeňte si vybrat zálohovaná alba, aby se na časové ose mohly nacházet fotografie a videa z vybraných alb.",
"home_page_upload_err_limit": "Lze nahrát nejvýše 30 položek najednou, přeskakuji",
"home_page_upload_err_limit": "Lze zálohovat nejvýše 30 položek najednou, přeskakuji",
"image_viewer_page_state_provider_download_error": "Chyba stahování",
"image_viewer_page_state_provider_download_success": "Stahování bylo úspěšné",
"image_viewer_page_state_provider_share_error": "Chyba sdílení",
"image_viewer_page_state_provider_share_error": "Share Error",
"library_page_albums": "Alba",
"library_page_archive": "Archív",
"library_page_device_albums": "Alba v zařízení",
@@ -185,8 +179,8 @@
"library_page_new_album": "Nové album",
"library_page_sharing": "Sdílení",
"library_page_sort_created": "Naposledy vytvořené",
"library_page_sort_last_modified": "Naposledy upraveno",
"library_page_sort_most_recent_photo": "Nejnovější fotografie",
"library_page_sort_last_modified": "Last modified",
"library_page_sort_most_recent_photo": "Most recent photo",
"library_page_sort_title": "Podle názvu alba",
"login_disabled": "Přihlášení bylo zakázáno",
"login_form_api_exception": "Výjimka API. Zkontrolujte URL serveru a zkuste to znovu.",
@@ -224,7 +218,7 @@
"map_settings_dialog_cancel": "Zrušit",
"map_settings_dialog_save": "Uložit",
"map_settings_dialog_title": "Nastavení map",
"map_settings_include_show_archived": "Zahrnout archivované",
"map_settings_include_show_archived": "Include Archived",
"map_settings_only_relative_range": "Rozsah data",
"map_settings_only_show_favorites": "Zobrazit pouze oblíbené",
"map_zoom_to_see_photos": "Oddálit pro zobrazení fotografií",
@@ -256,11 +250,9 @@
"permission_onboarding_request": "Immich potřebuje přístup k zobrazení vašich fotek a videí.",
"profile_drawer_app_logs": "Logy",
"profile_drawer_client_server_up_to_date": "Klient a server jsou aktuální",
"profile_drawer_documentation": "Dokumentace",
"profile_drawer_github": "GitHub",
"profile_drawer_settings": "Nastavení",
"profile_drawer_sign_out": "Odhlásit se",
"profile_drawer_trash": "Vyhodit",
"profile_drawer_trash": "Trash",
"recently_added_page_title": "Nedávno přidané",
"search_bar_hint": "Prohledejte své fotky",
"search_page_categories": "Kategorie",
@@ -284,7 +276,6 @@
"select_user_for_sharing_page_err_album": "Nepodařilo se vytvořit album",
"select_user_for_sharing_page_share_suggestions": "Návrhy",
"server_info_box_app_version": "Verze aplikace",
"server_info_box_server_url": "URL serveru",
"server_info_box_server_version": "Verze serveru",
"setting_image_viewer_help": "V prohlížeči detailů se nejprve načte malá miniatura, poté se načte náhled střední velikosti (je-li povolen) a nakonec se načte originál (je-li povolen).",
"setting_image_viewer_original_subtitle": "Umožňuje načíst původní obrázek v plném rozlišení (velký!). Zakázat pro snížení využití dat (v síti i v mezipaměti zařízení).",
@@ -297,11 +288,11 @@
"setting_notifications_notify_minutes": "{} minut",
"setting_notifications_notify_never": "nikdy",
"setting_notifications_notify_seconds": "{} sekundy",
"setting_notifications_single_progress_subtitle": "Podrobné informace o průběhu nahrávání položky",
"setting_notifications_single_progress_subtitle": "Podrobné informace o průběhu zálohování položky",
"setting_notifications_single_progress_title": "Zobrazit průběh detailů zálohování na pozadí",
"setting_notifications_subtitle": "Přizpůsobení předvoleb oznámení",
"setting_notifications_title": "Oznámení",
"setting_notifications_total_progress_subtitle": "Celkový průběh nahrání (hotovo/celkově)",
"setting_notifications_total_progress_subtitle": "Celkový průběh zálohování (hotovo/celkově)",
"setting_notifications_total_progress_title": "Zobrazit celkový průběh zálohování na pozadí",
"setting_pages_app_bar_settings": "Nastavení",
"settings_require_restart": "Pro použití tohoto nastavení restartujte Immich",
@@ -309,37 +300,28 @@
"share_add_photos": "Přidat fotografie",
"share_add_title": "Přidat název",
"share_create_album": "Vytvořit album",
"shared_album_activities_input_disable": "Komentář je vypnutý",
"shared_album_activities_input_hint": "Řekněte něco",
"shared_album_activity_remove_content": "Chcete odstranit tuto aktivitu?",
"shared_album_activity_remove_title": "Odstranit aktivitu",
"shared_album_activity_setting_subtitle": "Nechte ostatní reagovat",
"shared_album_activity_setting_title": "Komentáře a lajky",
"share_dialog_preparing": "Připravuji...",
"shared_link_app_bar_title": "Sdílené odkazy",
"shared_link_create_app_bar_title": "Vytvořit odkaz pro sdílení",
"shared_link_create_info": "Umožnit každému, kdo má odkaz, zobrazit vybrané fotografie",
"shared_link_create_submit_button": "Vytvořit odkaz",
"shared_link_edit_allow_download": "Povolit veřejným uživatelům stahovat",
"shared_link_edit_allow_upload": "Povolit veřejným uživatelům nahrávat",
"shared_link_edit_app_bar_title": "Upravit odkaz",
"shared_link_edit_change_expiry": "Změnit dobu platnosti",
"shared_link_edit_description": "Popis",
"shared_link_edit_description_hint": "Zadejte popis sdílení",
"shared_link_edit_expire_after": "Platnost vyprší po",
"shared_link_edit_password": "Heslo",
"shared_link_edit_password_hint": "Zadejte heslo pro sdílení",
"shared_link_edit_show_meta": "Zobrazit metadata",
"shared_link_edit_submit_button": "Aktualizovat odkaz",
"shared_link_empty": "Nemáte žádné sdílené odkazy",
"shared_link_manage_links": "Spravovat sdílené odkazy",
"share_done": "Hotovo",
"shared_link_app_bar_title": "Shared Links",
"shared_link_create_app_bar_title": "Create link to share",
"shared_link_create_info": "Let anyone with the link see the selected photo(s)",
"shared_link_create_submit_button": "Create link",
"shared_link_edit_allow_download": "Allow public user to download",
"shared_link_edit_allow_upload": "Allow public user to upload",
"shared_link_edit_app_bar_title": "Edit link",
"shared_link_edit_change_expiry": "Change expiration time",
"shared_link_edit_description": "Description",
"shared_link_edit_description_hint": "Enter the share description",
"shared_link_edit_show_meta": "Show metadata",
"shared_link_edit_submit_button": "Update link",
"shared_link_empty": "You don't have any shared links",
"shared_link_manage_links": "Manage Shared links",
"share_done": "Done",
"share_invite": "Pozvat do alba",
"sharing_page_album": "Sdílená alba",
"sharing_page_description": "Vytvářejte sdílená alba a sdílejte fotografie a videa s lidmi ve vaší síti.",
"sharing_page_empty_list": "PRÁZDNÝ SEZNAM",
"sharing_silver_appbar_create_shared_album": "Vytvořit sdílené album",
"sharing_silver_appbar_shared_links": "Sdílené odkazy",
"sharing_silver_appbar_shared_links": "Shared links",
"sharing_silver_appbar_share_partner": "Sdílet s partnerem",
"tab_controller_nav_library": "Knihovna",
"tab_controller_nav_photos": "Fotografie",
@@ -356,29 +338,29 @@
"theme_setting_three_stage_loading_subtitle": "Třístupňové načítání může zvýšit výkonnost načítání, ale vede k výrazně vyššímu zatížení sítě.",
"theme_setting_three_stage_loading_title": "Povolení třístupňového načítání",
"translated_text_options": "Možnosti",
"trash_page_delete": "Smazat",
"trash_page_delete_all": "Smazat všechny",
"trash_page_empty_trash_btn": "Vysypat koš",
"trash_page_empty_trash_dialog_content": "Chcete vyprázdnit svoje vyhozené položky? Tyto položky budou trvale odstraněny z aplikace",
"trash_page_delete": "Delete",
"trash_page_delete_all": "Delete All",
"trash_page_empty_trash_btn": "Empty trash",
"trash_page_empty_trash_dialog_content": "Do you want to empty your trashed assets? These items will be permanently removed from Immich",
"trash_page_empty_trash_dialog_ok": "Ok",
"trash_page_info": "Vyhozené položky budou trvale odstraněny po {} dnech",
"trash_page_no_assets": "Žádné vyhozené položky",
"trash_page_restore": "Obnovit",
"trash_page_restore_all": "Obnovit všechny",
"trash_page_select_assets_btn": "Vybrat položky",
"trash_page_select_btn": "Vybrat",
"trash_page_title": "Koš ({})",
"trash_page_info": "Trashed items will be permanently deleted after {} days",
"trash_page_no_assets": "No trashed assets",
"trash_page_restore": "Restore",
"trash_page_restore_all": "Restore All",
"trash_page_select_assets_btn": "Select assets",
"trash_page_select_btn": "Select",
"trash_page_title": "Trash ({})",
"upload_dialog_cancel": "Zrušit",
"upload_dialog_info": "Chcete zálohovat vybrané položky na server?",
"upload_dialog_ok": "Nahrát",
"upload_dialog_title": "Nahrát položku",
"upload_dialog_ok": "Zálohovat",
"upload_dialog_title": "Zálohovat položku",
"version_announcement_overlay_ack": "Potvrdit",
"version_announcement_overlay_release_notes": "poznámky k vydání",
"version_announcement_overlay_text_1": "Ahoj, k dispozici je nová verze",
"version_announcement_overlay_text_2": "najděte si čas na návštěvu ",
"version_announcement_overlay_text_3": " a ujistěte se, že vaše konfigurace docker-compose a .env je aktuální, abyste předešli nesprávné konfiguraci, zvláště pokud používáte WatchTower nebo jakýkoli mechanismus, který podporuje automatické aktualizace serverových aplikací.",
"version_announcement_overlay_title": "K dispozici je nová verze serveru \uD83C\uDF89",
"viewer_remove_from_stack": "Odstranit ze zásobníku",
"viewer_stack_use_as_main_asset": "Použít jako hlavní položku",
"viewer_unstack": "Rozbalit zásobník"
"viewer_remove_from_stack": "Remove from Stack",
"viewer_stack_use_as_main_asset": "Use as Main Asset",
"viewer_unstack": "Un-Stack"
}

View File

@@ -23,13 +23,9 @@
"album_viewer_appbar_share_err_title": "Fejlede i at ændre albumtitel",
"album_viewer_appbar_share_leave": "Forlad album",
"album_viewer_appbar_share_remove": "Fjern fra album",
"album_viewer_appbar_share_to": "Share To",
"album_viewer_page_share_add_users": "Tilføj brugere",
"all_people_page_title": "Personer",
"all_videos_page_title": "Videoer",
"app_bar_signout_dialog_content": "Are you sure you wanna sign out?",
"app_bar_signout_dialog_ok": "Yes",
"app_bar_signout_dialog_title": "Sign out",
"archive_page_no_archived_assets": "Ingen arkiverede elementer blev fundet",
"archive_page_title": "Arkivér ({})",
"asset_list_layout_settings_dynamic_layout_title": "Dynamisk layout",
@@ -115,8 +111,6 @@
"cache_settings_statistics_title": "Cacheforbrug",
"cache_settings_subtitle": "Håndter cache-adfærden for Immich-appen.",
"cache_settings_thumbnail_size": "Størrelse af miniaturebillede cache ({} elementer)",
"cache_settings_tile_subtitle": "Control the local storage behaviour",
"cache_settings_tile_title": "Local Storage",
"cache_settings_title": "Cache-indstillinger",
"change_password_form_confirm_password": "Bekræft kodeord",
"change_password_form_description": "Hej {firstName} {lastName},\n\nDette er enten første gang du logger ind eller også er der lavet en anmodning om at ændre dit kodeord. Indtast venligst et nyt kodeord nedenfor.",
@@ -136,8 +130,8 @@
"control_bottom_app_bar_delete": "Slet",
"control_bottom_app_bar_favorite": "Favorit",
"control_bottom_app_bar_share": "Del",
"control_bottom_app_bar_share_to": "Del til",
"control_bottom_app_bar_stack": "Stak",
"control_bottom_app_bar_share_to": "Share To",
"control_bottom_app_bar_stack": "Stack",
"control_bottom_app_bar_unarchive": "Afakivér",
"control_bottom_app_bar_upload": "Upload",
"create_album_page_untitled": "Uden titel",
@@ -154,8 +148,8 @@
"delete_dialog_cancel": "Annuller",
"delete_dialog_ok": "Slet",
"delete_dialog_title": "Slet permanent",
"delete_shared_link_dialog_content": "Er du sikker på, du vil slette dette delte link?",
"delete_shared_link_dialog_title": "Slet delt link",
"delete_shared_link_dialog_content": "Are you sure you want to delete this shared link?",
"delete_shared_link_dialog_title": "Delete Shared Link",
"description_input_hint_text": "Tilføj en beskrivelse...",
"description_input_submit_error": "Fejl med at opdatere beskrivelsen. Tjek loggen for flere detaljer",
"exif_bottom_sheet_description": "Tilføj beskrivelse...",
@@ -177,7 +171,7 @@
"home_page_upload_err_limit": "Det er kun muligt at lave sikkerhedskopi af 30 elementer ad gangen. Springer over",
"image_viewer_page_state_provider_download_error": "Fejl ved download",
"image_viewer_page_state_provider_download_success": "Download succesfuld",
"image_viewer_page_state_provider_share_error": "Delingsfejl",
"image_viewer_page_state_provider_share_error": "Share Error",
"library_page_albums": "Albummer",
"library_page_archive": "Arkiv",
"library_page_device_albums": "Albummer på enhed",
@@ -185,8 +179,8 @@
"library_page_new_album": "Nyt album",
"library_page_sharing": "Delte",
"library_page_sort_created": "Senest oprettet",
"library_page_sort_last_modified": "Sidst redigeret",
"library_page_sort_most_recent_photo": "Seneste billede",
"library_page_sort_last_modified": "Last modified",
"library_page_sort_most_recent_photo": "Most recent photo",
"library_page_sort_title": "Albumtitel",
"login_disabled": "Login er blevet deaktiveret",
"login_form_api_exception": "API-undtagelse. Tjek serverens URL og prøv igen. ",
@@ -224,7 +218,7 @@
"map_settings_dialog_cancel": "Annuller",
"map_settings_dialog_save": "Gem",
"map_settings_dialog_title": "Kortindstillinger",
"map_settings_include_show_archived": "Inkluder arkiveret",
"map_settings_include_show_archived": "Include Archived",
"map_settings_only_relative_range": "Datointerval",
"map_settings_only_show_favorites": "Vis kun favoritter",
"map_zoom_to_see_photos": "Zoom ud for at vise billeder",
@@ -256,11 +250,9 @@
"permission_onboarding_request": "Immich kræver tilliadelse til at se dine billeder og videoer.",
"profile_drawer_app_logs": "Log",
"profile_drawer_client_server_up_to_date": "Klient og server er ajour",
"profile_drawer_documentation": "Documentation",
"profile_drawer_github": "GitHub",
"profile_drawer_settings": "Indstillinger",
"profile_drawer_sign_out": "Log ud",
"profile_drawer_trash": "Papirkurv",
"profile_drawer_trash": "Trash",
"recently_added_page_title": "Nyligt tilføjet",
"search_bar_hint": "Søg i dine billeder",
"search_page_categories": "Kategorier",
@@ -284,7 +276,6 @@
"select_user_for_sharing_page_err_album": "Fejlede i at oprette et nyt album",
"select_user_for_sharing_page_share_suggestions": "Anbefalinger",
"server_info_box_app_version": "Applikationsversion",
"server_info_box_server_url": "Server URL",
"server_info_box_server_version": "Serverversion ",
"setting_image_viewer_help": "Detaljeret visning indlæser miniaturebilleder først. Herefter indlæses mediumstørrelse forhåndsvisning af billedet (hvis dette er slået til), for til sidst at vise originalen (hvis dette er slået til).",
"setting_image_viewer_original_subtitle": "Slå indlæsning af originalbillede i fuld størrelse til (stort!). Deaktiver for at reducere dataforbruget (både på netværket og for enhedscache).",
@@ -309,37 +300,28 @@
"share_add_photos": "Tilføj billeder",
"share_add_title": "Tilføj en titel",
"share_create_album": "Opret album",
"shared_album_activities_input_disable": "Comment is disabled",
"shared_album_activities_input_hint": "Say something",
"shared_album_activity_remove_content": "Do you want to delete this activity?",
"shared_album_activity_remove_title": "Delete Activity",
"shared_album_activity_setting_subtitle": "Let others respond",
"shared_album_activity_setting_title": "Comments & likes",
"share_dialog_preparing": "Forbereder...",
"shared_link_app_bar_title": "Delte links",
"shared_link_create_app_bar_title": "Opret link for at dele",
"shared_link_create_info": "Lad enhver med linket se de(t) valgte billede(r)",
"shared_link_create_submit_button": "Oprat link",
"shared_link_edit_allow_download": "Tillad at en offenlig bruger kan downloade",
"shared_link_edit_allow_upload": "Tillad at en offentlig bruger kan uploade",
"shared_link_edit_app_bar_title": "Rediger link",
"shared_link_edit_change_expiry": "Ændrer udløbstidspunkt",
"shared_link_edit_description": "Beskrivelse",
"shared_link_edit_description_hint": "Indtast beskrivelse",
"shared_link_edit_expire_after": "Expire after",
"shared_link_edit_password": "Password",
"shared_link_edit_password_hint": "Enter the share password",
"shared_link_edit_show_meta": "Vis metadata",
"shared_link_edit_submit_button": "Opdater link",
"shared_link_empty": "Du har endnu ingen delte links",
"shared_link_manage_links": "Håndter delte links",
"share_done": "Færdig",
"shared_link_app_bar_title": "Shared Links",
"shared_link_create_app_bar_title": "Create link to share",
"shared_link_create_info": "Let anyone with the link see the selected photo(s)",
"shared_link_create_submit_button": "Create link",
"shared_link_edit_allow_download": "Allow public user to download",
"shared_link_edit_allow_upload": "Allow public user to upload",
"shared_link_edit_app_bar_title": "Edit link",
"shared_link_edit_change_expiry": "Change expiration time",
"shared_link_edit_description": "Description",
"shared_link_edit_description_hint": "Enter the share description",
"shared_link_edit_show_meta": "Show metadata",
"shared_link_edit_submit_button": "Update link",
"shared_link_empty": "You don't have any shared links",
"shared_link_manage_links": "Manage Shared links",
"share_done": "Done",
"share_invite": "Inviter til album",
"sharing_page_album": "Delt albums",
"sharing_page_description": "Opret delte albummer for at dele billeder og video med personer på dit netværk.",
"sharing_page_empty_list": "TOM LISTE",
"sharing_silver_appbar_create_shared_album": "Opret delt album",
"sharing_silver_appbar_shared_links": "Delte links",
"sharing_silver_appbar_shared_links": "Shared links",
"sharing_silver_appbar_share_partner": "Del med partner",
"tab_controller_nav_library": "Bibliotek",
"tab_controller_nav_photos": "Billeder",
@@ -356,18 +338,18 @@
"theme_setting_three_stage_loading_subtitle": "Tre-trins indlæsning kan øge ydeevnen, men kan ligeledes føre til højere netværksbelastning",
"theme_setting_three_stage_loading_title": "Slå tre-trins indlæsning til",
"translated_text_options": "Handlinger",
"trash_page_delete": "Slet",
"trash_page_delete_all": "Slet alt",
"trash_page_empty_trash_btn": "Tøm papirkurv",
"trash_page_empty_trash_dialog_content": "Vil du tømme papirkurven? Disse elementer vil blive permanent fjernet fra Immich",
"trash_page_delete": "Delete",
"trash_page_delete_all": "Delete All",
"trash_page_empty_trash_btn": "Empty trash",
"trash_page_empty_trash_dialog_content": "Do you want to empty your trashed assets? These items will be permanently removed from Immich",
"trash_page_empty_trash_dialog_ok": "Ok",
"trash_page_info": "Slettede elementer vil blive slettet permanent efter {} dage",
"trash_page_no_assets": "Ingen slettede elementer",
"trash_page_restore": "Gendan",
"trash_page_restore_all": "Gendan alt",
"trash_page_select_assets_btn": "Vælg elementer",
"trash_page_select_btn": "Vælg",
"trash_page_title": "Papirkurv ({})",
"trash_page_info": "Trashed items will be permanently deleted after {} days",
"trash_page_no_assets": "No trashed assets",
"trash_page_restore": "Restore",
"trash_page_restore_all": "Restore All",
"trash_page_select_assets_btn": "Select assets",
"trash_page_select_btn": "Select",
"trash_page_title": "Trash ({})",
"upload_dialog_cancel": "Annuller",
"upload_dialog_info": "Vil du sikkerhedskopiere de(t) valgte element(er) til serveren?",
"upload_dialog_ok": "Upload",
@@ -378,7 +360,7 @@
"version_announcement_overlay_text_2": ". Besøg venligst ",
"version_announcement_overlay_text_3": " for at sikre dig, at din dockercompose- og .env-fil er opdateret, så der undgås fejlkonfiguration, specielt hvis du bruger WatchTower eller lignede.",
"version_announcement_overlay_title": "Ny serverversion er tilgængelig \uD83C\uDF89",
"viewer_remove_from_stack": "Fjern fra stak",
"viewer_stack_use_as_main_asset": "Brug som hovedelement",
"viewer_unstack": "Fjern fra stak"
"viewer_remove_from_stack": "Remove from Stack",
"viewer_stack_use_as_main_asset": "Use as Main Asset",
"viewer_unstack": "Un-Stack"
}

View File

@@ -3,8 +3,8 @@
"add_to_album_bottom_sheet_already_exists": "Bereits in {album}",
"advanced_settings_prefer_remote_subtitle": "Manche Endgeräte laden Vorschaubilder lokaler Bilder sehr langsam. Durch diese Einstellung werden diese stattdessen direkt vom Server geladen.",
"advanced_settings_prefer_remote_title": "Server-Bilder bevorzugen",
"advanced_settings_self_signed_ssl_subtitle": "Verifizierung von SSL-Zertifikaten vom Server überspringen. Notwendig bei selbstsignierten Zertifikaten.",
"advanced_settings_self_signed_ssl_title": "Selbstsignierte SSL-Zertifikate erlauben",
"advanced_settings_self_signed_ssl_subtitle": "Skips SSL certificate verification for the server endpoint. Required for self-signed certificates.",
"advanced_settings_self_signed_ssl_title": "Allow self-signed SSL certificates",
"advanced_settings_tile_subtitle": "Erweiterte Benutzereinstellungen",
"advanced_settings_tile_title": "Sonstige",
"advanced_settings_troubleshooting_subtitle": "Aktiviere erweiterte Funktionen zur Fehlersuche",
@@ -14,7 +14,7 @@
"album_thumbnail_card_item": "1 Element",
"album_thumbnail_card_items": "{} Elemente",
"album_thumbnail_card_shared": " · Geteilt",
"album_thumbnail_owned": "Eigene",
"album_thumbnail_owned": "Owned",
"album_thumbnail_shared_by": "Geteilt von {}",
"album_viewer_appbar_share_delete": "Album löschen",
"album_viewer_appbar_share_err_delete": "Album konnte nicht gelöscht werden",
@@ -22,16 +22,12 @@
"album_viewer_appbar_share_err_remove": "Beim Löschen von Elementen aus dem Album ist ein Problem aufgetreten",
"album_viewer_appbar_share_err_title": "Der Titel konnte nicht geändert werden",
"album_viewer_appbar_share_leave": "Album verlassen",
"album_viewer_appbar_share_remove": "Vom Album entfernen",
"album_viewer_appbar_share_to": "Teile über",
"album_viewer_appbar_share_remove": "Entferne vom Album",
"album_viewer_page_share_add_users": "Nutzer hinzufügen",
"all_people_page_title": "Personen",
"all_videos_page_title": "Videos",
"app_bar_signout_dialog_content": "Bist du sicher, dass du dich abmelden möchtest?",
"app_bar_signout_dialog_ok": "Ja",
"app_bar_signout_dialog_title": "Abmelden",
"archive_page_no_archived_assets": "Keine archivierten Inhalte gefunden",
"archive_page_title": "Archiv ({})",
"archive_page_title": "Archive ({})",
"asset_list_layout_settings_dynamic_layout_title": "Dynamisches Layout",
"asset_list_layout_settings_group_automatically": "Automatisch",
"asset_list_layout_settings_group_by": "Gruppiere Elemente nach",
@@ -58,13 +54,13 @@
"backup_controller_page_background_app_refresh_disabled_title": "Hintergrundaktualisierungen sind deaktiviert.",
"backup_controller_page_background_app_refresh_enable_button_text": "Gehe zu Einstellungen",
"backup_controller_page_background_battery_info_link": "Zeige mir wie",
"backup_controller_page_background_battery_info_message": "Für die besten Ergebnisse für Sicherungen im Hintergrund, deaktiviere alle Batterieoptimierungen und Einschränkungen für die Hintergrundaktivitäten von Immich.\n\nDa dies gerätespezifisch ist, schlage diese Informationen für deinen Gerätehersteller nach.",
"backup_controller_page_background_battery_info_message": "For the best background backup experience, please disable any battery optimizations restricting background activity for Immich.\n\nSince this is device-specific, please lookup the required information for your device manufacturer.",
"backup_controller_page_background_battery_info_ok": "OK",
"backup_controller_page_background_battery_info_title": "Batterieoptimierungen",
"backup_controller_page_background_charging": "Nur während des Ladens",
"backup_controller_page_background_configure_error": "Konnte Hintergrundservice nicht konfigurieren",
"backup_controller_page_background_delay": "Sicherung neuer Elemente verzögern: {}",
"backup_controller_page_background_description": "Schalte den Hintergrundservice ein, um neue Elemente automatisch im Hintergrund zu sichern ohne die App zu öffnen",
"backup_controller_page_background_delay": "Delay new assets backup: {}",
"backup_controller_page_background_description": "Turn on the background service to automatically backup any new assets without needing to open the app",
"backup_controller_page_background_is_off": "Automatische Sicherung im Hintergrund ist deaktiviert",
"backup_controller_page_background_is_on": "Automatische Sicherung im Hintergrund ist aktiviert",
"backup_controller_page_background_turn_off": "Hintergrundservice ausschalten",
@@ -82,7 +78,7 @@
"backup_controller_page_id": "ID: {}",
"backup_controller_page_info": "Informationen zur Sicherung",
"backup_controller_page_none_selected": "Keine ausgewählt",
"backup_controller_page_remainder": "Verbleibend",
"backup_controller_page_remainder": "Übrig",
"backup_controller_page_remainder_sub": "Noch zu sichernde Fotos und Videos",
"backup_controller_page_select": "Auswählen",
"backup_controller_page_server_storage": "Server Speicher",
@@ -98,25 +94,23 @@
"backup_controller_page_uploading_file_info": "Informationen",
"backup_err_only_album": "Das einzige Album kann nicht entfernt werden",
"backup_info_card_assets": "Elemente",
"backup_manual_cancelled": "Abgebrochen",
"backup_manual_failed": "Fehlgeschlagen",
"backup_manual_in_progress": "Sicherung läuft bereits. Bitte später erneut versuchen",
"backup_manual_success": "Erfolgreich",
"backup_manual_title": "Sicherungsstatus",
"cache_settings_album_thumbnails": "Vorschaubilder der Bibliothek ({} Elemente)",
"backup_manual_cancelled": "Cancelled",
"backup_manual_failed": "Failed",
"backup_manual_in_progress": "Upload already in progress. Try after sometime",
"backup_manual_success": "Success",
"backup_manual_title": "Upload status",
"cache_settings_album_thumbnails": "Library page thumbnails ({} assets)",
"cache_settings_clear_cache_button": "Zwischenspeicher löschen",
"cache_settings_clear_cache_button_title": "Löscht den Zwischenspeicher der App. Dies wird die Leistungsfähigkeit der App deutlich einschränken, bis der Zwischenspeicher wieder aufgebaut wurde.",
"cache_settings_image_cache_size": "{} Bilder im Zwischenspeicher",
"cache_settings_statistics_album": "Vorschaubilder der Bibliothek",
"cache_settings_statistics_assets": "{} Elemente ({})",
"cache_settings_statistics_full": "Originalbilder",
"cache_settings_statistics_shared": "Vorschaubilder geteilter Alben",
"cache_settings_statistics_album": "Library thumbnails",
"cache_settings_statistics_assets": "{} assets ({})",
"cache_settings_statistics_full": "Full images",
"cache_settings_statistics_shared": "Shared album thumbnails",
"cache_settings_statistics_thumbnail": "Vorschaubilder",
"cache_settings_statistics_title": "Zwischenspeicher Nutzung",
"cache_settings_subtitle": "Kontrolliere wie Immich den Zwischenspeicher nutzen soll",
"cache_settings_thumbnail_size": "{} Vorschaubilder im Zwischenspeicher",
"cache_settings_tile_subtitle": "Lokalen Speicher verwalten",
"cache_settings_tile_title": "Lokaler Speicher",
"cache_settings_title": "Zwischenspeicher Einstellungen",
"change_password_form_confirm_password": "Passwort bestätigen",
"change_password_form_description": "Hallo {firstName} {lastName}\n\nDas ist entweder das erste Mal dass du dich einloggst oder eine Anfrage zur Änderung deines Passwortes wurde gestellt. Bitte gebe das neue Passwort ein.",
@@ -125,21 +119,21 @@
"change_password_form_reenter_new_password": "Passwort erneut eingeben",
"common_add_to_album": "Zu Album hinzufügen",
"common_change_password": "Passwort ändern",
"common_create_new_album": "Neues Album erstellen",
"common_create_new_album": "Erstelle ein neues Album",
"common_server_error": "Bitte überprüfe Deine Netzwerkverbindung und stelle sicher, dass die App und Server Versionen kompatibel sind.",
"common_shared": "Geteilt",
"control_bottom_app_bar_add_to_album": "Zu Album hinzufügen",
"control_bottom_app_bar_album_info": "{} Elemente",
"control_bottom_app_bar_album_info_shared": "{} Elemente · Geteilt",
"control_bottom_app_bar_album_info_shared": "{} Elemente · geteilt",
"control_bottom_app_bar_archive": "Archiv",
"control_bottom_app_bar_create_new_album": "Neues Album erstellen",
"control_bottom_app_bar_delete": "Löschen",
"control_bottom_app_bar_favorite": "Favorit",
"control_bottom_app_bar_share": "Teilen",
"control_bottom_app_bar_share_to": "Teilen mit",
"control_bottom_app_bar_stack": "Stapeln",
"control_bottom_app_bar_share_to": "Share To",
"control_bottom_app_bar_stack": "Stack",
"control_bottom_app_bar_unarchive": "Dearchivieren",
"control_bottom_app_bar_upload": "Hochladen",
"control_bottom_app_bar_upload": "Upload",
"create_album_page_untitled": "Unbenannt",
"create_shared_album_page_create": "Erstellen",
"create_shared_album_page_share": "Teilen",
@@ -153,16 +147,16 @@
"delete_dialog_alert": "Diese Elemente werden unwiderruflich von Immich und dem Gerät entfernt",
"delete_dialog_cancel": "Abbrechen",
"delete_dialog_ok": "Löschen",
"delete_dialog_title": "Endgültig löschen",
"delete_shared_link_dialog_content": "Bist du sicher, dass du diesen geteilten Link löschen möchtest?",
"delete_shared_link_dialog_title": "Geteilten Link löschen",
"delete_dialog_title": "Für immer löschen",
"delete_shared_link_dialog_content": "Are you sure you want to delete this shared link?",
"delete_shared_link_dialog_title": "Delete Shared Link",
"description_input_hint_text": "Beschreibung hinzufügen...",
"description_input_submit_error": "Beschreibung konnte nicht geändert werden, bitte im Log für mehr Details nachsehen.",
"exif_bottom_sheet_description": "Beschreibung hinzufügen...",
"exif_bottom_sheet_details": "DETAILS",
"exif_bottom_sheet_location": "STANDORT",
"experimental_settings_new_asset_list_subtitle": "In Arbeit",
"experimental_settings_new_asset_list_title": "Experimentelles Fotogitter aktivieren",
"experimental_settings_new_asset_list_title": "Experimentelle Fotogitter aktivieren",
"experimental_settings_subtitle": "Benutzung auf eigene Gefahr!",
"experimental_settings_title": "Experimentell",
"favorites_page_no_favorites": "Keine favorisierten Inhalte gefunden",
@@ -174,35 +168,35 @@
"home_page_building_timeline": "Zeitachse wird erstellt.",
"home_page_favorite_err_local": "Kann lokale Elemente noch nicht favorisieren, überspringe",
"home_page_first_time_notice": "Wenn dies das erste Mal ist dass Du Immich nutzt, stelle bitte sicher, dass mindestens ein Album zur Sicherung ausgewählt ist, sodass die Zeitachse mit Fotos und Videos gefüllt werden kann.",
"home_page_upload_err_limit": "Max. 30 Elemente können gleichzeitig hochgeladen werden, überspringe",
"home_page_upload_err_limit": "Can only upload a maximum of 30 assets at a time, skipping",
"image_viewer_page_state_provider_download_error": "Fehler beim Herunterladen",
"image_viewer_page_state_provider_download_success": "Erfolgreich heruntergeladen",
"image_viewer_page_state_provider_share_error": "Fehler beim Teilen",
"image_viewer_page_state_provider_share_error": "Share Error",
"library_page_albums": "Alben",
"library_page_archive": "Archiv",
"library_page_device_albums": "Alben auf dem Gerät",
"library_page_device_albums": "Alben auf dem Gerät.",
"library_page_favorites": "Favoriten",
"library_page_new_album": "Neues Album",
"library_page_sharing": "Teilen",
"library_page_sort_created": "Zuletzt erstellt",
"library_page_sort_last_modified": "Zuletzt bearbeitet",
"library_page_sort_most_recent_photo": "Neuestes Foto",
"library_page_sort_title": "Titel des Albums",
"login_disabled": "Login ist deaktiviert",
"library_page_sort_last_modified": "Last modified",
"library_page_sort_most_recent_photo": "Most recent photo",
"library_page_sort_title": "Albumtitel",
"login_disabled": "Login has been disabled",
"login_form_api_exception": "API Fehler. Bitte die Serveradresse überprüfen und erneut versuchen.",
"login_form_button_text": "Anmelden",
"login_form_email_hint": "deine@email.de",
"login_form_endpoint_hint": "http://deine-server-ip:port/api",
"login_form_endpoint_url": "Server-URL",
"login_form_endpoint_url": "Server URL",
"login_form_err_http": "Bitte gebe http:// oder https:// an",
"login_form_err_invalid_email": "Ungültige E-Mail",
"login_form_err_invalid_url": "Ungültige URL",
"login_form_err_leading_whitespace": "Leerzeichen am Anfang",
"login_form_err_leading_whitespace": "Leerzichen am Anfang",
"login_form_err_trailing_whitespace": "Leerzeichen am Ende",
"login_form_failed_get_oauth_server_config": "Fehler beim Login per OAuth, Server-URL überprüfen",
"login_form_failed_get_oauth_server_disable": "OAuth-Funktion nicht verfügbar auf diesem Server.",
"login_form_failed_login": "Fehler beim Login, prüfe Server-URL, E-Mail und Passwort",
"login_form_handshake_exception": "Fehler beim Verbindungsaufbau mit dem Server. Falls du ein selbstsigniertes Zertifikat verwendest, aktiviere die Unterstützung in den Einstellungen.",
"login_form_failed_login": "Error logging you in, check server url, email and password",
"login_form_handshake_exception": "There was an Handshake Exception with the server. Enable self-signed certificate support in the settings if you are using a self-signed certificate.",
"login_form_label_email": "E-Mail",
"login_form_label_password": "Passwort",
"login_form_next_button": "Weiter",
@@ -210,26 +204,26 @@
"login_form_save_login": "Angemeldet bleiben",
"login_form_server_empty": "Serveradresse eingeben.",
"login_form_server_error": "Konnte nicht mit Server verbinden.",
"login_password_changed_error": "Fehler beim Passwort ändern",
"login_password_changed_success": "Passwort erfolgreich geändert",
"map_cannot_get_user_location": "Standort konnte nicht ermittelt werden",
"map_location_dialog_cancel": "Abbrechen",
"map_location_dialog_yes": "Ja",
"map_location_service_disabled_content": "Ortungsdienste müssen aktiviert sein, um Inhalte am aktuellen Standort anzuzeigen. Willst du die Ortungsdienste aktivieren?",
"map_location_service_disabled_title": "Ortungsdienste deaktiviert",
"map_no_assets_in_bounds": "Keine Fotos in dieser Gegend",
"map_no_location_permission_content": "Ortungsdienste müssen aktiviert sein, um Inhalte am aktuellen Standort anzuzeigen. Willst du die Ortungsdienste aktivieren?",
"map_no_location_permission_title": "Kein Zugriff auf den Standort",
"map_settings_dark_mode": "Dunkler Modus",
"map_settings_dialog_cancel": "Abbrechen",
"map_settings_dialog_save": "Speichern",
"map_settings_dialog_title": "Karteneinstellungen",
"map_settings_include_show_archived": "Archivierte anzeigen",
"map_settings_only_relative_range": "Datumsbereich",
"map_settings_only_show_favorites": "Nur Favoriten anzeigen",
"map_zoom_to_see_photos": "Ansicht verkleinern um Fotos zu sehen",
"login_password_changed_error": "There was an error updating your password",
"login_password_changed_success": "Password updated successfully",
"map_cannot_get_user_location": "Cannot get user's location",
"map_location_dialog_cancel": "Cancel",
"map_location_dialog_yes": "Yes",
"map_location_service_disabled_content": "Location service needs to be enabled to display assets from your current location. Do you want to enable it now?",
"map_location_service_disabled_title": "Location Service disabled",
"map_no_assets_in_bounds": "No photos in this area",
"map_no_location_permission_content": "Location permission is needed to display assets from your current location. Do you want to allow it now?",
"map_no_location_permission_title": "Location Permission denied",
"map_settings_dark_mode": "Dark mode",
"map_settings_dialog_cancel": "Cancel",
"map_settings_dialog_save": "Save",
"map_settings_dialog_title": "Map Settings",
"map_settings_include_show_archived": "Include Archived",
"map_settings_only_relative_range": "Date range",
"map_settings_only_show_favorites": "Show Favorite Only",
"map_zoom_to_see_photos": "Zoom out to see photos",
"monthly_title_text_date_format": "MMMM y",
"motion_photos_page_title": "Live-Fotos",
"motion_photos_page_title": "Live Photos",
"notification_permission_dialog_cancel": "Abbrechen",
"notification_permission_dialog_content": "Um Benachrichtigungen zu aktivieren, navigiere zu Einstellungen und klicke \"Erlauben\"",
"notification_permission_dialog_settings": "Einstellungen",
@@ -237,35 +231,33 @@
"notification_permission_list_tile_enable_button": "Aktiviere Benachrichtigungen",
"notification_permission_list_tile_title": "Benachrichtigungs-Berechtigung",
"partner_page_add_partner": "Partner hinzufügen",
"partner_page_empty_message": "Deine Fotos sind noch nicht geteilt mit einem Partner",
"partner_page_no_more_users": "Keine weiteren Nutzer",
"partner_page_partner_add_failed": "Fehler beim Partner hinzufügen",
"partner_page_empty_message": "Your photos are not yet shared with any partner.",
"partner_page_no_more_users": "No more users to add",
"partner_page_partner_add_failed": "Failed to add partner",
"partner_page_select_partner": "Partner auswählen",
"partner_page_shared_to_title": "Geteilt mit",
"partner_page_stop_sharing_content": "{} wird nicht mehr auf deine Fotos zugreifen können.",
"partner_page_stop_sharing_title": "Deine Fotos nicht mehr teilen?",
"partner_page_stop_sharing_title": "Stop sharing your photos?",
"partner_page_title": "Partner",
"permission_onboarding_continue_anyway": "Trotzdem fortfahren",
"permission_onboarding_get_started": "Jetzt starten",
"permission_onboarding_get_started": "Get started",
"permission_onboarding_go_to_settings": "Gehe zu Einstellungen",
"permission_onboarding_grant_permission": "Berechtigung erteilen",
"permission_onboarding_log_out": "Abmelden",
"permission_onboarding_permission_denied": "Berechtigung verweigert. Um Immich zu benutzen, muss Zugriff auf Fotos und Videos in Einstellungen erlaubt werden.",
"permission_onboarding_permission_denied": "Berechtigungen verweigert. Um Immich zu benutzen, Zugriff auf Fotos und Videos in Einstellungen erlauben.",
"permission_onboarding_permission_granted": "Berechtigung erteilt! Du bist startklar.",
"permission_onboarding_permission_limited": "Berechtigungen unzureichend. Um Immich das Sichern von ganzen Sammlungen zu ermöglichen, muss der Zugriff auf alle Fotos und Videos in den Einstellungen erlaubt werden.",
"permission_onboarding_request": "Immich benötigt Berechtigung um auf deine Fotos und Videos zuzugreifen.",
"profile_drawer_app_logs": "Logs",
"profile_drawer_client_server_up_to_date": "App und Server sind aktuell",
"profile_drawer_documentation": "Dokumentation",
"profile_drawer_github": "GitHub",
"profile_drawer_settings": "Einstellungen",
"profile_drawer_sign_out": "Abmelden",
"profile_drawer_trash": "Papierkorb",
"profile_drawer_trash": "Trash",
"recently_added_page_title": "Zuletzt hinzugefügt",
"search_bar_hint": "Durchsuche deine Fotos",
"search_page_categories": "Kategorien",
"search_page_favorites": "Favoriten",
"search_page_motion_photos": "Live-Fotos",
"search_page_motion_photos": "Live Photos",
"search_page_no_objects": "Keine Objektinformationen verfügbar",
"search_page_no_places": "Keine Informationen über Orte verfügbar",
"search_page_people": "Personen",
@@ -273,7 +265,7 @@
"search_page_recently_added": "Zuletzt hinzugefügt",
"search_page_screenshots": "Bildschirmfotos",
"search_page_selfies": "Selfies",
"search_page_things": "Gegenstände und Tiere",
"search_page_things": "Dinge",
"search_page_videos": "Videos",
"search_page_view_all_button": "Alle anzeigen",
"search_page_your_activity": "Deine Aktivität",
@@ -282,65 +274,55 @@
"search_suggestion_list_smart_search_hint_2": "m:dein-suchbegriff",
"select_additional_user_for_sharing_page_suggestions": "Vorschläge",
"select_user_for_sharing_page_err_album": "Album konnte nicht erstellt werden",
"select_user_for_sharing_page_share_suggestions": "Empfehlungen",
"select_user_for_sharing_page_share_suggestions": "Suggestions",
"server_info_box_app_version": "App Version",
"server_info_box_server_url": "Server-URL",
"server_info_box_server_version": "Server Version",
"setting_image_viewer_help": "Der Detailbildbetrachter lädt zuerst die kleine Miniaturansicht, dann die Vorschau in mittlerer Größe (falls aktiviert) und schließlich das Original (falls aktiviert).",
"setting_image_viewer_original_subtitle": "Aktivieren, um das Originalbild in voller Auflösung (groß!) zu laden. Deaktivieren, um den Datenverbrauch zu reduzieren (sowohl im Netzwerk als auch im Gerätespeicher).",
"setting_image_viewer_original_title": "Original laden",
"setting_image_viewer_preview_subtitle": "Aktivieren, um ein Bild mit mittlerer Auflösung zu laden. Deaktivieren, um entweder das Original direkt zu laden oder nur die Miniaturansicht zu verwenden.",
"setting_image_viewer_preview_title": "Vorschaubild laden",
"setting_notifications_notify_failures_grace_period": "Benachrichtigung über Fehler bei der Hintergrundsicherung: {}",
"setting_notifications_notify_failures_grace_period": "Notify background backup failures: {}",
"setting_notifications_notify_hours": "{} Stunden",
"setting_notifications_notify_immediately": "sofort",
"setting_notifications_notify_minutes": "{} Minuten",
"setting_notifications_notify_never": "niemals",
"setting_notifications_notify_seconds": "{} Sekunden",
"setting_notifications_single_progress_subtitle": "Detaillierter Upload-Fortschritt für jedes Element.",
"setting_notifications_single_progress_title": "Zeige detaillierten Fortschritt bei der Hintergrundsicherung",
"setting_notifications_subtitle": "Benachrichtigungen anpassen",
"setting_notifications_single_progress_subtitle": "Detaillierte Upload Informationen für jedes Element.",
"setting_notifications_single_progress_title": "Zeige Hintergrund-Sicherungs Detailfortschritt",
"setting_notifications_subtitle": "Passe Deine Benachrichtigungen an",
"setting_notifications_title": "Benachrichtigungen",
"setting_notifications_total_progress_subtitle": "Gesamter Upload-Fortschritt (abgeschlossen/Anzahl Elemente)",
"setting_notifications_total_progress_title": "Zeige Gesamtfortschritt bei der Hintergrundsicherung",
"setting_notifications_total_progress_title": "Zeige Hintergrundsicherungsfortschritt",
"setting_pages_app_bar_settings": "Einstellungen",
"settings_require_restart": "Bitte starte Immich neu, um diese Einstellung anzuwenden.",
"share_add": "Hinzufügen",
"share_add_photos": "Fotos hinzufügen",
"share_add_title": "Titel hinzufügen",
"share_create_album": "Album erstellen",
"shared_album_activities_input_disable": "Kommentare sind deaktiviert.",
"shared_album_activities_input_hint": "Sag etwas",
"shared_album_activity_remove_content": "Möchtest du diese Aktivität entfernen?",
"shared_album_activity_remove_title": "Aktivität entfernen",
"shared_album_activity_setting_subtitle": "Lass andere reagieren.",
"shared_album_activity_setting_title": "Kommentare & Likes",
"share_dialog_preparing": "Vorbereiten...",
"shared_link_app_bar_title": "Geteilte Links",
"shared_link_create_app_bar_title": "Link zum Teilen erstellen",
"shared_link_create_info": "Alle, die über den Link verfügen, können die Fotos sehen",
"shared_link_create_submit_button": "Link erstellen",
"shared_link_edit_allow_download": "Jeder darf herunterladen",
"shared_link_edit_allow_upload": "Jeder darf hochladen",
"shared_link_edit_app_bar_title": "Link bearbeiten",
"shared_link_edit_change_expiry": "Ablaufdatum bearbeiten",
"shared_link_edit_description": "Beschreibung",
"shared_link_edit_description_hint": "Beschreibung eingeben",
"shared_link_edit_expire_after": "Erlischt nach",
"shared_link_edit_password": "Passwort",
"shared_link_edit_password_hint": "Passwort eingeben",
"shared_link_edit_show_meta": "Metadaten anzeigen",
"shared_link_edit_submit_button": "Link aktualisieren",
"shared_link_empty": "Du hast keine geteilten Links",
"shared_link_manage_links": "Geteilte Links verwalten",
"share_done": "Fertig",
"shared_link_app_bar_title": "Shared Links",
"shared_link_create_app_bar_title": "Create link to share",
"shared_link_create_info": "Let anyone with the link see the selected photo(s)",
"shared_link_create_submit_button": "Create link",
"shared_link_edit_allow_download": "Allow public user to download",
"shared_link_edit_allow_upload": "Allow public user to upload",
"shared_link_edit_app_bar_title": "Edit link",
"shared_link_edit_change_expiry": "Change expiration time",
"shared_link_edit_description": "Description",
"shared_link_edit_description_hint": "Enter the share description",
"shared_link_edit_show_meta": "Show metadata",
"shared_link_edit_submit_button": "Update link",
"shared_link_empty": "You don't have any shared links",
"shared_link_manage_links": "Manage Shared links",
"share_done": "Done",
"share_invite": "Zum Album einladen",
"sharing_page_album": "Geteilte Alben",
"sharing_page_description": "Erstelle ein geteiltes Album um Fotos und Videos mit Personen in deinem Netzwerk zu teilen.",
"sharing_page_empty_list": "LEERE LISTE",
"sharing_silver_appbar_create_shared_album": "Neues geteiltes Album",
"sharing_silver_appbar_shared_links": "Geteilte Links",
"sharing_silver_appbar_share_partner": "Mit Partner teilen",
"sharing_silver_appbar_shared_links": "Shared links",
"sharing_silver_appbar_share_partner": "Teile mit Partner",
"tab_controller_nav_library": "Bibliothek",
"tab_controller_nav_photos": "Fotos",
"tab_controller_nav_search": "Suche",
@@ -355,30 +337,30 @@
"theme_setting_theme_title": "Theme",
"theme_setting_three_stage_loading_subtitle": "Das dreistufige Ladeverfahren kann die Performance beim Laden verbessern, erhöht allerdings den Datenverbrauch deutlich",
"theme_setting_three_stage_loading_title": "Dreistufiges Laden aktivieren",
"translated_text_options": "Optionen",
"trash_page_delete": "Löschen",
"trash_page_delete_all": "Alle löschen",
"trash_page_empty_trash_btn": "Papierkorb leeren",
"trash_page_empty_trash_dialog_content": "Elemente im Papierkorb löschen? Diese Elemente werden dauerhaft von Immich entfernt",
"translated_text_options": "Options",
"trash_page_delete": "Delete",
"trash_page_delete_all": "Delete All",
"trash_page_empty_trash_btn": "Empty trash",
"trash_page_empty_trash_dialog_content": "Do you want to empty your trashed assets? These items will be permanently removed from Immich",
"trash_page_empty_trash_dialog_ok": "Ok",
"trash_page_info": "Elemente im Papierkorb werden nach {} Tagen endgültig gelöscht",
"trash_page_no_assets": "Keine Elemente im Papierkorb",
"trash_page_restore": "Wiederherstellen",
"trash_page_restore_all": "Alle wiederherstellen",
"trash_page_select_assets_btn": "Elemente auswählen",
"trash_page_select_btn": "Auswählen",
"trash_page_title": "Papierkorb ({})",
"upload_dialog_cancel": "Abbrechen",
"upload_dialog_info": "Willst du die ausgewählten Elemente auf dem Server sichern?",
"upload_dialog_ok": "Hochladen",
"upload_dialog_title": "Element hochladen",
"trash_page_info": "Trashed items will be permanently deleted after {} days",
"trash_page_no_assets": "No trashed assets",
"trash_page_restore": "Restore",
"trash_page_restore_all": "Restore All",
"trash_page_select_assets_btn": "Select assets",
"trash_page_select_btn": "Select",
"trash_page_title": "Trash ({})",
"upload_dialog_cancel": "Cancel",
"upload_dialog_info": "Do you want to backup the selected Asset(s) to the server?",
"upload_dialog_ok": "Upload",
"upload_dialog_title": "Upload Asset",
"version_announcement_overlay_ack": "Ich habe verstanden",
"version_announcement_overlay_release_notes": "Änderungsprotokoll",
"version_announcement_overlay_text_1": "Hallo mein Freund! Es gibt eine neue Version von",
"version_announcement_overlay_text_2": "Bitte nehme dir die Zeit und lies das ",
"version_announcement_overlay_text_2": "Bitte nehm dir die Zeit und lese das ",
"version_announcement_overlay_text_3": " und achte darauf, dass deine docker-compose und .env Dateien aktuell sind, vor allem wenn du ein System für automatische Updates benutzt (z.B. Watchtower).",
"version_announcement_overlay_title": "Neue Server-Version verfügbar \uD83C\uDF89",
"viewer_remove_from_stack": "Aus Stapel entfernen",
"viewer_stack_use_as_main_asset": "An Stapelanfang",
"viewer_unstack": "Stapel aufheben"
"viewer_remove_from_stack": "Remove from Stack",
"viewer_stack_use_as_main_asset": "Use as Main Asset",
"viewer_unstack": "Un-Stack"
}

View File

@@ -27,9 +27,6 @@
"album_viewer_page_share_add_users": "Add users",
"all_people_page_title": "People",
"all_videos_page_title": "Videos",
"app_bar_signout_dialog_content": "Are you sure you wanna sign out?",
"app_bar_signout_dialog_ok": "Yes",
"app_bar_signout_dialog_title": "Sign out",
"archive_page_no_archived_assets": "No archived assets found",
"archive_page_title": "Archive ({})",
"asset_list_layout_settings_dynamic_layout_title": "Dynamic layout",
@@ -115,11 +112,9 @@
"cache_settings_statistics_title": "Cache usage",
"cache_settings_subtitle": "Control the caching behaviour of the Immich mobile application",
"cache_settings_thumbnail_size": "Thumbnail cache size ({} assets)",
"cache_settings_tile_subtitle": "Control the local storage behaviour",
"cache_settings_tile_title": "Local Storage",
"cache_settings_title": "Caching Settings",
"change_password_form_confirm_password": "Confirm Password",
"change_password_form_description": "Hi {firstName} {lastName},\n\nThis is either the first time you are signing into the system or a request has been made to change your password. Please enter the new password below.",
"change_password_form_description": "Hi {name},\n\nThis is either the first time you are signing into the system or a request has been made to change your password. Please enter the new password below.",
"change_password_form_new_password": "New Password",
"change_password_form_password_mismatch": "Passwords do not match",
"change_password_form_reenter_new_password": "Re-enter New Password",
@@ -175,10 +170,6 @@
"home_page_favorite_err_local": "Can not favorite local assets yet, skipping",
"home_page_first_time_notice": "If this is your first time using the app, please make sure to choose a backup album(s) so that the timeline can populate photos and videos in the album(s).",
"home_page_upload_err_limit": "Can only upload a maximum of 30 assets at a time, skipping",
"home_page_favorite_err_partner": "Can not favorite partner assets yet, skipping",
"home_page_album_err_partner": "Can not add partner assets to an album yet, skipping",
"home_page_archive_err_partner": "Can not archive partner assets, skipping",
"home_page_delete_err_partner": "Can not delete partner assets, skipping",
"image_viewer_page_state_provider_download_error": "Download Error",
"image_viewer_page_state_provider_download_success": "Download Success",
"image_viewer_page_state_provider_share_error": "Share Error",
@@ -260,11 +251,11 @@
"permission_onboarding_request": "Immich requires permission to view your photos and videos.",
"profile_drawer_app_logs": "Logs",
"profile_drawer_client_server_up_to_date": "Client and Server are up-to-date",
"profile_drawer_documentation": "Documentation",
"profile_drawer_github": "GitHub",
"profile_drawer_settings": "Settings",
"profile_drawer_sign_out": "Sign Out",
"profile_drawer_trash": "Trash",
"profile_drawer_documentation": "Documentation",
"profile_drawer_github": "GitHub",
"recently_added_page_title": "Recently Added",
"search_bar_hint": "Search your photos",
"search_page_categories": "Categories",
@@ -288,8 +279,8 @@
"select_user_for_sharing_page_err_album": "Failed to create album",
"select_user_for_sharing_page_share_suggestions": "Suggestions",
"server_info_box_app_version": "App Version",
"server_info_box_server_url": "Server URL",
"server_info_box_server_version": "Server Version",
"server_info_box_server_url": "Server URL",
"setting_image_viewer_help": "The detail viewer loads the small thumbnail first, then loads the medium-size preview (if enabled), finally loads the original (if enabled).",
"setting_image_viewer_original_subtitle": "Enable to load the original full-resolution image (large!). Disable to reduce data usage (both network and on device cache).",
"setting_image_viewer_original_title": "Load original image",
@@ -313,12 +304,6 @@
"share_add_photos": "Add photos",
"share_add_title": "Add a title",
"share_create_album": "Create album",
"shared_album_activities_input_disable": "Comment is disabled",
"shared_album_activities_input_hint": "Say something",
"shared_album_activity_remove_content": "Do you want to delete this activity?",
"shared_album_activity_remove_title": "Delete Activity",
"shared_album_activity_setting_subtitle": "Let others respond",
"shared_album_activity_setting_title": "Comments & likes",
"share_dialog_preparing": "Preparing...",
"shared_link_app_bar_title": "Shared Links",
"shared_link_create_app_bar_title": "Create link to share",
@@ -330,8 +315,8 @@
"shared_link_edit_change_expiry": "Change expiration time",
"shared_link_edit_description": "Description",
"shared_link_edit_description_hint": "Enter the share description",
"shared_link_edit_expire_after": "Expire after",
"shared_link_edit_password": "Password",
"shared_link_edit_expire_after": "Expire after",
"shared_link_edit_password_hint": "Enter the share password",
"shared_link_edit_show_meta": "Show metadata",
"shared_link_edit_submit_button": "Update link",
@@ -383,6 +368,17 @@
"version_announcement_overlay_text_3": " and ensure your docker-compose and .env setup is up-to-date to prevent any misconfigurations, especially if you use WatchTower or any mechanism that handles updating your server application automatically.",
"version_announcement_overlay_title": "New Server Version Available \uD83C\uDF89",
"viewer_remove_from_stack": "Remove from Stack",
"viewer_unstack": "Un-Stack",
"cache_settings_tile_title": "Local Storage",
"cache_settings_tile_subtitle": "Control the local storage behaviour",
"viewer_stack_use_as_main_asset": "Use as Main Asset",
"viewer_unstack": "Un-Stack"
}
"app_bar_signout_dialog_title": "Sign out",
"app_bar_signout_dialog_content": "Are you sure you wanna sign out?",
"app_bar_signout_dialog_ok": "Yes",
"shared_album_activities_input_hint": "Say something",
"shared_album_activity_remove_title": "Delete Activity",
"shared_album_activity_remove_content": "Do you want to delete this activity?",
"shared_album_activity_setting_title": "Comments & likes",
"shared_album_activity_setting_subtitle": "Let others respond",
"shared_album_activities_input_disable": "Comment is disabled"
}

View File

@@ -3,8 +3,8 @@
"add_to_album_bottom_sheet_already_exists": "Ya se encuentra en {album}",
"advanced_settings_prefer_remote_subtitle": "Algunos dispositivos tardan mucho en cargar las miniaturas de recursos encontrados el dispositivo. Activa esta opción para cargar imágenes remotas en su lugar.",
"advanced_settings_prefer_remote_title": "Preferir imágenes remotas",
"advanced_settings_self_signed_ssl_subtitle": "Omitir verificación del certificado SSL del servidor. Requerido para certificados autofirmados",
"advanced_settings_self_signed_ssl_title": "Permitir certificados autofirmados",
"advanced_settings_self_signed_ssl_subtitle": "Skips SSL certificate verification for the server endpoint. Required for self-signed certificates.",
"advanced_settings_self_signed_ssl_title": "Allow self-signed SSL certificates",
"advanced_settings_tile_subtitle": "Configuraciones avanzadas del usuario",
"advanced_settings_tile_title": "Avanzado",
"advanced_settings_troubleshooting_subtitle": "Habilitar funciones adicionales para solución de problemas",
@@ -23,13 +23,9 @@
"album_viewer_appbar_share_err_title": "Error al cambiar el título del álbum ",
"album_viewer_appbar_share_leave": "Abandonar álbum ",
"album_viewer_appbar_share_remove": "Eliminar del álbum ",
"album_viewer_appbar_share_to": "Share To",
"album_viewer_page_share_add_users": "Agregar usuarios",
"all_people_page_title": "Personas",
"all_videos_page_title": "Videos",
"app_bar_signout_dialog_content": "¿Estás seguro que quieres cerrar sesión?",
"app_bar_signout_dialog_ok": "Sí",
"app_bar_signout_dialog_title": "Cerrar sesión",
"archive_page_no_archived_assets": "No se encontraron recursos archivados",
"archive_page_title": "Archivo ({})",
"asset_list_layout_settings_dynamic_layout_title": "Diseño dinámico",
@@ -63,7 +59,7 @@
"backup_controller_page_background_battery_info_title": "Optimizaciones de batería",
"backup_controller_page_background_charging": "Solo mientras se carga",
"backup_controller_page_background_configure_error": "Error al configurar el servicio en segundo plano",
"backup_controller_page_background_delay": "Retraso en la copia de seguridad de nuevos elementos: {}",
"backup_controller_page_background_delay": "Retraso en la copia de seguridad de nuevos activos: {}",
"backup_controller_page_background_description": "Activa el servicio en segundo plano para copiar automáticamente cualquier nuevos archivos sin necesidad de abrir la aplicación.",
"backup_controller_page_background_is_off": "La copia de seguridad en segundo plano automática está desactivada",
"backup_controller_page_background_is_on": "La copia de seguridad en segundo plano automática está activada",
@@ -75,7 +71,7 @@
"backup_controller_page_backup_sub": "Fotos y videos respaldados",
"backup_controller_page_cancel": "Cancelar",
"backup_controller_page_created": "Creado el: {}",
"backup_controller_page_desc_backup": "Active la copia de seguridad para cargar automáticamente los nuevos elementos al servidor.",
"backup_controller_page_desc_backup": "Active la copia de seguridad para cargar automáticamente los nuevos activos al servidor.",
"backup_controller_page_excluded": "Excluido:",
"backup_controller_page_failed": "Fallidos ({})",
"backup_controller_page_filename": "Nombre del archivo: {} [{}]",
@@ -98,11 +94,11 @@
"backup_controller_page_uploading_file_info": "Cargando información del archivo",
"backup_err_only_album": "No se puede eliminar el único álbum",
"backup_info_card_assets": "archivos",
"backup_manual_cancelled": "Cancelado",
"backup_manual_failed": "Fallido",
"backup_manual_in_progress": "Subida en progreso. Espere",
"backup_manual_success": "Éxito",
"backup_manual_title": "Estado de la subida",
"backup_manual_cancelled": "Cancelled",
"backup_manual_failed": "Failed",
"backup_manual_in_progress": "Upload already in progress. Try after sometime",
"backup_manual_success": "Success",
"backup_manual_title": "Upload status",
"cache_settings_album_thumbnails": "Miniaturas de la página de la biblioteca ({} archivos)",
"cache_settings_clear_cache_button": "Borrar caché",
"cache_settings_clear_cache_button_title": "Borra la caché de la aplicación. Esto afectará significativamente el rendimiento de la aplicación hasta que se reconstruya la caché.",
@@ -115,8 +111,6 @@
"cache_settings_statistics_title": "Uso de caché",
"cache_settings_subtitle": "Controla el comportamiento del almacenamiento en caché de la aplicación móvil Immich",
"cache_settings_thumbnail_size": "Tamaño de la caché de miniaturas ({} archivos)",
"cache_settings_tile_subtitle": "Controla el comportamiento del almacenamiento local",
"cache_settings_tile_title": "Almacenamiento local",
"cache_settings_title": "Configuración de la caché",
"change_password_form_confirm_password": "Confirmar Contraseña",
"change_password_form_description": "Hola {firstName} {lastName},\n\nEsta es la primera vez que inicias sesión en el sistema o se ha solicitado cambiar tu contraseña. Por favor, introduce la nueva contraseña a continuación.",
@@ -136,10 +130,10 @@
"control_bottom_app_bar_delete": "Eliminar",
"control_bottom_app_bar_favorite": "Favorito",
"control_bottom_app_bar_share": "Compartir",
"control_bottom_app_bar_share_to": "Enviar",
"control_bottom_app_bar_stack": "Apilar",
"control_bottom_app_bar_share_to": "Share To",
"control_bottom_app_bar_stack": "Stack",
"control_bottom_app_bar_unarchive": "Desarchivar",
"control_bottom_app_bar_upload": "Subir",
"control_bottom_app_bar_upload": "Upload",
"create_album_page_untitled": "Sin título",
"create_shared_album_page_create": "Crear",
"create_shared_album_page_share": "Compartir",
@@ -154,8 +148,8 @@
"delete_dialog_cancel": "Cancelar",
"delete_dialog_ok": "Eliminar",
"delete_dialog_title": "Eliminar Permanentemente",
"delete_shared_link_dialog_content": "Estás seguro que quieres eliminar este enlace compartido",
"delete_shared_link_dialog_title": "Eliminar enlace compartido",
"delete_shared_link_dialog_content": "Are you sure you want to delete this shared link?",
"delete_shared_link_dialog_title": "Delete Shared Link",
"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",
"exif_bottom_sheet_description": "Agregar Descripción...",
@@ -174,10 +168,10 @@
"home_page_building_timeline": "Construyendo la línea de tiempo",
"home_page_favorite_err_local": "Aún no se pueden archivar recursos locales, omitiendo",
"home_page_first_time_notice": "Si esta es la primera vez que usas la app, por favor, asegúrate de elegir un álbum de respaldo para que la línea de tiempo pueda cargar fotos y videos en los álbumes.",
"home_page_upload_err_limit": "Solo se pueden subir 30 elementos simultáneamente, omitiendo",
"home_page_upload_err_limit": "Can only upload a maximum of 30 assets at a time, skipping",
"image_viewer_page_state_provider_download_error": "Error de descarga",
"image_viewer_page_state_provider_download_success": "Descarga exitosa",
"image_viewer_page_state_provider_share_error": "Error al compartir",
"image_viewer_page_state_provider_share_error": "Share Error",
"library_page_albums": "Álbumes",
"library_page_archive": "Archivo",
"library_page_device_albums": "Álbumes en el dispositivo",
@@ -185,10 +179,10 @@
"library_page_new_album": "Nuevo álbum",
"library_page_sharing": "Compartiendo",
"library_page_sort_created": "Creado más recientemente",
"library_page_sort_last_modified": "Última modificación",
"library_page_sort_most_recent_photo": "Foto más reciente",
"library_page_sort_last_modified": "Last modified",
"library_page_sort_most_recent_photo": "Most recent photo",
"library_page_sort_title": "Título del álbum",
"login_disabled": "El inicio de sesión ha sido desactivado",
"login_disabled": "Login has been disabled",
"login_form_api_exception": "Excepción producida por API. Por favor, verifica el URL del servidor e inténtalo de nuevo.",
"login_form_button_text": "Iniciar Sesión",
"login_form_email_hint": "tucorreo@correo.com",
@@ -202,7 +196,7 @@
"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_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 un error de verificación del certificado del servidor. Activa el soporte para certificados autofirmados en las preferencias si estás usando un certificado autofirmado",
"login_form_handshake_exception": "There was an Handshake Exception with the server. Enable self-signed certificate support in the settings if you are using a self-signed certificate.",
"login_form_label_email": "Correo",
"login_form_label_password": "Contraseña",
"login_form_next_button": "Siguiente",
@@ -210,24 +204,24 @@
"login_form_save_login": "Mantener la sesión iniciada",
"login_form_server_empty": "Agrega la URL del servidor.",
"login_form_server_error": "No se pudo conectar al servidor.",
"login_password_changed_error": "Hubo un error actualizando la contraseña",
"login_password_changed_success": "Contraseña cambiado con éxito",
"map_cannot_get_user_location": "No se pudo obtener la posición del usuario",
"map_location_dialog_cancel": "Cancelar",
"map_location_dialog_yes": "",
"map_location_service_disabled_content": "Los servicios de ubicación deben estar activados para mostrar elementos de tu ubicación actual. Deseas activarlos ahora?",
"map_location_service_disabled_title": "Servicios de ubicación desactivados",
"map_no_assets_in_bounds": "No hay fotos en esta zona",
"map_no_location_permission_content": "Se necesitan permisos de ubicación para mostrar elementos de tu ubicación actual. Deseas activarlos ahora?",
"map_no_location_permission_title": "Permisos de ubicación denegados",
"map_settings_dark_mode": "Modo oscuro",
"map_settings_dialog_cancel": "Cancelar",
"map_settings_dialog_save": "Guardar",
"map_settings_dialog_title": "Ajustes mapa",
"map_settings_include_show_archived": "Incluir archivados",
"map_settings_only_relative_range": "Rango de fechas",
"map_settings_only_show_favorites": "Mostrar solo favoritas",
"map_zoom_to_see_photos": "Alejar para ver fotos",
"login_password_changed_error": "There was an error updating your password",
"login_password_changed_success": "Password updated successfully",
"map_cannot_get_user_location": "Cannot get user's location",
"map_location_dialog_cancel": "Cancel",
"map_location_dialog_yes": "Yes",
"map_location_service_disabled_content": "Location service needs to be enabled to display assets from your current location. Do you want to enable it now?",
"map_location_service_disabled_title": "Location Service disabled",
"map_no_assets_in_bounds": "No photos in this area",
"map_no_location_permission_content": "Location permission is needed to display assets from your current location. Do you want to allow it now?",
"map_no_location_permission_title": "Location Permission denied",
"map_settings_dark_mode": "Dark mode",
"map_settings_dialog_cancel": "Cancel",
"map_settings_dialog_save": "Save",
"map_settings_dialog_title": "Map Settings",
"map_settings_include_show_archived": "Include Archived",
"map_settings_only_relative_range": "Date range",
"map_settings_only_show_favorites": "Show Favorite Only",
"map_zoom_to_see_photos": "Zoom out to see photos",
"monthly_title_text_date_format": "MMMM y",
"motion_photos_page_title": "Foto en Movimiento",
"notification_permission_dialog_cancel": "Cancelar",
@@ -256,11 +250,9 @@
"permission_onboarding_request": "Immich requiere permiso para ver tus fotos y videos.",
"profile_drawer_app_logs": "Registros",
"profile_drawer_client_server_up_to_date": "El Cliente y el Servidor están actualizados",
"profile_drawer_documentation": "Documentación",
"profile_drawer_github": "GitHub",
"profile_drawer_settings": "Configuración",
"profile_drawer_sign_out": "Cerrar Sesión",
"profile_drawer_trash": "Papelera",
"profile_drawer_trash": "Trash",
"recently_added_page_title": "Recién Agregadas",
"search_bar_hint": "Busca tus fotos",
"search_page_categories": "Categorías",
@@ -284,7 +276,6 @@
"select_user_for_sharing_page_err_album": "Fallo al crear el álbum",
"select_user_for_sharing_page_share_suggestions": "Sugerencias",
"server_info_box_app_version": "Versión de la Aplicación",
"server_info_box_server_url": "URL del servidor",
"server_info_box_server_version": "Versión del Servidor",
"setting_image_viewer_help": "El visor de detalles carga primero la miniatura pequeña, luego carga la vista previa de tamaño mediano (si está habilitada), finalmente carga la original (si está habilitada).",
"setting_image_viewer_original_subtitle": "Activar para cargar la imagen en resolución original (¡muy grande!). Deshabilitar para reducir el consumo de datos (de red y caché).",
@@ -309,44 +300,35 @@
"share_add_photos": "Agregar fotos",
"share_add_title": "Agregar un título",
"share_create_album": "Crear álbum",
"shared_album_activities_input_disable": "Comment is disabled",
"shared_album_activities_input_hint": "Say something",
"shared_album_activity_remove_content": "Do you want to delete this activity?",
"shared_album_activity_remove_title": "Delete Activity",
"shared_album_activity_setting_subtitle": "Let others respond",
"shared_album_activity_setting_title": "Comments & likes",
"share_dialog_preparing": "Preparando...",
"shared_link_app_bar_title": "Enlaces compartidos",
"shared_link_create_app_bar_title": "Crear enlace compartido",
"shared_link_create_info": "Cualquier persona con el enlace puede ver las fotos seleccionadas",
"shared_link_create_submit_button": "Crear enlace",
"shared_link_edit_allow_download": "Permitir descargar a usuarios públicos",
"shared_link_edit_allow_upload": "Permitir subir a usuarios públicos",
"shared_link_edit_app_bar_title": "Editar enlace",
"shared_link_edit_change_expiry": "Cambiar fecha de caducidad",
"shared_link_edit_description": "Descripción",
"shared_link_edit_description_hint": "Introduce la descripción del enlace",
"shared_link_edit_expire_after": "Expire after",
"shared_link_edit_password": "Contraseña",
"shared_link_edit_password_hint": "Introduce la contraseña del enlace",
"shared_link_edit_show_meta": "Mostrar metadatos",
"shared_link_edit_submit_button": "Actualizar enlace",
"shared_link_empty": "No tienes enlaces compartidos",
"shared_link_manage_links": "Administrar enlaces compartidos",
"share_done": "Hecho",
"shared_link_app_bar_title": "Shared Links",
"shared_link_create_app_bar_title": "Create link to share",
"shared_link_create_info": "Let anyone with the link see the selected photo(s)",
"shared_link_create_submit_button": "Create link",
"shared_link_edit_allow_download": "Allow public user to download",
"shared_link_edit_allow_upload": "Allow public user to upload",
"shared_link_edit_app_bar_title": "Edit link",
"shared_link_edit_change_expiry": "Change expiration time",
"shared_link_edit_description": "Description",
"shared_link_edit_description_hint": "Enter the share description",
"shared_link_edit_show_meta": "Show metadata",
"shared_link_edit_submit_button": "Update link",
"shared_link_empty": "You don't have any shared links",
"shared_link_manage_links": "Manage Shared links",
"share_done": "Done",
"share_invite": "Invitar al álbum",
"sharing_page_album": "Álbumes compartidos",
"sharing_page_description": "Crea álbumes compartidos para compartir fotos y vídeos con las personas de tu red.",
"sharing_page_empty_list": "LISTA VACIA",
"sharing_silver_appbar_create_shared_album": "Crear un álbum compartido",
"sharing_silver_appbar_shared_links": "Enlaces compartidos",
"sharing_silver_appbar_shared_links": "Shared links",
"sharing_silver_appbar_share_partner": "Compartir con el compañero",
"tab_controller_nav_library": "Biblioteca",
"tab_controller_nav_photos": "Fotos",
"tab_controller_nav_search": "Buscar",
"tab_controller_nav_sharing": "Compartiendo",
"theme_setting_asset_list_storage_indicator_title": "Mostrar indicador de almacenamiento en las miniaturas de los archivos",
"theme_setting_asset_list_tiles_per_row_title": "Número de elementos por fila ({})",
"theme_setting_asset_list_tiles_per_row_title": "Número de activos por fila ({})",
"theme_setting_dark_mode_switch": "Modo oscuro",
"theme_setting_image_viewer_quality_subtitle": "Ajustar la calidad del visor de detalles de imágenes",
"theme_setting_image_viewer_quality_title": "Calidad del visor de imágenes",
@@ -355,30 +337,30 @@
"theme_setting_theme_title": "Tema",
"theme_setting_three_stage_loading_subtitle": "La carga en tres etapas puede aumentar el rendimiento de carga pero provoca un consumo de red significativamente mayor",
"theme_setting_three_stage_loading_title": "Activar carga en tres etapas",
"translated_text_options": "Opciones",
"trash_page_delete": "Eliminar",
"trash_page_delete_all": "Eliminar todos",
"trash_page_empty_trash_btn": "Vaciar papelera",
"trash_page_empty_trash_dialog_content": "Estás seguro que quieres eliminar los elementos? Estos elementos serán eliminados de Immich permanentemente",
"trash_page_empty_trash_dialog_ok": "",
"trash_page_info": "Los archivos en la papelera serán eliminados automáticamente después de {} días",
"trash_page_no_assets": "No hay elementos en la papelera",
"trash_page_restore": "Restaurar",
"trash_page_restore_all": "Restaurar todos",
"trash_page_select_assets_btn": "Seleccionar elementos",
"trash_page_select_btn": "Seleccionar",
"trash_page_title": "Papelera ({})",
"upload_dialog_cancel": "Cancelar",
"upload_dialog_info": "Quieres hacer una copia de seguridad al servidor de los elementos seleccionados?",
"upload_dialog_ok": "Subir",
"upload_dialog_title": "Subir elementos",
"translated_text_options": "Options",
"trash_page_delete": "Delete",
"trash_page_delete_all": "Delete All",
"trash_page_empty_trash_btn": "Empty trash",
"trash_page_empty_trash_dialog_content": "Do you want to empty your trashed assets? These items will be permanently removed from Immich",
"trash_page_empty_trash_dialog_ok": "Ok",
"trash_page_info": "Trashed items will be permanently deleted after {} days",
"trash_page_no_assets": "No trashed assets",
"trash_page_restore": "Restore",
"trash_page_restore_all": "Restore All",
"trash_page_select_assets_btn": "Select assets",
"trash_page_select_btn": "Select",
"trash_page_title": "Trash ({})",
"upload_dialog_cancel": "Cancel",
"upload_dialog_info": "Do you want to backup the selected Asset(s) to the server?",
"upload_dialog_ok": "Upload",
"upload_dialog_title": "Upload Asset",
"version_announcement_overlay_ack": "Aceptar",
"version_announcement_overlay_release_notes": "notas de versión",
"version_announcement_overlay_text_1": "Hola amigo, hay una nueva versión de",
"version_announcement_overlay_text_2": "por favor, tómate tu tiempo para visitar las ",
"version_announcement_overlay_text_3": " y asegúrate de que la configuración de docker-compose y .env estén actualizadas para evitar cualquier error de configuración, especialmente si utilizas WatchTower o cualquier mecanismo que actualice automáticamente la aplicación del servidor.",
"version_announcement_overlay_title": "Nueva versión del servidor disponible \uD83C\uDF89",
"viewer_remove_from_stack": "Quitar de la pila",
"viewer_stack_use_as_main_asset": "Usar como elemento principal",
"viewer_unstack": "Desapilar"
"viewer_remove_from_stack": "Remove from Stack",
"viewer_stack_use_as_main_asset": "Use as Main Asset",
"viewer_unstack": "Un-Stack"
}

View File

@@ -3,8 +3,8 @@
"add_to_album_bottom_sheet_already_exists": "Ya se encuentra en {album}",
"advanced_settings_prefer_remote_subtitle": "Algunos dispositivos tardan mucho en cargar las miniaturas de recursos encontrados el dispositivo. Activa esta opción para cargar imágenes remotas en su lugar.",
"advanced_settings_prefer_remote_title": "Preferir imágenes remotas",
"advanced_settings_self_signed_ssl_subtitle": "Omitir verificación del certificado SSL del servidor. Requerido para certificados autofirmados",
"advanced_settings_self_signed_ssl_title": "Permitir certificados autofirmados",
"advanced_settings_self_signed_ssl_subtitle": "Skips SSL certificate verification for the server endpoint. Required for self-signed certificates.",
"advanced_settings_self_signed_ssl_title": "Allow self-signed SSL certificates",
"advanced_settings_tile_subtitle": "Configuraciones avanzadas del usuario",
"advanced_settings_tile_title": "Avanzado",
"advanced_settings_troubleshooting_subtitle": "Habilitar funciones adicionales para solución de problemas",
@@ -23,13 +23,9 @@
"album_viewer_appbar_share_err_title": "Error al cambiar el título del álbum",
"album_viewer_appbar_share_leave": "Abandonar álbum ",
"album_viewer_appbar_share_remove": "Eliminar del álbum",
"album_viewer_appbar_share_to": "Share To",
"album_viewer_page_share_add_users": "Agregar usuarios",
"all_people_page_title": "Personas",
"all_videos_page_title": "Videos",
"app_bar_signout_dialog_content": "¿Estás seguro que quieres cerrar sesión?",
"app_bar_signout_dialog_ok": "Sí",
"app_bar_signout_dialog_title": "Cerrar sesión",
"archive_page_no_archived_assets": "No se encontraron recursos archivados",
"archive_page_title": "Archivo ({})",
"asset_list_layout_settings_dynamic_layout_title": "Diseño dinámico",
@@ -63,7 +59,7 @@
"backup_controller_page_background_battery_info_title": "Optimizaciones de batería",
"backup_controller_page_background_charging": "Solo mientras se carga",
"backup_controller_page_background_configure_error": "Error al configurar el servicio en segundo plano",
"backup_controller_page_background_delay": "Retraso en la copia de seguridad de nuevos elementos: {}",
"backup_controller_page_background_delay": "Retraso en la copia de seguridad de nuevos activos: {}",
"backup_controller_page_background_description": "Activa el servicio en segundo plano para copiar automáticamente cualquier nuevos archivos sin necesidad de abrir la aplicación.",
"backup_controller_page_background_is_off": "La copia de seguridad en segundo plano automática está desactivada",
"backup_controller_page_background_is_on": "La copia de seguridad en segundo plano automática está desactivada",
@@ -98,11 +94,11 @@
"backup_controller_page_uploading_file_info": "Cargando información del archivo",
"backup_err_only_album": "No se puede eliminar el único álbum",
"backup_info_card_assets": "archivos",
"backup_manual_cancelled": "Cancelado",
"backup_manual_failed": "Fallido",
"backup_manual_in_progress": "Subida en progreso. Espere",
"backup_manual_success": "Éxito",
"backup_manual_title": "Estado de la subida",
"backup_manual_cancelled": "Cancelled",
"backup_manual_failed": "Failed",
"backup_manual_in_progress": "Upload already in progress. Try after sometime",
"backup_manual_success": "Success",
"backup_manual_title": "Upload status",
"cache_settings_album_thumbnails": "Miniaturas de la página de la biblioteca ({} archivos)",
"cache_settings_clear_cache_button": "Borrar caché",
"cache_settings_clear_cache_button_title": "Borra la caché de la aplicación. Esto afectará significativamente el rendimiento de la aplicación hasta que se reconstruya la caché.",
@@ -115,8 +111,6 @@
"cache_settings_statistics_title": "Uso de caché",
"cache_settings_subtitle": "Controla el comportamiento del almacenamiento en caché de la aplicación móvil Immich",
"cache_settings_thumbnail_size": "Tamaño de la caché de miniaturas ({} archivos)",
"cache_settings_tile_subtitle": "Controla el comportamiento del almacenamiento local",
"cache_settings_tile_title": "Almacenamiento local",
"cache_settings_title": "Configuración de la caché",
"change_password_form_confirm_password": "Confirmar Contraseña",
"change_password_form_description": "Hola {firstName} {lastName},\n\nEsta es la primera vez que inicias sesión en el sistema o se ha solicitado cambiar tu contraseña. Por favor, introduce la nueva contraseña a continuación.",
@@ -136,10 +130,10 @@
"control_bottom_app_bar_delete": "Eliminar",
"control_bottom_app_bar_favorite": "Favorito",
"control_bottom_app_bar_share": "Compartir",
"control_bottom_app_bar_share_to": "Enviar",
"control_bottom_app_bar_stack": "Apilar",
"control_bottom_app_bar_share_to": "Share To",
"control_bottom_app_bar_stack": "Stack",
"control_bottom_app_bar_unarchive": "Desarchivar",
"control_bottom_app_bar_upload": "Subir",
"control_bottom_app_bar_upload": "Upload",
"create_album_page_untitled": "Sin título",
"create_shared_album_page_create": "Crear",
"create_shared_album_page_share": "Compartir",
@@ -154,8 +148,8 @@
"delete_dialog_cancel": "Cancelar",
"delete_dialog_ok": "Eliminar",
"delete_dialog_title": "Eliminar permanentemente",
"delete_shared_link_dialog_content": "Estás seguro que quieres eliminar este enlace compartido",
"delete_shared_link_dialog_title": "Eliminar enlace compartido",
"delete_shared_link_dialog_content": "Are you sure you want to delete this shared link?",
"delete_shared_link_dialog_title": "Delete Shared Link",
"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",
"exif_bottom_sheet_description": "Agregar Descripción...",
@@ -174,10 +168,10 @@
"home_page_building_timeline": "Construyendo la línea de tiempo",
"home_page_favorite_err_local": "Aún no se pueden archivar recursos locales, omitiendo",
"home_page_first_time_notice": "Si esta es la primera vez que usas la app, por favor, asegúrate de elegir un álbum de respaldo para que la línea de tiempo pueda cargar fotos y videos en los álbumes.",
"home_page_upload_err_limit": "Solo se pueden subir 30 elementos simultáneamente, omitiendo",
"home_page_upload_err_limit": "Can only upload a maximum of 30 assets at a time, skipping",
"image_viewer_page_state_provider_download_error": "Error de descarga",
"image_viewer_page_state_provider_download_success": "Descarga exitosa",
"image_viewer_page_state_provider_share_error": "Error al compartir",
"image_viewer_page_state_provider_share_error": "Share Error",
"library_page_albums": "Álbumes",
"library_page_archive": "Archivo",
"library_page_device_albums": "Álbumes en el dispositivo",
@@ -185,10 +179,10 @@
"library_page_new_album": "Nuevo álbum",
"library_page_sharing": "Compartiendo",
"library_page_sort_created": "Creado más recientemente",
"library_page_sort_last_modified": "Última modificación",
"library_page_sort_most_recent_photo": "Foto más reciente",
"library_page_sort_last_modified": "Last modified",
"library_page_sort_most_recent_photo": "Most recent photo",
"library_page_sort_title": "Título del álbum",
"login_disabled": "El inicio de sesión ha sido desactivado",
"login_disabled": "Login has been disabled",
"login_form_api_exception": "Excepción producida por API. Por favor, verifica el URL del servidor e inténtalo de nuevo.",
"login_form_button_text": "Iniciar sesión",
"login_form_email_hint": "tucorreo@correo.com",
@@ -202,7 +196,7 @@
"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_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 un error de verificación del certificado del servidor. Activa el soporte para certificados autofirmados en las preferencias si estás usando un certificado autofirmado",
"login_form_handshake_exception": "There was an Handshake Exception with the server. Enable self-signed certificate support in the settings if you are using a self-signed certificate.",
"login_form_label_email": "Correo electrónico",
"login_form_label_password": "Contraseña",
"login_form_next_button": "Siguiente",
@@ -210,24 +204,24 @@
"login_form_save_login": "Permanecer conectado",
"login_form_server_empty": "Agrega la URL del servidor.",
"login_form_server_error": "No se pudo conectar al servidor.",
"login_password_changed_error": "Hubo un error actualizando la contraseña",
"login_password_changed_success": "Contraseña cambiado con éxito",
"map_cannot_get_user_location": "No se pudo obtener la posición del usuario",
"map_location_dialog_cancel": "Cancelar",
"map_location_dialog_yes": "",
"map_location_service_disabled_content": "Los servicios de localización deben estar activados para mostrar elementos de tu ubicación actual. Deseas activarlos ahora?",
"map_location_service_disabled_title": "Servicios de localización desactivados",
"map_no_assets_in_bounds": "No hay fotos en esta zona",
"map_no_location_permission_content": "Se necesitan permisos de ubicación para mostrar elementos de tu ubicación actual. Deseas activarlos ahora?",
"map_no_location_permission_title": "Permisos de ubicación denegados",
"map_settings_dark_mode": "Modo oscuro",
"map_settings_dialog_cancel": "Cancelar",
"map_settings_dialog_save": "Guardar",
"map_settings_dialog_title": "Ajustes mapa",
"map_settings_include_show_archived": "Incluir archivados",
"map_settings_only_relative_range": "Rango de fechas",
"map_settings_only_show_favorites": "Mostrar solo favoritas",
"map_zoom_to_see_photos": "Alejar para ver fotos",
"login_password_changed_error": "There was an error updating your password",
"login_password_changed_success": "Password updated successfully",
"map_cannot_get_user_location": "Cannot get user's location",
"map_location_dialog_cancel": "Cancel",
"map_location_dialog_yes": "Yes",
"map_location_service_disabled_content": "Location service needs to be enabled to display assets from your current location. Do you want to enable it now?",
"map_location_service_disabled_title": "Location Service disabled",
"map_no_assets_in_bounds": "No photos in this area",
"map_no_location_permission_content": "Location permission is needed to display assets from your current location. Do you want to allow it now?",
"map_no_location_permission_title": "Location Permission denied",
"map_settings_dark_mode": "Dark mode",
"map_settings_dialog_cancel": "Cancel",
"map_settings_dialog_save": "Save",
"map_settings_dialog_title": "Map Settings",
"map_settings_include_show_archived": "Include Archived",
"map_settings_only_relative_range": "Date range",
"map_settings_only_show_favorites": "Show Favorite Only",
"map_zoom_to_see_photos": "Zoom out to see photos",
"monthly_title_text_date_format": "MMMM y",
"motion_photos_page_title": "Foto en Movimiento",
"notification_permission_dialog_cancel": "Cancelar",
@@ -256,11 +250,9 @@
"permission_onboarding_request": "Immich requiere permiso para ver tus fotos y videos.",
"profile_drawer_app_logs": "Registros",
"profile_drawer_client_server_up_to_date": "El cliente y el servidor están actualizados",
"profile_drawer_documentation": "Documentación",
"profile_drawer_github": "GitHub",
"profile_drawer_settings": "Configuración",
"profile_drawer_sign_out": "Cerrar sesión",
"profile_drawer_trash": "Papelera",
"profile_drawer_trash": "Trash",
"recently_added_page_title": "Recién Agregadas",
"search_bar_hint": "Busca tus fotos",
"search_page_categories": "Categorías",
@@ -284,7 +276,6 @@
"select_user_for_sharing_page_err_album": "Error al crear álbum",
"select_user_for_sharing_page_share_suggestions": "Sugerencias",
"server_info_box_app_version": "Versión de la Aplicación",
"server_info_box_server_url": "URL del servidor",
"server_info_box_server_version": "Versión del Servidor",
"setting_image_viewer_help": "El visor de detalles carga primero la miniatura pequeña, luego carga la vista previa de tamaño mediano (si está habilitada), finalmente carga la original (si está habilitada).",
"setting_image_viewer_original_subtitle": "Activar para cargar la imagen en resolución original (¡muy grande!). Deshabilitar para reducir el consumo de datos (de red y caché).",
@@ -309,44 +300,35 @@
"share_add_photos": "Agregar fotos",
"share_add_title": "Agregar un título",
"share_create_album": "Crear álbum",
"shared_album_activities_input_disable": "Comment is disabled",
"shared_album_activities_input_hint": "Say something",
"shared_album_activity_remove_content": "Do you want to delete this activity?",
"shared_album_activity_remove_title": "Delete Activity",
"shared_album_activity_setting_subtitle": "Let others respond",
"shared_album_activity_setting_title": "Comments & likes",
"share_dialog_preparing": "Preparando...",
"shared_link_app_bar_title": "Enlaces compartidos",
"shared_link_create_app_bar_title": "Crear enlace compartido",
"shared_link_create_info": "Cualquier persona con el enlace puede ver las fotos seleccionadas",
"shared_link_create_submit_button": "Crear enlace",
"shared_link_edit_allow_download": "Permitir descargar a usuarios públicos",
"shared_link_edit_allow_upload": "Permitir subir a usuarios públicos",
"shared_link_edit_app_bar_title": "Editar enlace",
"shared_link_edit_change_expiry": "Cambiar fecha de caducidad",
"shared_link_edit_description": "Descripción",
"shared_link_edit_description_hint": "Introduce la descripción del enlace",
"shared_link_edit_expire_after": "Expire after",
"shared_link_edit_password": "Contraseña",
"shared_link_edit_password_hint": "Introduce la contraseña del enlace",
"shared_link_edit_show_meta": "Mostrar metadatos",
"shared_link_edit_submit_button": "Actualizar enlace",
"shared_link_empty": "No tienes enlaces compartidos",
"shared_link_manage_links": "Administrar enlaces compartidos",
"share_done": "Hecho",
"shared_link_app_bar_title": "Shared Links",
"shared_link_create_app_bar_title": "Create link to share",
"shared_link_create_info": "Let anyone with the link see the selected photo(s)",
"shared_link_create_submit_button": "Create link",
"shared_link_edit_allow_download": "Allow public user to download",
"shared_link_edit_allow_upload": "Allow public user to upload",
"shared_link_edit_app_bar_title": "Edit link",
"shared_link_edit_change_expiry": "Change expiration time",
"shared_link_edit_description": "Description",
"shared_link_edit_description_hint": "Enter the share description",
"shared_link_edit_show_meta": "Show metadata",
"shared_link_edit_submit_button": "Update link",
"shared_link_empty": "You don't have any shared links",
"shared_link_manage_links": "Manage Shared links",
"share_done": "Done",
"share_invite": "Invitar al álbum",
"sharing_page_album": "Álbumes compartidos",
"sharing_page_description": "Crea álbumes compartidos para compartir fotos y videos con personas de tu red.",
"sharing_page_empty_list": "LISTA VACIA",
"sharing_silver_appbar_create_shared_album": "Crear álbum compartido",
"sharing_silver_appbar_shared_links": "Enlaces compartidos",
"sharing_silver_appbar_shared_links": "Shared links",
"sharing_silver_appbar_share_partner": "Compartir con compañero",
"tab_controller_nav_library": "Biblioteca",
"tab_controller_nav_photos": "Fotos",
"tab_controller_nav_search": "Buscar",
"tab_controller_nav_sharing": "Compartiendo",
"theme_setting_asset_list_storage_indicator_title": "Mostrar indicador de almacenamiento en las miniaturas de los archivos",
"theme_setting_asset_list_tiles_per_row_title": "Número de elementos por fila ({})",
"theme_setting_asset_list_tiles_per_row_title": "Número de activos por fila ({})",
"theme_setting_dark_mode_switch": "Modo oscuro",
"theme_setting_image_viewer_quality_subtitle": "Ajustar la calidad del visor de detalles de imágenes",
"theme_setting_image_viewer_quality_title": "Calidad del visor de imágenes",
@@ -355,30 +337,30 @@
"theme_setting_theme_title": "Tema",
"theme_setting_three_stage_loading_subtitle": "La carga en tres etapas puede aumentar el rendimiento de carga pero provoca un consumo de red significativamente mayor",
"theme_setting_three_stage_loading_title": "Activar carga en tres etapas",
"translated_text_options": "Opciones",
"trash_page_delete": "Eliminar",
"trash_page_delete_all": "Eliminar todos",
"trash_page_empty_trash_btn": "Vaciar papelera",
"trash_page_empty_trash_dialog_content": "Estás seguro que quieres eliminar los elementos? Estos elementos serán eliminados de Immich permanentemente",
"trash_page_empty_trash_dialog_ok": "",
"trash_page_info": "Los archivos en la papelera serán eliminados automáticamente después de {} días",
"trash_page_no_assets": "No hay elementos en la papelera",
"trash_page_restore": "Restaurar",
"trash_page_restore_all": "Restaurar todos",
"trash_page_select_assets_btn": "Seleccionar elementos",
"trash_page_select_btn": "Seleccionar",
"trash_page_title": "Papelera ({})",
"upload_dialog_cancel": "Cancelar",
"upload_dialog_info": "Quieres hacer una copia de seguridad al servidor de los elementos seleccionados?",
"upload_dialog_ok": "Subir",
"upload_dialog_title": "Subir elementos",
"translated_text_options": "Options",
"trash_page_delete": "Delete",
"trash_page_delete_all": "Delete All",
"trash_page_empty_trash_btn": "Empty trash",
"trash_page_empty_trash_dialog_content": "Do you want to empty your trashed assets? These items will be permanently removed from Immich",
"trash_page_empty_trash_dialog_ok": "Ok",
"trash_page_info": "Trashed items will be permanently deleted after {} days",
"trash_page_no_assets": "No trashed assets",
"trash_page_restore": "Restore",
"trash_page_restore_all": "Restore All",
"trash_page_select_assets_btn": "Select assets",
"trash_page_select_btn": "Select",
"trash_page_title": "Trash ({})",
"upload_dialog_cancel": "Cancel",
"upload_dialog_info": "Do you want to backup the selected Asset(s) to the server?",
"upload_dialog_ok": "Upload",
"upload_dialog_title": "Upload Asset",
"version_announcement_overlay_ack": "Aceptar",
"version_announcement_overlay_release_notes": "notas de la versión",
"version_announcement_overlay_text_1": "Hola, amigo, hay una nueva versión de",
"version_announcement_overlay_text_2": "por favor, tómate tu tiempo para visitar las ",
"version_announcement_overlay_text_3": " y asegúrate de que la configuración de docker-compose y .env estén actualizadas para evitar cualquier error de configuración, especialmente si utilizas WatchTower o cualquier mecanismo que actualice automáticamente la aplicación del servidor.",
"version_announcement_overlay_title": "Nueva versión del servidor disponible \uD83C\uDF89",
"viewer_remove_from_stack": "Quitar de la pila",
"viewer_stack_use_as_main_asset": "Usar como elemento principal",
"viewer_unstack": "Desapilar"
"viewer_remove_from_stack": "Remove from Stack",
"viewer_stack_use_as_main_asset": "Use as Main Asset",
"viewer_unstack": "Un-Stack"
}

View File

@@ -3,8 +3,8 @@
"add_to_album_bottom_sheet_already_exists": "Ya se encuentra en {album}",
"advanced_settings_prefer_remote_subtitle": "Algunos dispositivos tardan mucho en cargar las miniaturas de recursos encontrados el dispositivo. Activa esta opción para cargar imágenes remotas en su lugar.",
"advanced_settings_prefer_remote_title": "Preferir imágenes remotas",
"advanced_settings_self_signed_ssl_subtitle": "Omitir verificación del certificado SSL del servidor. Requerido para certificados autofirmados",
"advanced_settings_self_signed_ssl_title": "Permitir certificados autofirmados",
"advanced_settings_self_signed_ssl_subtitle": "Skips SSL certificate verification for the server endpoint. Required for self-signed certificates.",
"advanced_settings_self_signed_ssl_title": "Allow self-signed SSL certificates",
"advanced_settings_tile_subtitle": "Configuraciones avanzadas del usuario",
"advanced_settings_tile_title": "Avanzado",
"advanced_settings_troubleshooting_subtitle": "Habilitar funciones adicionales para solución de problemas",
@@ -23,13 +23,9 @@
"album_viewer_appbar_share_err_title": "Error al cambiar el título del álbum",
"album_viewer_appbar_share_leave": "Abandonar álbum ",
"album_viewer_appbar_share_remove": "Eliminar del álbum",
"album_viewer_appbar_share_to": "Share To",
"album_viewer_page_share_add_users": "Agregar usuarios",
"all_people_page_title": "Personas",
"all_videos_page_title": "Videos",
"app_bar_signout_dialog_content": "¿Estás seguro que quieres cerrar sesión?",
"app_bar_signout_dialog_ok": "Sí",
"app_bar_signout_dialog_title": "Cerrar sesión",
"archive_page_no_archived_assets": "No se encontraron recursos archivados",
"archive_page_title": "Archivo ({})",
"asset_list_layout_settings_dynamic_layout_title": "Diseño dinámico",
@@ -63,7 +59,7 @@
"backup_controller_page_background_battery_info_title": "Optimizaciones de batería",
"backup_controller_page_background_charging": "Solo mientras se carga",
"backup_controller_page_background_configure_error": "Error al configurar el servicio en segundo plano",
"backup_controller_page_background_delay": "Retraso en la copia de seguridad de nuevos elementos: {}",
"backup_controller_page_background_delay": "Retraso en la copia de seguridad de nuevos activos: {}",
"backup_controller_page_background_description": "Activa el servicio en segundo plano para copiar automáticamente cualquier nuevos archivos sin necesidad de abrir la aplicación.",
"backup_controller_page_background_is_off": "La copia de seguridad en segundo plano automática está desactivada",
"backup_controller_page_background_is_on": "La copia de seguridad en segundo plano automática está desactivada",
@@ -75,7 +71,7 @@
"backup_controller_page_backup_sub": "Fotos y videos respaldados",
"backup_controller_page_cancel": "Cancelar",
"backup_controller_page_created": "Creado el: {}",
"backup_controller_page_desc_backup": "Active la copia de seguridad para cargar automáticamente los nuevos elementos al servidor.",
"backup_controller_page_desc_backup": "Activa la copia de seguridad en primer plano para cargar automáticamente nuevos recursos al servidor al abrir la aplicación.",
"backup_controller_page_excluded": "Excluido:",
"backup_controller_page_failed": "Fallidos ({})",
"backup_controller_page_filename": "Nombre del archivo: {} [{}]",
@@ -98,11 +94,11 @@
"backup_controller_page_uploading_file_info": "Cargando información del archivo",
"backup_err_only_album": "No se puede eliminar el único álbum",
"backup_info_card_assets": "archivos",
"backup_manual_cancelled": "Cancelado",
"backup_manual_failed": "Fallido",
"backup_manual_in_progress": "Subida en progreso. Espere",
"backup_manual_success": "Éxito",
"backup_manual_title": "Estado de la subida",
"backup_manual_cancelled": "Cancelled",
"backup_manual_failed": "Failed",
"backup_manual_in_progress": "Upload already in progress. Try after sometime",
"backup_manual_success": "Success",
"backup_manual_title": "Upload status",
"cache_settings_album_thumbnails": "Miniaturas de la página de la biblioteca ({} archivos)",
"cache_settings_clear_cache_button": "Borrar caché",
"cache_settings_clear_cache_button_title": "Borra la caché de la aplicación. Esto afectará significativamente el rendimiento de la aplicación hasta que se reconstruya la caché.",
@@ -115,8 +111,6 @@
"cache_settings_statistics_title": "Uso de caché",
"cache_settings_subtitle": "Controla el comportamiento del almacenamiento en caché de la aplicación móvil Immich",
"cache_settings_thumbnail_size": "Tamaño de la caché de miniaturas ({} archivos)",
"cache_settings_tile_subtitle": "Controla el comportamiento del almacenamiento local",
"cache_settings_tile_title": "Almacenamiento local",
"cache_settings_title": "Configuración de la caché",
"change_password_form_confirm_password": "Confirmar Contraseña",
"change_password_form_description": "Hola {firstName} {lastName},\n\nEsta es la primera vez que inicias sesión en el sistema o se ha solicitado cambiar tu contraseña. Por favor, introduce la nueva contraseña a continuación.",
@@ -136,10 +130,10 @@
"control_bottom_app_bar_delete": "Eliminar",
"control_bottom_app_bar_favorite": "Favorito",
"control_bottom_app_bar_share": "Compartir",
"control_bottom_app_bar_share_to": "Enviar",
"control_bottom_app_bar_stack": "Apilar",
"control_bottom_app_bar_share_to": "Share To",
"control_bottom_app_bar_stack": "Stack",
"control_bottom_app_bar_unarchive": "Desarchivar",
"control_bottom_app_bar_upload": "Subir",
"control_bottom_app_bar_upload": "Upload",
"create_album_page_untitled": "Sin título",
"create_shared_album_page_create": "Crear",
"create_shared_album_page_share": "Compartir",
@@ -154,8 +148,8 @@
"delete_dialog_cancel": "Cancelar",
"delete_dialog_ok": "Eliminar",
"delete_dialog_title": "Eliminar permanentemente",
"delete_shared_link_dialog_content": "Estás seguro que quieres eliminar este enlace compartido",
"delete_shared_link_dialog_title": "Eliminar enlace compartido",
"delete_shared_link_dialog_content": "Are you sure you want to delete this shared link?",
"delete_shared_link_dialog_title": "Delete Shared Link",
"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",
"exif_bottom_sheet_description": "Agregar Descripción...",
@@ -174,10 +168,10 @@
"home_page_building_timeline": "Construyendo la línea de tiempo",
"home_page_favorite_err_local": "Aún no se pueden archivar recursos locales, omitiendo",
"home_page_first_time_notice": "Si esta es la primera vez que usas la app, por favor, asegúrate de elegir un álbum de respaldo para que la línea de tiempo pueda cargar fotos y videos en los álbumes.",
"home_page_upload_err_limit": "Solo se pueden subir 30 elementos simultáneamente, omitiendo",
"home_page_upload_err_limit": "Can only upload a maximum of 30 assets at a time, skipping",
"image_viewer_page_state_provider_download_error": "Error de descarga",
"image_viewer_page_state_provider_download_success": "Descarga exitosa",
"image_viewer_page_state_provider_share_error": "Error al compartir",
"image_viewer_page_state_provider_share_error": "Share Error",
"library_page_albums": "Álbumes",
"library_page_archive": "Archivo",
"library_page_device_albums": "Álbumes en el dispositivo",
@@ -185,10 +179,10 @@
"library_page_new_album": "Nuevo álbum",
"library_page_sharing": "Compartiendo",
"library_page_sort_created": "Creado más recientemente",
"library_page_sort_last_modified": "Última modificación",
"library_page_sort_most_recent_photo": "Foto más reciente",
"library_page_sort_last_modified": "Last modified",
"library_page_sort_most_recent_photo": "Most recent photo",
"library_page_sort_title": "Título del álbum",
"login_disabled": "El inicio de sesión ha sido desactivado",
"login_disabled": "Login has been disabled",
"login_form_api_exception": "Excepción producida por API. Por favor, verifica el URL del servidor e inténtalo de nuevo.",
"login_form_button_text": "Iniciar sesión",
"login_form_email_hint": "tucorreo@correo.com",
@@ -202,7 +196,7 @@
"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_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 un error de verificación del certificado del servidor. Activa el soporte para certificados autofirmados en las preferencias si estás usando un certificado autofirmado",
"login_form_handshake_exception": "There was an Handshake Exception with the server. Enable self-signed certificate support in the settings if you are using a self-signed certificate.",
"login_form_label_email": "Correo electrónico",
"login_form_label_password": "Contraseña",
"login_form_next_button": "Siguiente",
@@ -210,24 +204,24 @@
"login_form_save_login": "Permanecer conectado",
"login_form_server_empty": "Agrega la URL del servidor.",
"login_form_server_error": "No se pudo conectar al servidor.",
"login_password_changed_error": "Hubo un error actualizando la contraseña",
"login_password_changed_success": "Contraseña cambiado con éxito",
"map_cannot_get_user_location": "No se pudo obtener la posición del usuario",
"map_location_dialog_cancel": "Cancelar",
"map_location_dialog_yes": "",
"map_location_service_disabled_content": "Los servicios de localización deben estar activados para mostrar elementos de tu ubicación actual. Deseas activarlos ahora?",
"map_location_service_disabled_title": "Servicios de localización desactivados",
"map_no_assets_in_bounds": "No hay fotos en esta zona",
"map_no_location_permission_content": "Se necesitan permisos de ubicación para mostrar elementos de tu ubicación actual. Deseas activarlos ahora?",
"map_no_location_permission_title": "Permisos de ubicación denegados",
"map_settings_dark_mode": "Modo oscuro",
"map_settings_dialog_cancel": "Cancelar",
"map_settings_dialog_save": "Guardar",
"map_settings_dialog_title": "Ajustes mapa",
"map_settings_include_show_archived": "Incluir archivados",
"map_settings_only_relative_range": "Rango de fechas",
"map_settings_only_show_favorites": "Mostrar solo favoritas",
"map_zoom_to_see_photos": "Alejar para ver fotos",
"login_password_changed_error": "There was an error updating your password",
"login_password_changed_success": "Password updated successfully",
"map_cannot_get_user_location": "Cannot get user's location",
"map_location_dialog_cancel": "Cancel",
"map_location_dialog_yes": "Yes",
"map_location_service_disabled_content": "Location service needs to be enabled to display assets from your current location. Do you want to enable it now?",
"map_location_service_disabled_title": "Location Service disabled",
"map_no_assets_in_bounds": "No photos in this area",
"map_no_location_permission_content": "Location permission is needed to display assets from your current location. Do you want to allow it now?",
"map_no_location_permission_title": "Location Permission denied",
"map_settings_dark_mode": "Dark mode",
"map_settings_dialog_cancel": "Cancel",
"map_settings_dialog_save": "Save",
"map_settings_dialog_title": "Map Settings",
"map_settings_include_show_archived": "Include Archived",
"map_settings_only_relative_range": "Date range",
"map_settings_only_show_favorites": "Show Favorite Only",
"map_zoom_to_see_photos": "Zoom out to see photos",
"monthly_title_text_date_format": "MMMM y",
"motion_photos_page_title": "Foto en Movimiento",
"notification_permission_dialog_cancel": "Cancelar",
@@ -256,11 +250,9 @@
"permission_onboarding_request": "Immich requiere permiso para ver tus fotos y videos.",
"profile_drawer_app_logs": "Registros",
"profile_drawer_client_server_up_to_date": "El cliente y el servidor están actualizados",
"profile_drawer_documentation": "Documentación",
"profile_drawer_github": "GitHub",
"profile_drawer_settings": "Configuración",
"profile_drawer_sign_out": "Cerrar sesión",
"profile_drawer_trash": "Papelera",
"profile_drawer_trash": "Trash",
"recently_added_page_title": "Recién Agregadas",
"search_bar_hint": "Busca tus fotos",
"search_page_categories": "Categorías",
@@ -284,7 +276,6 @@
"select_user_for_sharing_page_err_album": "Error al crear álbum",
"select_user_for_sharing_page_share_suggestions": "Sugerencias",
"server_info_box_app_version": "Versión de la Aplicación",
"server_info_box_server_url": "URL del servidor",
"server_info_box_server_version": "Versión del Servidor",
"setting_image_viewer_help": "El visor de detalles carga primero la miniatura pequeña, luego carga la vista previa de tamaño mediano (si está habilitada), finalmente carga la original (si está habilitada).",
"setting_image_viewer_original_subtitle": "Activar para cargar la imagen en resolución original (¡muy grande!). Deshabilitar para reducir el consumo de datos (de red y caché).",
@@ -309,44 +300,35 @@
"share_add_photos": "Agregar fotos",
"share_add_title": "Agregar un título",
"share_create_album": "Crear álbum",
"shared_album_activities_input_disable": "Comment is disabled",
"shared_album_activities_input_hint": "Say something",
"shared_album_activity_remove_content": "Do you want to delete this activity?",
"shared_album_activity_remove_title": "Delete Activity",
"shared_album_activity_setting_subtitle": "Let others respond",
"shared_album_activity_setting_title": "Comments & likes",
"share_dialog_preparing": "Preparando...",
"shared_link_app_bar_title": "Enlaces compartidos",
"shared_link_create_app_bar_title": "Crear enlace compartido",
"shared_link_create_info": "Cualquier persona con el enlace puede ver las fotos seleccionadas",
"shared_link_create_submit_button": "Crear enlace",
"shared_link_edit_allow_download": "Permitir descargar a usuarios públicos",
"shared_link_edit_allow_upload": "Permitir subir a usuarios públicos",
"shared_link_edit_app_bar_title": "Editar enlace",
"shared_link_edit_change_expiry": "Cambiar fecha de caducidad",
"shared_link_edit_description": "Descripción",
"shared_link_edit_description_hint": "Introduce la descripción del enlace",
"shared_link_edit_expire_after": "Expire after",
"shared_link_edit_password": "Contraseña",
"shared_link_edit_password_hint": "Introduce la contraseña del enlace",
"shared_link_edit_show_meta": "Mostrar metadatos",
"shared_link_edit_submit_button": "Actualizar enlace",
"shared_link_empty": "No tienes enlaces compartidos",
"shared_link_manage_links": "Administrar enlaces compartidos",
"share_done": "Hecho",
"shared_link_app_bar_title": "Shared Links",
"shared_link_create_app_bar_title": "Create link to share",
"shared_link_create_info": "Let anyone with the link see the selected photo(s)",
"shared_link_create_submit_button": "Create link",
"shared_link_edit_allow_download": "Allow public user to download",
"shared_link_edit_allow_upload": "Allow public user to upload",
"shared_link_edit_app_bar_title": "Edit link",
"shared_link_edit_change_expiry": "Change expiration time",
"shared_link_edit_description": "Description",
"shared_link_edit_description_hint": "Enter the share description",
"shared_link_edit_show_meta": "Show metadata",
"shared_link_edit_submit_button": "Update link",
"shared_link_empty": "You don't have any shared links",
"shared_link_manage_links": "Manage Shared links",
"share_done": "Done",
"share_invite": "Invitar al álbum",
"sharing_page_album": "Álbumes compartidos",
"sharing_page_description": "Crea álbumes compartidos para compartir fotos y videos con personas de tu red.",
"sharing_page_empty_list": "LISTA VACIA",
"sharing_silver_appbar_create_shared_album": "Crear álbum compartido",
"sharing_silver_appbar_shared_links": "Enlaces compartidos",
"sharing_silver_appbar_shared_links": "Shared links",
"sharing_silver_appbar_share_partner": "Compartir con compañero",
"tab_controller_nav_library": "Biblioteca",
"tab_controller_nav_photos": "Fotos",
"tab_controller_nav_search": "Buscar",
"tab_controller_nav_sharing": "Compartiendo",
"theme_setting_asset_list_storage_indicator_title": "Mostrar indicador de almacenamiento en las miniaturas de los archivos",
"theme_setting_asset_list_tiles_per_row_title": "Número de elementos por fila ({})",
"theme_setting_asset_list_tiles_per_row_title": "Número de activos por fila ({})",
"theme_setting_dark_mode_switch": "Modo oscuro",
"theme_setting_image_viewer_quality_subtitle": "Ajustar la calidad del visor de detalles de imágenes",
"theme_setting_image_viewer_quality_title": "Calidad del visor de imágenes",
@@ -355,30 +337,30 @@
"theme_setting_theme_title": "Tema",
"theme_setting_three_stage_loading_subtitle": "La carga en tres etapas puede aumentar el rendimiento de carga pero provoca un consumo de red significativamente mayor",
"theme_setting_three_stage_loading_title": "Activar carga en tres etapas",
"translated_text_options": "Opciones",
"trash_page_delete": "Eliminar",
"trash_page_delete_all": "Eliminar todos",
"trash_page_empty_trash_btn": "Vaciar papelera",
"trash_page_empty_trash_dialog_content": "Estás seguro que quieres eliminar los elementos? Estos elementos serán eliminados de Immich permanentemente",
"trash_page_empty_trash_dialog_ok": "",
"trash_page_info": "Los archivos en la papelera serán eliminados automáticamente después de {} días",
"trash_page_no_assets": "No hay elementos en la papelera",
"trash_page_restore": "Restaurar",
"trash_page_restore_all": "Restaurar todos",
"trash_page_select_assets_btn": "Seleccionar elementos",
"trash_page_select_btn": "Seleccionar",
"trash_page_title": "Papelera ({})",
"upload_dialog_cancel": "Cancelar",
"upload_dialog_info": "Quieres hacer una copia de seguridad al servidor de los elementos seleccionados?",
"upload_dialog_ok": "Subir",
"upload_dialog_title": "Subir elementos",
"translated_text_options": "Options",
"trash_page_delete": "Delete",
"trash_page_delete_all": "Delete All",
"trash_page_empty_trash_btn": "Empty trash",
"trash_page_empty_trash_dialog_content": "Do you want to empty your trashed assets? These items will be permanently removed from Immich",
"trash_page_empty_trash_dialog_ok": "Ok",
"trash_page_info": "Trashed items will be permanently deleted after {} days",
"trash_page_no_assets": "No trashed assets",
"trash_page_restore": "Restore",
"trash_page_restore_all": "Restore All",
"trash_page_select_assets_btn": "Select assets",
"trash_page_select_btn": "Select",
"trash_page_title": "Trash ({})",
"upload_dialog_cancel": "Cancel",
"upload_dialog_info": "Do you want to backup the selected Asset(s) to the server?",
"upload_dialog_ok": "Upload",
"upload_dialog_title": "Upload Asset",
"version_announcement_overlay_ack": "Aceptar",
"version_announcement_overlay_release_notes": "notas de la versión",
"version_announcement_overlay_text_1": "Hola, amigo, hay una nueva versión de",
"version_announcement_overlay_text_2": "por favor, tómate tu tiempo para visitar las ",
"version_announcement_overlay_text_3": " y asegúrate de que la configuración de docker-compose y .env estén actualizadas para evitar cualquier error de configuración, especialmente si utilizas WatchTower o cualquier mecanismo que actualice automáticamente la aplicación del servidor.",
"version_announcement_overlay_title": "Nueva versión del servidor disponible \uD83C\uDF89",
"viewer_remove_from_stack": "Quitar de la pila",
"viewer_stack_use_as_main_asset": "Usar como elemento principal",
"viewer_unstack": "Desapilar"
"viewer_remove_from_stack": "Remove from Stack",
"viewer_stack_use_as_main_asset": "Use as Main Asset",
"viewer_unstack": "Un-Stack"
}

View File

@@ -3,8 +3,8 @@
"add_to_album_bottom_sheet_already_exists": "Kohde on jo albumissa {album}",
"advanced_settings_prefer_remote_subtitle": "Jotkut laitteet ovat erittäin hitaita lataamaan esikatselukuvia laitteen kohteista. Aktivoi tämä asetus käyttääksesi etäkuvia.",
"advanced_settings_prefer_remote_title": "Suosi etäkuvia",
"advanced_settings_self_signed_ssl_subtitle": "Ohita SSL sertifikaattivarmennus palvelimen päätepisteellä. Vaaditaan self-signed -sertifikaateissa.",
"advanced_settings_self_signed_ssl_title": "Salli self-signed SSL -sertifikaatit",
"advanced_settings_self_signed_ssl_subtitle": "Skips SSL certificate verification for the server endpoint. Required for self-signed certificates.",
"advanced_settings_self_signed_ssl_title": "Allow self-signed SSL certificates",
"advanced_settings_tile_subtitle": "Edistyneen käyttäjän asetukset",
"advanced_settings_tile_title": "Edistyneet",
"advanced_settings_troubleshooting_subtitle": "Kytke vianetsinnän lisäominaisuudet päälle",
@@ -23,13 +23,9 @@
"album_viewer_appbar_share_err_title": "Albumin nimen muuttaminen epäonnistui",
"album_viewer_appbar_share_leave": "Poistu albumista",
"album_viewer_appbar_share_remove": "Poista albumista",
"album_viewer_appbar_share_to": "Jaa",
"album_viewer_page_share_add_users": "Lisää käyttäjiä",
"all_people_page_title": "Ihmiset",
"all_videos_page_title": "Videot",
"app_bar_signout_dialog_content": "Haluatko varmasti kirjautua ulos?",
"app_bar_signout_dialog_ok": "Kyllä",
"app_bar_signout_dialog_title": "Kirjaudu ulos",
"archive_page_no_archived_assets": "Arkistoituja kohteita ei löytynyt",
"archive_page_title": "Arkisto ({})",
"asset_list_layout_settings_dynamic_layout_title": "Dynaaminen asetelma",
@@ -115,8 +111,6 @@
"cache_settings_statistics_title": "Välimuistin käyttö",
"cache_settings_subtitle": "Hallitse Immich-mobiilisovelluksen välimuistin käyttöä",
"cache_settings_thumbnail_size": "Esikatselukuvien välimuistin koko ({} kohdetta)",
"cache_settings_tile_subtitle": "Hallitse paikallista tallenustilaa",
"cache_settings_tile_title": "Paikallinen tallennustila",
"cache_settings_title": "Välimuistin asetukset",
"change_password_form_confirm_password": "Vahvista salasana",
"change_password_form_description": "Hei {firstName} {lastName},\n\nTämä on joko ensimmäinen kirjautumisesi järjestelmään tai salasanan vaihtaminen vaihtaminen on pakotettu. Ole hyvä ja syötä uusi salasana alle.",
@@ -136,10 +130,10 @@
"control_bottom_app_bar_delete": "Poista",
"control_bottom_app_bar_favorite": "Suosikki",
"control_bottom_app_bar_share": "Jaa",
"control_bottom_app_bar_share_to": "Jaa",
"control_bottom_app_bar_stack": "Pinoa",
"control_bottom_app_bar_share_to": "Share To",
"control_bottom_app_bar_stack": "Stack",
"control_bottom_app_bar_unarchive": "Palauta arkistosta",
"control_bottom_app_bar_upload": "Siirrä palvelimelle",
"control_bottom_app_bar_upload": "Upload",
"create_album_page_untitled": "Nimetön",
"create_shared_album_page_create": "Luo",
"create_shared_album_page_share": "Jaa",
@@ -154,8 +148,8 @@
"delete_dialog_cancel": "Peruuta",
"delete_dialog_ok": "Poista",
"delete_dialog_title": "Poista pysyvästi",
"delete_shared_link_dialog_content": "Oletko varma, että haluat poistaa jaetun linkin?",
"delete_shared_link_dialog_title": "Poista jaettu linkki",
"delete_shared_link_dialog_content": "Are you sure you want to delete this shared link?",
"delete_shared_link_dialog_title": "Delete Shared Link",
"description_input_hint_text": "Lisää kuvaus...",
"description_input_submit_error": "Virhe kuvauksen päivittämisessä, tarkista lisätiedot lokista",
"exif_bottom_sheet_description": "Lisää kuvaus…",
@@ -177,7 +171,7 @@
"home_page_upload_err_limit": "Voit lähettää palvelimelle enintään 30 kohdetta kerrallaan, ohitetaan",
"image_viewer_page_state_provider_download_error": "Lataus epäonnistui",
"image_viewer_page_state_provider_download_success": "Lataus onnistui",
"image_viewer_page_state_provider_share_error": "Jakovirhe",
"image_viewer_page_state_provider_share_error": "Share Error",
"library_page_albums": "Albumit",
"library_page_archive": "Arkisto",
"library_page_device_albums": "Laitteen albumit",
@@ -185,8 +179,8 @@
"library_page_new_album": "Uusi albumi",
"library_page_sharing": "Jakaminen",
"library_page_sort_created": "Viimeisin luotu",
"library_page_sort_last_modified": "Viimeksi muokattu",
"library_page_sort_most_recent_photo": "Viimeisin kuva",
"library_page_sort_last_modified": "Last modified",
"library_page_sort_most_recent_photo": "Most recent photo",
"library_page_sort_title": "Albumin otsikko",
"login_disabled": "Kirjautuminen on poistettu käytöstä",
"login_form_api_exception": "API-virhe. Tarkista palvelimen URL-osoite ja yritä uudelleen.",
@@ -202,7 +196,7 @@
"login_form_failed_get_oauth_server_config": "Virhe kirjauduttaessa OAuth:lla, tarkista palvelimen URL",
"login_form_failed_get_oauth_server_disable": "OAuth-ominaisuus ei ole käytössä tällä palvelimella",
"login_form_failed_login": "Virhe kirjautumisessa. Tarkista palvelimen URL, sähköpostiosoite ja salasana.",
"login_form_handshake_exception": "Tapahtui poikkeus kättelyssä palvelimen kanssa. Kytke päälle self-signed -sertifikaattituki asetuksista, mikäli käytät self-signed -sertifikaatteja.",
"login_form_handshake_exception": "There was an Handshake Exception with the server. Enable self-signed certificate support in the settings if you are using a self-signed certificate.",
"login_form_label_email": "Sähköposti",
"login_form_label_password": "Salasana",
"login_form_next_button": "Seuraava",
@@ -210,24 +204,24 @@
"login_form_save_login": "Pysy kirjautuneena",
"login_form_server_empty": "Syötä palvelimen URL-osoite.",
"login_form_server_error": "Palvelimeen ei saatu yhteyttä.",
"login_password_changed_error": "Salasanan päivityksessä tapahtui virhe",
"login_password_changed_success": "Salasan päivitetty onnistuneesti",
"map_cannot_get_user_location": "Käyttäjän sijaintia ei voitu määrittää",
"map_location_dialog_cancel": "Peruuta",
"map_location_dialog_yes": "Kyllä",
"map_location_service_disabled_content": "Paikannuspalvelun pitää olla päälle kytkettynä, jotta nykyisen sijaintisi kohteita voidaan näyttää. Haluatko kytkeä sen päälle?",
"map_location_service_disabled_title": "Paikannuspalvelu pois päältä",
"map_no_assets_in_bounds": "Ei kuvia tällä alueella",
"map_no_location_permission_content": "Paikannuslupa tarvitaan, jotta nykyisen sijainnin kohteita voidaan näyttää. Haluatko sallia pääsyn sijaintiin?",
"map_no_location_permission_title": "Paikannuslupa estetty",
"map_settings_dark_mode": "Tumma tila",
"map_settings_dialog_cancel": "Peruuta",
"map_settings_dialog_save": "Tallenna",
"map_settings_dialog_title": "Kartta-asetukset",
"map_settings_include_show_archived": "Sisällytä arkistoidut",
"map_settings_only_relative_range": "Päivämäärän rajaus",
"map_settings_only_show_favorites": "Näytä vain suosikit",
"map_zoom_to_see_photos": "Tarkenna nähdäksesi kuvat",
"login_password_changed_error": "There was an error updating your password",
"login_password_changed_success": "Password updated successfully",
"map_cannot_get_user_location": "Cannot get user's location",
"map_location_dialog_cancel": "Cancel",
"map_location_dialog_yes": "Yes",
"map_location_service_disabled_content": "Location service needs to be enabled to display assets from your current location. Do you want to enable it now?",
"map_location_service_disabled_title": "Location Service disabled",
"map_no_assets_in_bounds": "No photos in this area",
"map_no_location_permission_content": "Location permission is needed to display assets from your current location. Do you want to allow it now?",
"map_no_location_permission_title": "Location Permission denied",
"map_settings_dark_mode": "Dark mode",
"map_settings_dialog_cancel": "Cancel",
"map_settings_dialog_save": "Save",
"map_settings_dialog_title": "Map Settings",
"map_settings_include_show_archived": "Include Archived",
"map_settings_only_relative_range": "Date range",
"map_settings_only_show_favorites": "Show Favorite Only",
"map_zoom_to_see_photos": "Zoom out to see photos",
"monthly_title_text_date_format": "MMMM y",
"motion_photos_page_title": "Liikekuvat",
"notification_permission_dialog_cancel": "Peruuta",
@@ -256,11 +250,9 @@
"permission_onboarding_request": "Immich vaatii käyttöoikeuden kuvien ja videoiden käyttämiseen.",
"profile_drawer_app_logs": "Lokit",
"profile_drawer_client_server_up_to_date": "Asiakassovellus ja palvelin ovat ajan tasalla",
"profile_drawer_documentation": "Dokumentaatio",
"profile_drawer_github": "GitHub",
"profile_drawer_settings": "Asetukset",
"profile_drawer_sign_out": "Kirjaudu ulos",
"profile_drawer_trash": "Roskakori",
"profile_drawer_trash": "Trash",
"recently_added_page_title": "Viimeksi lisätyt",
"search_bar_hint": "Etsi kuvia",
"search_page_categories": "Kategoriat",
@@ -284,7 +276,6 @@
"select_user_for_sharing_page_err_album": "Albumin luonti epäonnistui",
"select_user_for_sharing_page_share_suggestions": "Ehdotukset",
"server_info_box_app_version": "Sovelluksen versio",
"server_info_box_server_url": "Palvelimen URL-osoite",
"server_info_box_server_version": "Palvelimen versio",
"setting_image_viewer_help": "Sovellus lataa ensin pienen esikatselukuvan, toisena keskitarkkuuksisen kuvan (jos käytössä) ja kolmantena alkuperäisen täysitarkkuuksisen kuvan (jos käytössä)",
"setting_image_viewer_original_subtitle": "Ota käyttöön ladataksesi alkuperäinen täysitarkkuuksinen kuva (suuri!). Poista käytöstä vähentääksesi datan käyttöä (sekä verkossa että laitteen välimuistissa).",
@@ -309,37 +300,28 @@
"share_add_photos": "Lisää kuvia",
"share_add_title": "Lisää nimi",
"share_create_album": "Luo albumi",
"shared_album_activities_input_disable": "Comment is disabled",
"shared_album_activities_input_hint": "Say something",
"shared_album_activity_remove_content": "Do you want to delete this activity?",
"shared_album_activity_remove_title": "Delete Activity",
"shared_album_activity_setting_subtitle": "Let others respond",
"shared_album_activity_setting_title": "Comments & likes",
"share_dialog_preparing": "Valmistellaan...",
"shared_link_app_bar_title": "Jaetut linkit",
"shared_link_create_app_bar_title": "Luo linkki jaettavaksi",
"shared_link_create_info": "Salli kaikkien linkinhaltijoiden nähdä valitut kuvat",
"shared_link_create_submit_button": "Luo linkki",
"shared_link_edit_allow_download": "Salli julkisen käyttäjän ladata palvelimelta",
"shared_link_edit_allow_upload": "Salli julkisen käyttäjän siirtää palvelimelle",
"shared_link_edit_app_bar_title": "Muokkaa linkkiä",
"shared_link_edit_change_expiry": "Muuta erääntymisaikaa",
"shared_link_edit_description": "Kuvaus",
"shared_link_edit_description_hint": "Lisää jaon kuvaus",
"shared_link_edit_expire_after": "Expire after",
"shared_link_edit_password": "Salasana",
"shared_link_edit_password_hint": "Syötä jaon salasana",
"shared_link_edit_show_meta": "Näytä metadata",
"shared_link_edit_submit_button": "Päivitä linkki",
"shared_link_empty": "Sinulla ei ole jaettuja linkkejä",
"shared_link_manage_links": "Hallitse jaettuja linkkejä",
"share_done": "Valmis",
"shared_link_app_bar_title": "Shared Links",
"shared_link_create_app_bar_title": "Create link to share",
"shared_link_create_info": "Let anyone with the link see the selected photo(s)",
"shared_link_create_submit_button": "Create link",
"shared_link_edit_allow_download": "Allow public user to download",
"shared_link_edit_allow_upload": "Allow public user to upload",
"shared_link_edit_app_bar_title": "Edit link",
"shared_link_edit_change_expiry": "Change expiration time",
"shared_link_edit_description": "Description",
"shared_link_edit_description_hint": "Enter the share description",
"shared_link_edit_show_meta": "Show metadata",
"shared_link_edit_submit_button": "Update link",
"shared_link_empty": "You don't have any shared links",
"shared_link_manage_links": "Manage Shared links",
"share_done": "Done",
"share_invite": "Kutsu albumiin",
"sharing_page_album": "Jaetut albumit",
"sharing_page_description": "Luo jaettuja albumeja jakaaksesi kuvia ja videoita läheisillesi.",
"sharing_page_empty_list": "TYHJÄ LISTA",
"sharing_silver_appbar_create_shared_album": "Luo jaettu albumi",
"sharing_silver_appbar_shared_links": "Jaetut linkit",
"sharing_silver_appbar_shared_links": "Shared links",
"sharing_silver_appbar_share_partner": "Jaa kumppanille",
"tab_controller_nav_library": "Kirjasto",
"tab_controller_nav_photos": "Kuvat",
@@ -355,19 +337,19 @@
"theme_setting_theme_title": "Teema",
"theme_setting_three_stage_loading_subtitle": "Kolmivaiheinen lataaminen saattaa parantaa latauksen suorituskykyä, mutta lisää kaistankäyttöä huomattavasti.",
"theme_setting_three_stage_loading_title": "Ota kolmivaiheinen lataus käyttöön",
"translated_text_options": "Vaihtoehdot",
"trash_page_delete": "Poista",
"trash_page_delete_all": "Poista kaikki",
"trash_page_empty_trash_btn": "Tyhjennä roskakori",
"trash_page_empty_trash_dialog_content": "Haluatko poistaa roskakoriin siirretyt kohteet? Kohteet poistetaan lopullisesti Immich:sta.",
"translated_text_options": "Options",
"trash_page_delete": "Delete",
"trash_page_delete_all": "Delete All",
"trash_page_empty_trash_btn": "Empty trash",
"trash_page_empty_trash_dialog_content": "Do you want to empty your trashed assets? These items will be permanently removed from Immich",
"trash_page_empty_trash_dialog_ok": "Ok",
"trash_page_info": "Roskakoriin siirretyt kohteet poistetaan lopullisesti {} päivän jälkeen",
"trash_page_no_assets": "Ei poistettuja kohteita",
"trash_page_restore": "Palauta",
"trash_page_restore_all": "Palauta kaikki",
"trash_page_select_assets_btn": "Valitse kohteet",
"trash_page_select_btn": "Valitse",
"trash_page_title": "Roskakori",
"trash_page_info": "Trashed items will be permanently deleted after {} days",
"trash_page_no_assets": "No trashed assets",
"trash_page_restore": "Restore",
"trash_page_restore_all": "Restore All",
"trash_page_select_assets_btn": "Select assets",
"trash_page_select_btn": "Select",
"trash_page_title": "Trash ({})",
"upload_dialog_cancel": "Peruuta",
"upload_dialog_info": "Haluatko varmuuskopioida valitut kohteet palvelimelle?",
"upload_dialog_ok": "Lähetä",
@@ -378,7 +360,7 @@
"version_announcement_overlay_text_2": "Ota hetki aikaa vieraillaksesi",
"version_announcement_overlay_text_3": "ja varmista, että käyttämäsi docker-compose ja .env-asetukset ovat ajantasalla välttyäksesi asetusongelmilta. Varsinkin jos käytät WatchToweria tai jotain muuta mekanismia päivittääksesi palvelinsovellusta automaattisesti.",
"version_announcement_overlay_title": "Uusi palvelinversio saatavilla \uD83C\uDF89",
"viewer_remove_from_stack": "Poista pinosta",
"viewer_stack_use_as_main_asset": "Käytä pääkohteena",
"viewer_unstack": "Pura pino"
"viewer_remove_from_stack": "Remove from Stack",
"viewer_stack_use_as_main_asset": "Use as Main Asset",
"viewer_unstack": "Un-Stack"
}

View File

@@ -1,384 +0,0 @@
{
"add_to_album_bottom_sheet_added": "Ajouté à {album}",
"add_to_album_bottom_sheet_already_exists": "Déjà dans {album}",
"advanced_settings_prefer_remote_subtitle": "Certains appareils sont très lents à charger des vignettes à partir de ressources présentes sur l'appareil. Activez ce paramètre pour charger des images externes à la place.",
"advanced_settings_prefer_remote_title": "Préférer les images externes",
"advanced_settings_self_signed_ssl_subtitle": "Permet d'ignorer la vérification du certificat SSL pour le point d'accès du serveur. Requis pour les certificats auto-signés.",
"advanced_settings_self_signed_ssl_title": "Autoriser les certificats SSL auto-signés",
"advanced_settings_tile_subtitle": "Paramètres d'utilisateur avancés",
"advanced_settings_tile_title": "Avancé",
"advanced_settings_troubleshooting_subtitle": "Activer des fonctions supplémentaires pour le dépannage",
"advanced_settings_troubleshooting_title": "Dépannage",
"album_info_card_backup_album_excluded": "EXCLUS",
"album_info_card_backup_album_included": "INCLUS",
"album_thumbnail_card_item": "1 élément",
"album_thumbnail_card_items": "{} éléments",
"album_thumbnail_card_shared": " · Partagé",
"album_thumbnail_owned": "Possédé",
"album_thumbnail_shared_by": "Partagé par {}",
"album_viewer_appbar_share_delete": "Supprimer l'album",
"album_viewer_appbar_share_err_delete": "Échec de la suppression de l'album",
"album_viewer_appbar_share_err_leave": "Impossible de quitter l'album",
"album_viewer_appbar_share_err_remove": "Il y a des problèmes lors de la suppression des éléments de l'album",
"album_viewer_appbar_share_err_title": "Échec de la modification du titre de l'album",
"album_viewer_appbar_share_leave": "Quitter l'album",
"album_viewer_appbar_share_remove": "Retirer de l'album",
"album_viewer_appbar_share_to": "Partager à",
"album_viewer_page_share_add_users": "Ajouter des utilisateurs",
"all_people_page_title": "Personnes",
"all_videos_page_title": "Vidéos",
"app_bar_signout_dialog_content": "Êtes-vous sûr de vouloir vous déconnecter?",
"app_bar_signout_dialog_ok": "Oui",
"app_bar_signout_dialog_title": "Se déconnecter",
"archive_page_no_archived_assets": "Aucun élément archivé n'a été trouvé",
"archive_page_title": "Archive ({})",
"asset_list_layout_settings_dynamic_layout_title": "Affichage dynamique",
"asset_list_layout_settings_group_automatically": "Automatique",
"asset_list_layout_settings_group_by": "Grouper les éléments par",
"asset_list_layout_settings_group_by_month": "Mois",
"asset_list_layout_settings_group_by_month_day": "Mois + jour",
"asset_list_settings_subtitle": "Paramètres de disposition de la grille de photos",
"asset_list_settings_title": "Grille de photos",
"backup_album_selection_page_albums_device": "Albums sur l'appareil ({})",
"backup_album_selection_page_albums_tap": "Tapez pour inclure, tapez deux fois pour exclure",
"backup_album_selection_page_assets_scatter": "Les éléments peuvent être répartis sur plusieurs albums. De ce fait, les albums peuvent être inclus ou exclus pendant le processus de sauvegarde.",
"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_all": "Tout",
"backup_background_service_backup_failed_message": "Échec de la sauvegarde des éléments. Nouvelle tentative...",
"backup_background_service_connection_failed_message": "Impossible de se connecter au serveur. Nouvelle tentative...",
"backup_background_service_current_upload_notification": "Transfert {}",
"backup_background_service_default_notification": "Recherche de nouveaux éléments...",
"backup_background_service_error_title": "Erreur de sauvegarde",
"backup_background_service_in_progress_notification": "Sauvegarde de vos éléments...",
"backup_background_service_upload_failure_notification": "Impossible de transférer {}",
"backup_controller_page_albums": "Sauvegarder les albums",
"backup_controller_page_background_app_refresh_disabled_content": "Activez le rafraîchissement de l'application en arrière-plan dans Paramètres > Général > Rafraîchissement de l'application en arrière-plan afin d'utiliser la sauvegarde en arrière-plan.",
"backup_controller_page_background_app_refresh_disabled_title": "Rafraîchissement de l'application en arrière-plan désactivé",
"backup_controller_page_background_app_refresh_enable_button_text": "Aller aux paramètres",
"backup_controller_page_background_battery_info_link": "Montrez-moi comment",
"backup_controller_page_background_battery_info_message": "Pour une expérience optimale de la sauvegarde en arrière-plan, veuillez désactiver toute optimisation de la batterie limitant l'activité en arrière-plan pour Immich.\n\nÉtant donné que cela est spécifique à chaque appareil, veuillez consulter les informations requises pour le fabricant de votre appareil.",
"backup_controller_page_background_battery_info_ok": "OK",
"backup_controller_page_background_battery_info_title": "Optimisation de la batterie",
"backup_controller_page_background_charging": "Seulement pendant la charge",
"backup_controller_page_background_configure_error": "Échec de la configuration du service d'arrière-plan",
"backup_controller_page_background_delay": "Retarder la sauvegarde des nouveaux éléments d'actif: {}",
"backup_controller_page_background_description": "Activez le service d'arrière-plan pour sauvegarder automatiquement tous les nouveaux éléments sans avoir à ouvrir l'application.",
"backup_controller_page_background_is_off": "La sauvegarde automatique en arrière-plan est désactivée",
"backup_controller_page_background_is_on": "La sauvegarde automatique en arrière-plan est activée",
"backup_controller_page_background_turn_off": "Désactiver le service d'arrière-plan",
"backup_controller_page_background_turn_on": "Activer le service d'arrière-plan",
"backup_controller_page_background_wifi": "Uniquement sur WiFi",
"backup_controller_page_backup": "Sauvegardé",
"backup_controller_page_backup_selected": "Sélectionné: ",
"backup_controller_page_backup_sub": "Photos et vidéos sauvegardées",
"backup_controller_page_cancel": "Annuler",
"backup_controller_page_created": "Créé le: {}",
"backup_controller_page_desc_backup": "Activez la sauvegarde pour envoyer automatiquement les nouveaux éléments sur le serveur.",
"backup_controller_page_excluded": "Exclus: ",
"backup_controller_page_failed": "Échec de l'opération ({})",
"backup_controller_page_filename": "Nom du fichier: {} [{}]",
"backup_controller_page_id": "ID: {}",
"backup_controller_page_info": "Informations de sauvegarde",
"backup_controller_page_none_selected": "Aucune sélection",
"backup_controller_page_remainder": "Restant",
"backup_controller_page_remainder_sub": "Photos et albums restants à sauvegarder à partir de la sélection",
"backup_controller_page_select": "Sélectionner",
"backup_controller_page_server_storage": "Stockage du serveur",
"backup_controller_page_start_backup": "Démarrer la sauvegarde",
"backup_controller_page_status_off": "La sauvegarde est désactivée",
"backup_controller_page_status_on": "La sauvegarde est activée",
"backup_controller_page_storage_format": "{} de {} utilisé",
"backup_controller_page_to_backup": "Albums à sauvegarder",
"backup_controller_page_total": "Total",
"backup_controller_page_total_sub": "Toutes les photos et vidéos uniques des albums sélectionnés",
"backup_controller_page_turn_off": "Désactiver la sauvegarde",
"backup_controller_page_turn_on": "Activer la sauvegarde",
"backup_controller_page_uploading_file_info": "Transfert des informations du fichier",
"backup_err_only_album": "Impossible de retirer le seul album",
"backup_info_card_assets": "éléments",
"backup_manual_cancelled": "Annulé",
"backup_manual_failed": "Echec",
"backup_manual_in_progress": "Téléchargement déjà en cours. Essayez après un instant",
"backup_manual_success": "Succès ",
"backup_manual_title": "Statut du téléchargement ",
"cache_settings_album_thumbnails": "vignettes de la page bibliothèque ({} éléments)",
"cache_settings_clear_cache_button": "Effacer le cache",
"cache_settings_clear_cache_button_title": "Efface le cache de l'application. Cela aura un impact significatif sur les performances de l'application jusqu'à ce que le cache soit reconstruit.",
"cache_settings_image_cache_size": "Taille du cache des images ({} éléments)",
"cache_settings_statistics_album": "vignettes de la bibliothèque",
"cache_settings_statistics_assets": "{} éléments ({})",
"cache_settings_statistics_full": "Images complètes",
"cache_settings_statistics_shared": "vignettes d'albums partagés",
"cache_settings_statistics_thumbnail": "vignettes",
"cache_settings_statistics_title": "Utilisation du cache",
"cache_settings_subtitle": "Contrôler le comportement de mise en cache de l'application mobile Immich",
"cache_settings_thumbnail_size": "Taille du cache des vignettes ({} éléments)",
"cache_settings_tile_subtitle": "Contrôler le comportement du stockage local",
"cache_settings_tile_title": "Stockage local",
"cache_settings_title": "Paramètres de mise en cache",
"change_password_form_confirm_password": "Confirmez le mot de passe",
"change_password_form_description": "Bonjour {firstName} {lastName},\n\nC'est la première fois que vous vous connectez au système ou vous avez demandé de changer votre mot de passe. Veuillez saisir le nouveau mot de passe ci-dessous.",
"change_password_form_new_password": "Nouveau mot de passe",
"change_password_form_password_mismatch": "Les mots de passe ne correspondent pas",
"change_password_form_reenter_new_password": "Saisissez à nouveau le nouveau mot de passe",
"common_add_to_album": "Ajouter à l'album",
"common_change_password": "Modifier le mot de passe",
"common_create_new_album": "Créer un nouvel album",
"common_server_error": "Veuillez vérifier votre connexion réseau, vous assurer que le serveur est accessible et que les versions de l'application et du serveur sont compatibles.",
"common_shared": "Partagé",
"control_bottom_app_bar_add_to_album": "Ajouter à l'album",
"control_bottom_app_bar_album_info": "{} éléments",
"control_bottom_app_bar_album_info_shared": "{} éléments - Partagés",
"control_bottom_app_bar_archive": "Archive",
"control_bottom_app_bar_create_new_album": "Créer un nouvel album",
"control_bottom_app_bar_delete": "Supprimer",
"control_bottom_app_bar_favorite": "Favoris",
"control_bottom_app_bar_share": "Partager",
"control_bottom_app_bar_share_to": "Partager à",
"control_bottom_app_bar_stack": "Empiler",
"control_bottom_app_bar_unarchive": "Désarchiver",
"control_bottom_app_bar_upload": "Téléverser",
"create_album_page_untitled": "Sans titre",
"create_shared_album_page_create": "Créer",
"create_shared_album_page_share": "Partager",
"create_shared_album_page_share_add_assets": "AJOUTER DES ÉLÉMENTS",
"create_shared_album_page_share_select_photos": "Sélectionner les photos",
"curated_location_page_title": "Places",
"curated_object_page_title": "Objets",
"daily_title_text_date": "E, dd MMM",
"daily_title_text_date_year": "E, dd MMM, yyyy",
"date_format": "E, LLL d, y • h:mm a",
"delete_dialog_alert": "Ces éléments seront définitivement supprimés de Immich et de votre appareil.",
"delete_dialog_cancel": "Annuler",
"delete_dialog_ok": "Supprimer",
"delete_dialog_title": "Supprimer définitivement",
"delete_shared_link_dialog_content": "Êtes-vous sûr de vouloir supprimer ce lien partagé?",
"delete_shared_link_dialog_title": "Supprimer le lien partagé",
"description_input_hint_text": "Ajouter une description...",
"description_input_submit_error": "Erreur de mise à jour de la description, vérifier le journal pour plus de détails",
"exif_bottom_sheet_description": "Ajouter une description...",
"exif_bottom_sheet_details": "DÉTAILS",
"exif_bottom_sheet_location": "LOCALISATION",
"experimental_settings_new_asset_list_subtitle": "En cours de développement",
"experimental_settings_new_asset_list_title": "Activer la grille de photos expérimentale",
"experimental_settings_subtitle": "Utilisez à vos dépends!",
"experimental_settings_title": "Expérimental",
"favorites_page_no_favorites": "Aucun élément favori n'a été trouvé",
"favorites_page_title": "Favoris",
"home_page_add_to_album_conflicts": "{added} éléments ajoutés à l'album {album}. Les éléments {failed} sont déjà dans l'album.",
"home_page_add_to_album_err_local": "Impossible d'ajouter des éléments locaux aux albums pour le moment, étape ignorée",
"home_page_add_to_album_success": "{added} éléments ajoutés à l'album {album}.",
"home_page_archive_err_local": "Impossible d'archiver les ressources locales pour l'instant, étape ignorée",
"home_page_building_timeline": "Construction de la chronologie",
"home_page_favorite_err_local": "Impossible d'ajouter des éléments locaux aux favoris pour le moment, étape ignorée",
"home_page_first_time_notice": "Si c'est la première fois que vous utilisez l'application, veillez à choisir un ou plusieurs albums de sauvegarde afin que la chronologie puisse alimenter les photos et les vidéos de cet ou ces albums.",
"home_page_upload_err_limit": "Limite de téléchargement de 30 éléments en même temps, demande ignorée",
"image_viewer_page_state_provider_download_error": "Erreur de téléchargement",
"image_viewer_page_state_provider_download_success": "Téléchargement réussi",
"image_viewer_page_state_provider_share_error": "Erreur de partage",
"library_page_albums": "Albums",
"library_page_archive": "Archive",
"library_page_device_albums": "Albums sur l'appareil",
"library_page_favorites": "Favoris",
"library_page_new_album": "Nouvel album",
"library_page_sharing": "Partage",
"library_page_sort_created": "Créations les plus récentes",
"library_page_sort_last_modified": "Dernière modification",
"library_page_sort_most_recent_photo": "Photo la plus récente",
"library_page_sort_title": "Titre de l'album",
"login_disabled": "La connexion a été désactivée ",
"login_form_api_exception": "Erreur de l'API. Veuillez vérifier l'URL du serveur et et réessayer.",
"login_form_button_text": "Connexion",
"login_form_email_hint": "votreemail@email.com",
"login_form_endpoint_hint": "http://adresse-ip-serveur:port/api",
"login_form_endpoint_url": "URL du point d'accès au serveur",
"login_form_err_http": "Veuillez préciser http:// ou https://",
"login_form_err_invalid_email": "E-mail invalide",
"login_form_err_invalid_url": "URL invalide",
"login_form_err_leading_whitespace": "Espace en début de ligne",
"login_form_err_trailing_whitespace": "Espace de fin de ligne",
"login_form_failed_get_oauth_server_config": "Erreur de connexion par OAuth, vérifiez l\"URL du serveur",
"login_form_failed_get_oauth_server_disable": "La fonctionnalité OAuth n'est pas disponible sur ce serveur",
"login_form_failed_login": "Erreur de connexion, vérifiez l'url du serveur, l'email et le mot de passe",
"login_form_handshake_exception": "Il y a eu une exception de liaison avec le serveur. Activez la prise en charge des certificats auto-signés dans les paramètres si vous utilisez un certificat auto-signé.",
"login_form_label_email": "E-mail",
"login_form_label_password": "Mot de passe",
"login_form_next_button": "Suivant",
"login_form_password_hint": "mot de passe",
"login_form_save_login": "Rester connecté",
"login_form_server_empty": "Saisissez l'URL du serveur.",
"login_form_server_error": "Impossible de se connecter au serveur.",
"login_password_changed_error": "Une erreur s'est produite lors de la mise à jour de votre mot de passe",
"login_password_changed_success": "Mot de passe mis à jour avec succès",
"map_cannot_get_user_location": "Impossible d'obtenir la localisation de l'utilisateur",
"map_location_dialog_cancel": "Annuler",
"map_location_dialog_yes": "Oui",
"map_location_service_disabled_content": "Le service de localisation doit être activé pour afficher les éléments de votre emplacement actuel. Souhaitez-vous l'activer maintenant?",
"map_location_service_disabled_title": "Service de localisation désactivé",
"map_no_assets_in_bounds": "Pas de photos dans cette zone",
"map_no_location_permission_content": "L'autorisation de localisation est nécessaire pour afficher les éléments de votre emplacement actuel. Souhaitez-vous l'autoriser maintenant?",
"map_no_location_permission_title": "Permission de localisation refusée",
"map_settings_dark_mode": "Mode sombre",
"map_settings_dialog_cancel": "Annuler",
"map_settings_dialog_save": "Sauvegarder",
"map_settings_dialog_title": "Paramètres de la carte",
"map_settings_include_show_archived": "Inclure les archives",
"map_settings_only_relative_range": "Plage de dates",
"map_settings_only_show_favorites": "Afficher uniquement les favoris",
"map_zoom_to_see_photos": "Dézoomer pour voir les photos",
"monthly_title_text_date_format": "MMMM y",
"motion_photos_page_title": "Photos avec mouvement",
"notification_permission_dialog_cancel": "Annuler",
"notification_permission_dialog_content": "Pour activer les notifications, allez dans Paramètres et sélectionnez Autoriser.",
"notification_permission_dialog_settings": "Paramètres",
"notification_permission_list_tile_content": "Accordez la permission d'activer les notifications.",
"notification_permission_list_tile_enable_button": "Activer les notifications",
"notification_permission_list_tile_title": "Permission de notification",
"partner_page_add_partner": "Ajouter un partenaire",
"partner_page_empty_message": "Vos photos ne sont pas encore partagées avec un partenaire.",
"partner_page_no_more_users": "Plus d'utilisateurs à ajouter",
"partner_page_partner_add_failed": "Échec de l'ajout d'un partenaire",
"partner_page_select_partner": "Sélectionner un partenaire",
"partner_page_shared_to_title": "Partagé avec",
"partner_page_stop_sharing_content": "{} ne pourra plus accéder à vos photos.",
"partner_page_stop_sharing_title": "Arrêter de partager vos photos?",
"partner_page_title": "Partenaire",
"permission_onboarding_continue_anyway": "Continuer quand même",
"permission_onboarding_get_started": "Commencer",
"permission_onboarding_go_to_settings": "Accéder aux paramètres",
"permission_onboarding_grant_permission": "Accorder l'autorisation",
"permission_onboarding_log_out": "Se déconnecter",
"permission_onboarding_permission_denied": "Permission refusée. Pour utiliser Immich, accordez lautorisation pour les photos et vidéos dans les Paramètres.",
"permission_onboarding_permission_granted": "Permission accordée! Vous êtes prêts.",
"permission_onboarding_permission_limited": "Permission limitée. Pour permettre à Immich de sauvegarder et de gérer l'ensemble de votre bibliothèque, accordez l'autorisation pour les photos et vidéos dans les Paramètres.",
"permission_onboarding_request": "Immich demande l'autorisation de visionner vos photos et vidéo",
"profile_drawer_app_logs": "Journaux",
"profile_drawer_client_server_up_to_date": "Le client et le serveur sont à jour",
"profile_drawer_documentation": "Documentation",
"profile_drawer_github": "GitHub",
"profile_drawer_settings": "Paramètres",
"profile_drawer_sign_out": "Se déconnecter",
"profile_drawer_trash": "Corbeille",
"recently_added_page_title": "Récemment ajouté",
"search_bar_hint": "Rechercher vos photos",
"search_page_categories": "Catégories",
"search_page_favorites": "Favoris",
"search_page_motion_photos": "Photos avec mouvement",
"search_page_no_objects": "Aucune information disponible sur les objets",
"search_page_no_places": "Aucune information disponible sur la localisation",
"search_page_people": "Personnes",
"search_page_places": "Lieux",
"search_page_recently_added": "Récemment ajouté",
"search_page_screenshots": "Captures d'écran",
"search_page_selfies": "Selfies",
"search_page_things": "Objets",
"search_page_videos": "Vidéos",
"search_page_view_all_button": "Voir tout",
"search_page_your_activity": "Votre activité",
"search_result_page_new_search_hint": "Nouvelle recherche",
"search_suggestion_list_smart_search_hint_1": "La recherche intelligente est activée par défaut. Pour rechercher des métadonnées, utilisez la syntaxe suivante",
"search_suggestion_list_smart_search_hint_2": "m:votre-terme-de-recherche",
"select_additional_user_for_sharing_page_suggestions": "Suggestions",
"select_user_for_sharing_page_err_album": "Échec de la création de l'album",
"select_user_for_sharing_page_share_suggestions": "Suggestions",
"server_info_box_app_version": "Version de l'application",
"server_info_box_server_url": "URL du serveur",
"server_info_box_server_version": "Version du serveur",
"setting_image_viewer_help": "Le visualiseur de détails charge d'abord la petite vignette, puis l'aperçu de taille moyenne (s'il est activé), enfin l'original (s'il est activé).",
"setting_image_viewer_original_subtitle": "Activez cette option pour charger l'image en résolution originale (volumineux!). Désactiver pour réduire l'utilisation des données (réseau et cache de l'appareil).",
"setting_image_viewer_original_title": "Charger l'image originale",
"setting_image_viewer_preview_subtitle": "Activer pour charger une image de résolution moyenne. Désactiver pour charger directement l'original ou utiliser uniquement la vignette.",
"setting_image_viewer_preview_title": "Charger l'image d'aperçu",
"setting_notifications_notify_failures_grace_period": "Notifier les échecs de la sauvegarde en arrière-plan: {}",
"setting_notifications_notify_hours": "{} heures",
"setting_notifications_notify_immediately": "immédiatement",
"setting_notifications_notify_minutes": "{} minutes",
"setting_notifications_notify_never": "jamais",
"setting_notifications_notify_seconds": "{} secondes",
"setting_notifications_single_progress_subtitle": "Informations détaillées sur la progression du transfert par élément",
"setting_notifications_single_progress_title": "Afficher la progression du détail de la sauvegarde en arrière-plan",
"setting_notifications_subtitle": "Ajustez vos préférences de notification",
"setting_notifications_title": "Notifications",
"setting_notifications_total_progress_subtitle": "Progression globale du transfert (effectué/total des éléments)",
"setting_notifications_total_progress_title": "Afficher la progression totale de la sauvegarde en arrière-plan",
"setting_pages_app_bar_settings": "Paramètres",
"settings_require_restart": "Veuillez redémarrer Immich pour appliquer ce paramètre",
"share_add": "Ajouter",
"share_add_photos": "Ajouter des photos",
"share_add_title": "Ajouter un titre",
"share_create_album": "Créer un album",
"shared_album_activities_input_disable": "Les commentaires sont désactivés",
"shared_album_activities_input_hint": "Dire quelque chose",
"shared_album_activity_remove_content": "Souhaitez-vous supprimer cette activité?",
"shared_album_activity_remove_title": "Supprimer l'activité",
"shared_album_activity_setting_subtitle": "Laisser les autres réagir",
"shared_album_activity_setting_title": "Commentaires et likes",
"share_dialog_preparing": "Préparation...",
"shared_link_app_bar_title": "Liens partagés",
"shared_link_create_app_bar_title": "Créer un lien pour partager",
"shared_link_create_info": "Permettre à toute personne ayant le lien de voir la ou les photos sélectionnées",
"shared_link_create_submit_button": "Créer le lien",
"shared_link_edit_allow_download": "Autoriser les utilisateurs publics à télécharger",
"shared_link_edit_allow_upload": "Autoriser les utilisateurs publics à téléverser",
"shared_link_edit_app_bar_title": "Modifier le lien",
"shared_link_edit_change_expiry": "Modifier le délai d'expiration",
"shared_link_edit_description": "Description",
"shared_link_edit_description_hint": "Saisir la description du partage",
"shared_link_edit_expire_after": "Expire après",
"shared_link_edit_password": "Mot de passe",
"shared_link_edit_password_hint": "Saisir le mot de passe de partage",
"shared_link_edit_show_meta": "Afficher les métadonnées",
"shared_link_edit_submit_button": "Mettre à jour le lien",
"shared_link_empty": "Vous n'avez pas de liens partagés",
"shared_link_manage_links": "Gérer les liens partagés",
"share_done": "Fait",
"share_invite": "Inviter à l'album",
"sharing_page_album": "Albums partagés",
"sharing_page_description": "Créez des albums partagés pour partager des photos et des vidéos avec les personnes de votre réseau.",
"sharing_page_empty_list": "LISTE VIDE",
"sharing_silver_appbar_create_shared_album": "Créer un album partagé",
"sharing_silver_appbar_shared_links": "Liens partagés",
"sharing_silver_appbar_share_partner": "Partager avec un partenaire",
"tab_controller_nav_library": "Bibliothèque",
"tab_controller_nav_photos": "Photos",
"tab_controller_nav_search": "Recherche",
"tab_controller_nav_sharing": "Partage",
"theme_setting_asset_list_storage_indicator_title": "Afficher l'indicateur de stockage sur les tuiles des éléments",
"theme_setting_asset_list_tiles_per_row_title": "Nombre d'éléments par ligne ({})",
"theme_setting_dark_mode_switch": "Mode sombre",
"theme_setting_image_viewer_quality_subtitle": "Ajustez la qualité de la visionneuse d'images détaillées",
"theme_setting_image_viewer_quality_title": "Qualité de la visualisation des images",
"theme_setting_system_theme_switch": "Automatique (suivre les paramètres du système)",
"theme_setting_theme_subtitle": "Choisissez le thème de l'application",
"theme_setting_theme_title": "Thème",
"theme_setting_three_stage_loading_subtitle": "Le chargement en trois étapes peut améliorer les performances de chargement, mais entraîne une augmentation significative de la charge du réseau.",
"theme_setting_three_stage_loading_title": "Activer le chargement en trois étapes",
"translated_text_options": "Options",
"trash_page_delete": "Supprimer",
"trash_page_delete_all": "Tout supprimer",
"trash_page_empty_trash_btn": "Vider la corbeille",
"trash_page_empty_trash_dialog_content": "Voulez-vous vider les éléments de la corbeille? Ces objets seront définitivement retirés d'Immich",
"trash_page_empty_trash_dialog_ok": "Ok",
"trash_page_info": "Les éléments mis à la corbeille seront définitivement supprimés au bout de {} jours.",
"trash_page_no_assets": "Pas d'éléments dans la corbeille",
"trash_page_restore": "Restaurer",
"trash_page_restore_all": "Tout restaurer",
"trash_page_select_assets_btn": "Sélectionner les éléments",
"trash_page_select_btn": "Sélectionner",
"trash_page_title": "Corbeille ({})",
"upload_dialog_cancel": "Annuler",
"upload_dialog_info": "Voulez-vous sauvegarder la sélection vers le serveur?",
"upload_dialog_ok": "Télécharger ",
"upload_dialog_title": "Télécharger cet élément ",
"version_announcement_overlay_ack": "Confirmer",
"version_announcement_overlay_release_notes": "notes de mise à jour",
"version_announcement_overlay_text_1": "Bonjour, une nouvelle version de",
"version_announcement_overlay_text_2": "veuillez prendre le temps de visiter le ",
"version_announcement_overlay_text_3": " et assurez-vous que votre configuration docker-compose et .env est à jour pour éviter toute erreur de configuration, en particulier si vous utilisez WatchTower ou tout autre mécanisme qui gère la mise à jour automatique de votre application serveur.",
"version_announcement_overlay_title": "Nouvelle version serveur disponible \uD83C\uDF89",
"viewer_remove_from_stack": "Retirer de la pile",
"viewer_stack_use_as_main_asset": "Utiliser comme élément principal",
"viewer_unstack": "Désempiler"
}

View File

@@ -23,13 +23,9 @@
"album_viewer_appbar_share_err_title": "Échec de la modification du titre de l'album",
"album_viewer_appbar_share_leave": "Quitter l'album",
"album_viewer_appbar_share_remove": "Retirer de l'album",
"album_viewer_appbar_share_to": "Partager à",
"album_viewer_page_share_add_users": "Ajouter des utilisateurs",
"all_people_page_title": "Personnes",
"all_videos_page_title": "Vidéos",
"app_bar_signout_dialog_content": "Êtes-vous sûr de vouloir vous déconnecter ?",
"app_bar_signout_dialog_ok": "Oui",
"app_bar_signout_dialog_title": "Se déconnecter",
"archive_page_no_archived_assets": "Aucun élément archivé n'a été trouvé",
"archive_page_title": "Archive ({})",
"asset_list_layout_settings_dynamic_layout_title": "Affichage dynamique",
@@ -115,8 +111,6 @@
"cache_settings_statistics_title": "Utilisation du cache",
"cache_settings_subtitle": "Contrôler le comportement de mise en cache de l'application mobile Immich",
"cache_settings_thumbnail_size": "Taille du cache des miniatures ({} éléments)",
"cache_settings_tile_subtitle": "Contrôler le comportement du stockage local",
"cache_settings_tile_title": "Stockage local",
"cache_settings_title": "Paramètres de mise en cache",
"change_password_form_confirm_password": "Confirmez le mot de passe",
"change_password_form_description": "Bonjour {firstName} {lastName},\n\nC'est la première fois que vous vous connectez au système ou vous avez demandé à changer votre mot de passe. Veuillez saisir le nouveau mot de passe ci-dessous.",
@@ -136,10 +130,10 @@
"control_bottom_app_bar_delete": "Supprimer",
"control_bottom_app_bar_favorite": "Favoris",
"control_bottom_app_bar_share": "Partager",
"control_bottom_app_bar_share_to": "Partager à",
"control_bottom_app_bar_stack": "Empiler",
"control_bottom_app_bar_share_to": "Share To",
"control_bottom_app_bar_stack": "Stack",
"control_bottom_app_bar_unarchive": "Désarchiver",
"control_bottom_app_bar_upload": "Téléverser",
"control_bottom_app_bar_upload": "Upload",
"create_album_page_untitled": "Sans titre",
"create_shared_album_page_create": "Créer",
"create_shared_album_page_share": "Partager",
@@ -154,8 +148,8 @@
"delete_dialog_cancel": "Annuler",
"delete_dialog_ok": "Supprimer",
"delete_dialog_title": "Supprimer définitivement",
"delete_shared_link_dialog_content": "Êtes-vous sûr de vouloir supprimer ce lien partagé ?",
"delete_shared_link_dialog_title": "Supprimer le lien partagé",
"delete_shared_link_dialog_content": "Are you sure you want to delete this shared link?",
"delete_shared_link_dialog_title": "Delete Shared Link",
"description_input_hint_text": "Ajouter une description...",
"description_input_submit_error": "Erreur de mise à jour de la description, vérifier le journal pour plus de détails",
"exif_bottom_sheet_description": "Ajouter une description...",
@@ -177,7 +171,7 @@
"home_page_upload_err_limit": "Limite de téléchargement de 30 éléments en même temps, demande ignorée",
"image_viewer_page_state_provider_download_error": "Erreur de téléchargement",
"image_viewer_page_state_provider_download_success": "Téléchargement réussi",
"image_viewer_page_state_provider_share_error": "Erreur de partage",
"image_viewer_page_state_provider_share_error": "Share Error",
"library_page_albums": "Albums",
"library_page_archive": "Archive",
"library_page_device_albums": "Albums sur l'appareil",
@@ -185,8 +179,8 @@
"library_page_new_album": "Nouvel album",
"library_page_sharing": "Partage",
"library_page_sort_created": "Créations les plus récentes",
"library_page_sort_last_modified": "Dernière modification",
"library_page_sort_most_recent_photo": "Photo la plus récente",
"library_page_sort_last_modified": "Last modified",
"library_page_sort_most_recent_photo": "Most recent photo",
"library_page_sort_title": "Titre de l'album",
"login_disabled": "La connexion a été désactivée ",
"login_form_api_exception": "Erreur de l'API. Veuillez vérifier l'URL du serveur et et réessayer.",
@@ -224,7 +218,7 @@
"map_settings_dialog_cancel": "Annuler",
"map_settings_dialog_save": "Sauvegarder",
"map_settings_dialog_title": "Paramètres de la carte",
"map_settings_include_show_archived": "Inclure les archives",
"map_settings_include_show_archived": "Include Archived",
"map_settings_only_relative_range": "Plage de dates",
"map_settings_only_show_favorites": "Afficher uniquement les favoris",
"map_zoom_to_see_photos": "Dézoomer pour voir les photos",
@@ -256,11 +250,9 @@
"permission_onboarding_request": "Immich demande l'autorisation de visionner vos photos et vidéo",
"profile_drawer_app_logs": "Journaux",
"profile_drawer_client_server_up_to_date": "Le client et le serveur sont à jour",
"profile_drawer_documentation": "Documentation",
"profile_drawer_github": "GitHub",
"profile_drawer_settings": "Paramètres",
"profile_drawer_sign_out": "Se déconnecter",
"profile_drawer_trash": "Corbeille",
"profile_drawer_trash": "Trash",
"recently_added_page_title": "Récemment ajouté",
"search_bar_hint": "Rechercher vos photos",
"search_page_categories": "Catégories",
@@ -284,7 +276,6 @@
"select_user_for_sharing_page_err_album": "Échec de la création de l'album",
"select_user_for_sharing_page_share_suggestions": "Suggestions",
"server_info_box_app_version": "Version de l'application",
"server_info_box_server_url": "URL du serveur",
"server_info_box_server_version": "Version du serveur",
"setting_image_viewer_help": "Le visualiseur de détails charge d'abord la petite miniature, puis l'aperçu de taille moyenne (s'il est activé), enfin l'original (s'il est activé).",
"setting_image_viewer_original_subtitle": "Activez cette option pour charger l'image en résolution originale (volumineux !). Désactiver pour réduire l'utilisation des données (réseau et cache de l'appareil).",
@@ -309,37 +300,28 @@
"share_add_photos": "Ajouter des photos",
"share_add_title": "Ajouter un titre",
"share_create_album": "Créer un album",
"shared_album_activities_input_disable": "Les commentaires sont désactivés",
"shared_album_activities_input_hint": "Dire quelque chose",
"shared_album_activity_remove_content": "Souhaitez-vous supprimer cette activité ?",
"shared_album_activity_remove_title": "Supprimer l'activité",
"shared_album_activity_setting_subtitle": "Laisser les autres réagir",
"shared_album_activity_setting_title": "Commentaires et likes",
"share_dialog_preparing": "Préparation...",
"shared_link_app_bar_title": "Liens partagés",
"shared_link_create_app_bar_title": "Créer un lien pour partager",
"shared_link_create_info": "Permettre à toute personne ayant le lien de voir la ou les photos sélectionnées",
"shared_link_create_submit_button": "Créer le lien",
"shared_link_edit_allow_download": "Autoriser les utilisateurs publics à télécharger",
"shared_link_edit_allow_upload": "Autoriser les utilisateurs publics à téléverser",
"shared_link_edit_app_bar_title": "Modifier le lien",
"shared_link_edit_change_expiry": "Modifier le délai d'expiration",
"shared_link_app_bar_title": "Shared Links",
"shared_link_create_app_bar_title": "Create link to share",
"shared_link_create_info": "Let anyone with the link see the selected photo(s)",
"shared_link_create_submit_button": "Create link",
"shared_link_edit_allow_download": "Allow public user to download",
"shared_link_edit_allow_upload": "Allow public user to upload",
"shared_link_edit_app_bar_title": "Edit link",
"shared_link_edit_change_expiry": "Change expiration time",
"shared_link_edit_description": "Description",
"shared_link_edit_description_hint": "Saisir la description du partage",
"shared_link_edit_expire_after": "Expire après",
"shared_link_edit_password": "Mot de passe",
"shared_link_edit_password_hint": "Saisir le mot de passe de partage",
"shared_link_edit_show_meta": "Afficher les métadonnées",
"shared_link_edit_submit_button": "Mettre à jour le lien",
"shared_link_empty": "Vous n'avez pas de liens partagés",
"shared_link_manage_links": "Gérer les liens partagés",
"share_done": "Fait",
"shared_link_edit_description_hint": "Enter the share description",
"shared_link_edit_show_meta": "Show metadata",
"shared_link_edit_submit_button": "Update link",
"shared_link_empty": "You don't have any shared links",
"shared_link_manage_links": "Manage Shared links",
"share_done": "Done",
"share_invite": "Inviter à l'album",
"sharing_page_album": "Albums partagés",
"sharing_page_description": "Créez des albums partagés pour partager des photos et des vidéos avec les personnes de votre réseau.",
"sharing_page_empty_list": "LISTE VIDE",
"sharing_silver_appbar_create_shared_album": "Créer un album partagé",
"sharing_silver_appbar_shared_links": "Liens partagés",
"sharing_silver_appbar_shared_links": "Shared links",
"sharing_silver_appbar_share_partner": "Partager avec un partenaire",
"tab_controller_nav_library": "Bibliothèque",
"tab_controller_nav_photos": "Photos",
@@ -356,18 +338,18 @@
"theme_setting_three_stage_loading_subtitle": "Le chargement en trois étapes peut améliorer les performances de chargement, mais entraîne une augmentation significative de la charge du réseau.",
"theme_setting_three_stage_loading_title": "Activer le chargement en trois étapes",
"translated_text_options": "Options",
"trash_page_delete": "Supprimer",
"trash_page_delete_all": "Tout supprimer",
"trash_page_empty_trash_btn": "Vider la corbeille",
"trash_page_empty_trash_dialog_content": "Voulez-vous vider les éléments de la corbeille? Ces objets seront définitivement retirés d'Immich",
"trash_page_delete": "Delete",
"trash_page_delete_all": "Delete All",
"trash_page_empty_trash_btn": "Empty trash",
"trash_page_empty_trash_dialog_content": "Do you want to empty your trashed assets? These items will be permanently removed from Immich",
"trash_page_empty_trash_dialog_ok": "Ok",
"trash_page_info": "Les éléments mis à la corbeille seront définitivement supprimés au bout de {} jours.",
"trash_page_no_assets": "Pas d'éléments dans la corbeille",
"trash_page_restore": "Restaurer",
"trash_page_restore_all": "Tout restaurer",
"trash_page_select_assets_btn": "Sélectionner les éléments",
"trash_page_select_btn": "Sélectionner",
"trash_page_title": "Corbeille ({})",
"trash_page_info": "Trashed items will be permanently deleted after {} days",
"trash_page_no_assets": "No trashed assets",
"trash_page_restore": "Restore",
"trash_page_restore_all": "Restore All",
"trash_page_select_assets_btn": "Select assets",
"trash_page_select_btn": "Select",
"trash_page_title": "Trash ({})",
"upload_dialog_cancel": "Annuler",
"upload_dialog_info": "Voulez-vous sauvegarder la sélection vers le serveur ?",
"upload_dialog_ok": "Télécharger ",
@@ -378,7 +360,7 @@
"version_announcement_overlay_text_2": "veuillez prendre le temps de visiter le ",
"version_announcement_overlay_text_3": " et assurez-vous que votre configuration docker-compose et .env est à jour pour éviter toute erreur de configuration, en particulier si vous utilisez WatchTower ou tout autre mécanisme qui gère la mise à jour automatique de votre application serveur.",
"version_announcement_overlay_title": "Nouvelle version serveur disponible \uD83C\uDF89",
"viewer_remove_from_stack": "Retirer de la pile",
"viewer_stack_use_as_main_asset": "Utiliser comme élément principal",
"viewer_unstack": "Désempiler"
"viewer_remove_from_stack": "Remove from Stack",
"viewer_stack_use_as_main_asset": "Use as Main Asset",
"viewer_unstack": "Un-Stack"
}

View File

@@ -23,13 +23,9 @@
"album_viewer_appbar_share_err_title": "Failed to change album title",
"album_viewer_appbar_share_leave": "Leave album",
"album_viewer_appbar_share_remove": "Remove from album",
"album_viewer_appbar_share_to": "Share To",
"album_viewer_page_share_add_users": "Add users",
"all_people_page_title": "People",
"all_videos_page_title": "Videos",
"app_bar_signout_dialog_content": "Are you sure you wanna sign out?",
"app_bar_signout_dialog_ok": "Yes",
"app_bar_signout_dialog_title": "Sign out",
"archive_page_no_archived_assets": "No archived assets found",
"archive_page_title": "Archive ({})",
"asset_list_layout_settings_dynamic_layout_title": "Dynamic layout",
@@ -115,8 +111,6 @@
"cache_settings_statistics_title": "Cache usage",
"cache_settings_subtitle": "Control the caching behaviour of the Immich mobile application",
"cache_settings_thumbnail_size": "Thumbnail cache size ({} assets)",
"cache_settings_tile_subtitle": "Control the local storage behaviour",
"cache_settings_tile_title": "Local Storage",
"cache_settings_title": "Caching Settings",
"change_password_form_confirm_password": "Confirm Password",
"change_password_form_description": "Hi {firstName} {lastName},\n\nThis is either the first time you are signing into the system or a request has been made to change your password. Please enter the new password below.",
@@ -256,8 +250,6 @@
"permission_onboarding_request": "Immich requires permission to view your photos and videos.",
"profile_drawer_app_logs": "Logs",
"profile_drawer_client_server_up_to_date": "Client and Server are up-to-date",
"profile_drawer_documentation": "Documentation",
"profile_drawer_github": "GitHub",
"profile_drawer_settings": "Settings",
"profile_drawer_sign_out": "Sign Out",
"profile_drawer_trash": "Trash",
@@ -284,7 +276,6 @@
"select_user_for_sharing_page_err_album": "Failed to create album",
"select_user_for_sharing_page_share_suggestions": "Suggestions",
"server_info_box_app_version": "App Version",
"server_info_box_server_url": "Server URL",
"server_info_box_server_version": "Server Version",
"setting_image_viewer_help": "The detail viewer loads the small thumbnail first, then loads the medium-size preview (if enabled), finally loads the original (if enabled).",
"setting_image_viewer_original_subtitle": "Enable to load the original full-resolution image (large!). Disable to reduce data usage (both network and on device cache).",
@@ -309,12 +300,6 @@
"share_add_photos": "Add photos",
"share_add_title": "Add a title",
"share_create_album": "Create album",
"shared_album_activities_input_disable": "Comment is disabled",
"shared_album_activities_input_hint": "Say something",
"shared_album_activity_remove_content": "Do you want to delete this activity?",
"shared_album_activity_remove_title": "Delete Activity",
"shared_album_activity_setting_subtitle": "Let others respond",
"shared_album_activity_setting_title": "Comments & likes",
"share_dialog_preparing": "Preparing...",
"shared_link_app_bar_title": "Shared Links",
"shared_link_create_app_bar_title": "Create link to share",
@@ -326,9 +311,6 @@
"shared_link_edit_change_expiry": "Change expiration time",
"shared_link_edit_description": "Description",
"shared_link_edit_description_hint": "Enter the share description",
"shared_link_edit_expire_after": "Expire after",
"shared_link_edit_password": "Password",
"shared_link_edit_password_hint": "Enter the share password",
"shared_link_edit_show_meta": "Show metadata",
"shared_link_edit_submit_button": "Update link",
"shared_link_empty": "You don't have any shared links",

View File

@@ -23,13 +23,9 @@
"album_viewer_appbar_share_err_title": "Hiba az album átnevezése közben",
"album_viewer_appbar_share_leave": "Kilépés az albumból",
"album_viewer_appbar_share_remove": "Törlés az albumból",
"album_viewer_appbar_share_to": "Share To",
"album_viewer_page_share_add_users": "Felhasználók hozzáadása",
"all_people_page_title": "Emberek",
"all_videos_page_title": "Videók",
"app_bar_signout_dialog_content": "Are you sure you wanna sign out?",
"app_bar_signout_dialog_ok": "Yes",
"app_bar_signout_dialog_title": "Sign out",
"archive_page_no_archived_assets": "Nem található archivált média",
"archive_page_title": "Archívum ({})",
"asset_list_layout_settings_dynamic_layout_title": "Dynamic layout",
@@ -115,8 +111,6 @@
"cache_settings_statistics_title": "Gyorsítótár által használt terület",
"cache_settings_subtitle": "Control the caching behaviour of the Immich mobile application",
"cache_settings_thumbnail_size": "Thumbnail cache size ({} assets)",
"cache_settings_tile_subtitle": "Control the local storage behaviour",
"cache_settings_tile_title": "Local Storage",
"cache_settings_title": "Gyorsítótár beállítások",
"change_password_form_confirm_password": "Jelszó Megerősítése",
"change_password_form_description": "Kedves {lastName} {firstName}!\n\nMost jelentkezel be először a rendszerbe vagy más okból szükséfes a jelszavad meváltoztatása. Kérjük, add meg új jelszavad.",
@@ -256,8 +250,6 @@
"permission_onboarding_request": "Engedélyezni kell, hogy az Immich hozzáférjen a képekhez és videókhoz",
"profile_drawer_app_logs": "Naplók",
"profile_drawer_client_server_up_to_date": "Kliens és a szerver is naprakész",
"profile_drawer_documentation": "Documentation",
"profile_drawer_github": "GitHub",
"profile_drawer_settings": "Beállítások",
"profile_drawer_sign_out": "Kijelentkezés",
"profile_drawer_trash": "Trash",
@@ -284,7 +276,6 @@
"select_user_for_sharing_page_err_album": "Hiba az album létrehozása közben",
"select_user_for_sharing_page_share_suggestions": "Javaslatok",
"server_info_box_app_version": "Alkalmazás Verzió",
"server_info_box_server_url": "Server URL",
"server_info_box_server_version": "Szerver Verzió",
"setting_image_viewer_help": "The detail viewer loads the small thumbnail first, then loads the medium-size preview (if enabled), finally loads the original (if enabled).",
"setting_image_viewer_original_subtitle": "Enable to load the original full-resolution image (large!). Disable to reduce data usage (both network and on device cache).",
@@ -309,12 +300,6 @@
"share_add_photos": "Fotók hozzáadása",
"share_add_title": "Cím hozzáadása",
"share_create_album": "Album létrehozása",
"shared_album_activities_input_disable": "Comment is disabled",
"shared_album_activities_input_hint": "Say something",
"shared_album_activity_remove_content": "Do you want to delete this activity?",
"shared_album_activity_remove_title": "Delete Activity",
"shared_album_activity_setting_subtitle": "Let others respond",
"shared_album_activity_setting_title": "Comments & likes",
"share_dialog_preparing": "Előkészítés...",
"shared_link_app_bar_title": "Shared Links",
"shared_link_create_app_bar_title": "Create link to share",
@@ -326,9 +311,6 @@
"shared_link_edit_change_expiry": "Change expiration time",
"shared_link_edit_description": "Description",
"shared_link_edit_description_hint": "Enter the share description",
"shared_link_edit_expire_after": "Expire after",
"shared_link_edit_password": "Password",
"shared_link_edit_password_hint": "Enter the share password",
"shared_link_edit_show_meta": "Show metadata",
"shared_link_edit_submit_button": "Update link",
"shared_link_empty": "You don't have any shared links",

View File

@@ -23,13 +23,9 @@
"album_viewer_appbar_share_err_title": "Impossibile cambiare il titolo dell'album ",
"album_viewer_appbar_share_leave": "Lascia album",
"album_viewer_appbar_share_remove": "Rimuovere dall'album ",
"album_viewer_appbar_share_to": "Share To",
"album_viewer_page_share_add_users": "Aggiungi utenti",
"all_people_page_title": "Persone",
"all_videos_page_title": "Video",
"app_bar_signout_dialog_content": "Are you sure you wanna sign out?",
"app_bar_signout_dialog_ok": "Yes",
"app_bar_signout_dialog_title": "Sign out",
"archive_page_no_archived_assets": "Nessuna oggetto archiviato",
"archive_page_title": "Archivia ({})",
"asset_list_layout_settings_dynamic_layout_title": "Layout dinamico",
@@ -115,8 +111,6 @@
"cache_settings_statistics_title": "Uso della cache",
"cache_settings_subtitle": "Controlla il comportamento della cache dell'applicazione mobile immich",
"cache_settings_thumbnail_size": "Dimensione cache dei thumbnail ({} assets)",
"cache_settings_tile_subtitle": "Control the local storage behaviour",
"cache_settings_tile_title": "Local Storage",
"cache_settings_title": "Impostazioni della Cache",
"change_password_form_confirm_password": "Conferma Password ",
"change_password_form_description": "Ciao {firstName} {lastName},\n\nQuesto è la prima volta che accedi al sistema oppure è stato fatto una richiesta di cambiare la password. Per favore inserisca la nuova password qui sotto",
@@ -256,8 +250,6 @@
"permission_onboarding_request": "Immich richiede i permessi per vedere le tue foto e video",
"profile_drawer_app_logs": "Logs",
"profile_drawer_client_server_up_to_date": "Client e server sono aggiornati",
"profile_drawer_documentation": "Documentation",
"profile_drawer_github": "GitHub",
"profile_drawer_settings": "Impostazioni ",
"profile_drawer_sign_out": "Logout",
"profile_drawer_trash": "Trash",
@@ -284,7 +276,6 @@
"select_user_for_sharing_page_err_album": "Impossibile nel creare l'album ",
"select_user_for_sharing_page_share_suggestions": "Suggerimenti",
"server_info_box_app_version": "Versione App",
"server_info_box_server_url": "Server URL",
"server_info_box_server_version": "Versione Server",
"setting_image_viewer_help": "Il visualizzatore dettagliato carica una piccola thumbnail per prima, per poi caricare un immagine di media grandezza (se abilitato). Ed infine carica l'originale (se abilitato).",
"setting_image_viewer_original_subtitle": "Abilita per caricare l'immagine originale a risoluzione massima (grande!). Disabilita per ridurre l'utilizzo di banda (sia sul network che nella cache del dispositivo).",
@@ -309,12 +300,6 @@
"share_add_photos": "Aggiungi foto",
"share_add_title": "Aggiungi un titolo ",
"share_create_album": "Crea album",
"shared_album_activities_input_disable": "Comment is disabled",
"shared_album_activities_input_hint": "Say something",
"shared_album_activity_remove_content": "Do you want to delete this activity?",
"shared_album_activity_remove_title": "Delete Activity",
"shared_album_activity_setting_subtitle": "Let others respond",
"shared_album_activity_setting_title": "Comments & likes",
"share_dialog_preparing": "Preparo…",
"shared_link_app_bar_title": "Shared Links",
"shared_link_create_app_bar_title": "Create link to share",
@@ -326,9 +311,6 @@
"shared_link_edit_change_expiry": "Change expiration time",
"shared_link_edit_description": "Description",
"shared_link_edit_description_hint": "Enter the share description",
"shared_link_edit_expire_after": "Expire after",
"shared_link_edit_password": "Password",
"shared_link_edit_password_hint": "Enter the share password",
"shared_link_edit_show_meta": "Show metadata",
"shared_link_edit_submit_button": "Update link",
"shared_link_empty": "You don't have any shared links",

View File

@@ -23,13 +23,9 @@
"album_viewer_appbar_share_err_title": "タイトル変更の失敗",
"album_viewer_appbar_share_leave": "アルバムから脱退",
"album_viewer_appbar_share_remove": "アルバムから削除",
"album_viewer_appbar_share_to": "Share To",
"album_viewer_page_share_add_users": "ユーザーを追加",
"all_people_page_title": "People",
"all_videos_page_title": "ビデオ",
"app_bar_signout_dialog_content": " サインアウトしますか?",
"app_bar_signout_dialog_ok": "はい",
"app_bar_signout_dialog_title": " サインアウト",
"archive_page_no_archived_assets": "アーカイブ済みの写真またはビデオがありません",
"archive_page_title": "アーカイブ({})",
"asset_list_layout_settings_dynamic_layout_title": "ダイナミックレイアウト",
@@ -115,11 +111,9 @@
"cache_settings_statistics_title": "キャッシュ",
"cache_settings_subtitle": "キャッシュの動作を変更する",
"cache_settings_thumbnail_size": "サムネイルのキャッシュのサイズ ({}枚)",
"cache_settings_tile_subtitle": "Control the local storage behaviour",
"cache_settings_tile_title": "Local Storage",
"cache_settings_title": "キャッシュの設定",
"change_password_form_confirm_password": "確定",
"change_password_form_description": "{lastName} {firstName}さん こんにちは\n\nサーバーにアクセスするのが初めてか、パスワードリセットのリクエストがされました。新しいパスワードを入力してください",
"change_password_form_description": "{lastaName} {firstName}さん こんにちは\n\nサーバーにアクセスするのが初めてか、パスワードリセットのリクエストがされました。新しいパスワードを入力してください",
"change_password_form_new_password": "新しいパスワード",
"change_password_form_password_mismatch": "パスワードが一致しません",
"change_password_form_reenter_new_password": "再度パスワードを入力してください",
@@ -154,8 +148,8 @@
"delete_dialog_cancel": "キャンセル",
"delete_dialog_ok": "削除",
"delete_dialog_title": "永久的に削除",
"delete_shared_link_dialog_content": "本当にこの共有リンクを消しますか?",
"delete_shared_link_dialog_title": "共有リンクを消す",
"delete_shared_link_dialog_content": "Are you sure you want to delete this shared link?",
"delete_shared_link_dialog_title": "Delete Shared Link",
"description_input_hint_text": "説明を追加",
"description_input_submit_error": "説明の編集に失敗、詳細の確認はログで行ってください",
"exif_bottom_sheet_description": "説明を追加",
@@ -256,8 +250,6 @@
"permission_onboarding_request": "Immichは写真へのアクセス許可が必要です",
"profile_drawer_app_logs": "ログ",
"profile_drawer_client_server_up_to_date": "すべて最新です",
"profile_drawer_documentation": "Documentation",
"profile_drawer_github": "GitHub",
"profile_drawer_settings": "設定",
"profile_drawer_sign_out": "サインアウト",
"profile_drawer_trash": "Trash",
@@ -284,7 +276,6 @@
"select_user_for_sharing_page_err_album": "アルバム作成に失敗",
"select_user_for_sharing_page_share_suggestions": "ユーザ一覧",
"server_info_box_app_version": "アプリVer.",
"server_info_box_server_url": " サーバのURL",
"server_info_box_server_version": "サーバーVer.",
"setting_image_viewer_help": "写真をタップするとサムネイル・中画質(要設定)・オリジナル(要設定)の順に読み込みます",
"setting_image_viewer_original_subtitle": "オリジナルの画像を表示したい時にオンにしてください(最大画質で表示されるのでモバイルデータとストレージの消費量が増えます)。",
@@ -309,29 +300,20 @@
"share_add_photos": "写真を追加",
"share_add_title": "タイトルを追加",
"share_create_album": "アルバムを作成",
"shared_album_activities_input_disable": "Comment is disabled",
"shared_album_activities_input_hint": "Say something",
"shared_album_activity_remove_content": "Do you want to delete this activity?",
"shared_album_activity_remove_title": "Delete Activity",
"shared_album_activity_setting_subtitle": "Let others respond",
"shared_album_activity_setting_title": "Comments & likes",
"share_dialog_preparing": "準備中",
"shared_link_app_bar_title": "共有リンク",
"shared_link_create_app_bar_title": "共有リンクを作る",
"shared_link_app_bar_title": "Shared Links",
"shared_link_create_app_bar_title": "Create link to share",
"shared_link_create_info": "Let anyone with the link see the selected photo(s)",
"shared_link_create_submit_button": "リンクを作る",
"shared_link_create_submit_button": "Create link",
"shared_link_edit_allow_download": "Allow public user to download",
"shared_link_edit_allow_upload": "Allow public user to upload",
"shared_link_edit_app_bar_title": " リンクを編集する",
"shared_link_edit_app_bar_title": "Edit link",
"shared_link_edit_change_expiry": "Change expiration time",
"shared_link_edit_description": " デスクリプション ",
"shared_link_edit_description": "Description",
"shared_link_edit_description_hint": "Enter the share description",
"shared_link_edit_expire_after": "Expire after",
"shared_link_edit_password": " パスワード",
"shared_link_edit_password_hint": "共有パスワードを入力する",
"shared_link_edit_show_meta": " メタデータを見る",
"shared_link_edit_submit_button": "リンクをアップデートする",
"shared_link_empty": "共有リンクはありません ",
"shared_link_edit_show_meta": "Show metadata",
"shared_link_edit_submit_button": "Update link",
"shared_link_empty": "You don't have any shared links",
"shared_link_manage_links": "Manage Shared links",
"share_done": "Done",
"share_invite": "アルバムに招待",

View File

@@ -1,21 +1,21 @@
{
"add_to_album_bottom_sheet_added": "{album}에 추가",
"add_to_album_bottom_sheet_already_exists": "{album}에 이미 포함되어 있습니다",
"advanced_settings_prefer_remote_subtitle": "일부 디바이스에서는 디바이스에 있는 미디어의 썸네일을 로드하는 속도가 매우 느립니다. 대신 원격 이미지를 로드하려면 이 설정을 활성화하세요",
"advanced_settings_prefer_remote_title": "원격 이미지 선호",
"advanced_settings_self_signed_ssl_subtitle": "서버 엔드포인트에 대한 SSL 인증서 확인을 건너뜁니다. 자체 서명 인증서에 필요합니다",
"advanced_settings_self_signed_ssl_title": "자체 서명된 SSL 인증서 허용",
"advanced_settings_tile_subtitle": "고급 사용자 설정",
"advanced_settings_tile_title": "고급",
"advanced_settings_troubleshooting_subtitle": "문제 해결을 위한 추가 기능 사용",
"advanced_settings_troubleshooting_title": "문제 해결",
"advanced_settings_prefer_remote_subtitle": "Some devices are painfully slow to load thumbnails from assets on the device. Activate this setting to load remote images instead.",
"advanced_settings_prefer_remote_title": "Prefer remote images",
"advanced_settings_self_signed_ssl_subtitle": "Skips SSL certificate verification for the server endpoint. Required for self-signed certificates.",
"advanced_settings_self_signed_ssl_title": "Allow self-signed SSL certificates",
"advanced_settings_tile_subtitle": "Advanced user's settings",
"advanced_settings_tile_title": "Advanced",
"advanced_settings_troubleshooting_subtitle": "Enable additional features for troubleshooting",
"advanced_settings_troubleshooting_title": "Troubleshooting",
"album_info_card_backup_album_excluded": "제외됨",
"album_info_card_backup_album_included": "포함됨",
"album_thumbnail_card_item": "1개 항목",
"album_thumbnail_card_items": "{}개 항목",
"album_thumbnail_card_shared": " · 공유",
"album_thumbnail_owned": "소유",
"album_thumbnail_shared_by": "공유자 {}",
"album_thumbnail_owned": "Owned",
"album_thumbnail_shared_by": "Shared by {}",
"album_viewer_appbar_share_delete": "앨범 삭제",
"album_viewer_appbar_share_err_delete": "앨범 삭제 실패",
"album_viewer_appbar_share_err_leave": "앨범에서 나가지 못했습니다",
@@ -23,18 +23,14 @@
"album_viewer_appbar_share_err_title": "앨범 제목 변경 실패",
"album_viewer_appbar_share_leave": "앨범 나가기",
"album_viewer_appbar_share_remove": "앨범에서 제거",
"album_viewer_appbar_share_to": "공유 대상",
"album_viewer_page_share_add_users": "사용자 추가",
"all_people_page_title": "사람",
"all_videos_page_title": "동영상",
"app_bar_signout_dialog_content": "정말 로그아웃하시겠습니까?",
"app_bar_signout_dialog_ok": "네",
"app_bar_signout_dialog_title": "로그 아웃",
"archive_page_no_archived_assets": "보관된 미디어를 찾을 수 없습니다",
"archive_page_title": "보관 ({})",
"all_people_page_title": "People",
"all_videos_page_title": "Videos",
"archive_page_no_archived_assets": "No archived assets found",
"archive_page_title": "Archive ({})",
"asset_list_layout_settings_dynamic_layout_title": "다이나믹 레이아웃",
"asset_list_layout_settings_group_automatically": "자동",
"asset_list_layout_settings_group_by": "다음으로 미디어 그룹화",
"asset_list_layout_settings_group_automatically": "Automatic",
"asset_list_layout_settings_group_by": "다음으로 그룹화",
"asset_list_layout_settings_group_by_month": "월",
"asset_list_layout_settings_group_by_month_day": "월 + 일",
"asset_list_settings_subtitle": "사진 배열 레이아웃 설정",
@@ -54,9 +50,9 @@
"backup_background_service_in_progress_notification": "미디어파일 백업 중...",
"backup_background_service_upload_failure_notification": "{} 업로드 실패",
"backup_controller_page_albums": "백업대상",
"backup_controller_page_background_app_refresh_disabled_content": "백그라운드 백업을 사용하려면 설정 > 일반 > 백그라운드 앱 새로 고침에서 백그라운드 앱 새로 고침을 활성화합니다",
"backup_controller_page_background_app_refresh_disabled_title": "백그라운드 앱 새로 고침 비활성화",
"backup_controller_page_background_app_refresh_enable_button_text": "설정으로 이동",
"backup_controller_page_background_app_refresh_disabled_content": "Enable background app refresh in Settings > General > Background App Refresh in order to use background backup.",
"backup_controller_page_background_app_refresh_disabled_title": "Background app refresh disabled",
"backup_controller_page_background_app_refresh_enable_button_text": "Go to settings",
"backup_controller_page_background_battery_info_link": "사용 가이드",
"backup_controller_page_background_battery_info_message": "최상의 백업 환경을 위해 Immich 앱의 백그라운드 활동을 제한하는 배터리 최적화기능을 꺼주세요.\n\n휴대폰마다 설정방법이 다르므로 제조업체별로 설정방법을 확인하세요.",
"backup_controller_page_background_battery_info_ok": "확인",
@@ -98,11 +94,11 @@
"backup_controller_page_uploading_file_info": "파일 정보 업로드 중",
"backup_err_only_album": "유일한 앨범은 제거할 수 없습니다",
"backup_info_card_assets": "미디어",
"backup_manual_cancelled": "취소됨",
"backup_manual_failed": "실패",
"backup_manual_in_progress": "업로드가 이미 진행 중입니다. 잠시 후 시도하세요",
"backup_manual_success": "성공",
"backup_manual_title": "업로드 상태",
"backup_manual_cancelled": "Cancelled",
"backup_manual_failed": "Failed",
"backup_manual_in_progress": "Upload already in progress. Try after sometime",
"backup_manual_success": "Success",
"backup_manual_title": "Upload status",
"cache_settings_album_thumbnails": "라이브러리 페이지 썸네일 ({} 미디어)",
"cache_settings_clear_cache_button": "캐시 지우기",
"cache_settings_clear_cache_button_title": "앱의 캐시를 지웁니다. 이 작업은 캐시가 다시 빌드될 때까지 앱의 성능에 상당한 영향을 미칩니다.",
@@ -115,8 +111,6 @@
"cache_settings_statistics_title": "캐시 사용률",
"cache_settings_subtitle": "Immich 앱의 캐싱 동작 제어",
"cache_settings_thumbnail_size": "썸네일 캐시 크기 ({} 미디어)",
"cache_settings_tile_subtitle": "로컬 저장소 동작 제어",
"cache_settings_tile_title": "로컬 저장소",
"cache_settings_title": "캐시 설정",
"change_password_form_confirm_password": "비밀번호 확인",
"change_password_form_description": "{firstName} {lastName} 님, 안녕하세요.\n\n시스템에 처음 로그인했거나 비밀번호 변경 요청이 있었습니다. 아래에 새 비밀번호를 입력하세요.",
@@ -126,27 +120,27 @@
"common_add_to_album": "앨범에 추가",
"common_change_password": "비밀번호 변경",
"common_create_new_album": "새 앨범 만들기",
"common_server_error": "네트워크 연결을 확인하고 서버에 연결할 수 있는지, 앱/서버 버전이 호환되는지 확인하세요",
"common_server_error": "Please check your network connection, make sure the server is reachable and app/server versions are compatible.",
"common_shared": "공유됨",
"control_bottom_app_bar_add_to_album": "앨범에 추가",
"control_bottom_app_bar_album_info": "{} 항목",
"control_bottom_app_bar_album_info_shared": "{} 항목 · 공유됨",
"control_bottom_app_bar_archive": "보관",
"control_bottom_app_bar_archive": "Archive",
"control_bottom_app_bar_create_new_album": "앨범 생성",
"control_bottom_app_bar_delete": "삭제",
"control_bottom_app_bar_favorite": "즐겨찾기",
"control_bottom_app_bar_share": "공유",
"control_bottom_app_bar_share_to": "공유 대상",
"control_bottom_app_bar_stack": "스택",
"control_bottom_app_bar_unarchive": "보관 해제",
"control_bottom_app_bar_upload": "업로드",
"control_bottom_app_bar_share_to": "Share To",
"control_bottom_app_bar_stack": "Stack",
"control_bottom_app_bar_unarchive": "Unarchive",
"control_bottom_app_bar_upload": "Upload",
"create_album_page_untitled": "제목없음",
"create_shared_album_page_create": "만들기",
"create_shared_album_page_share": "공유",
"create_shared_album_page_share_add_assets": "사진 추가",
"create_shared_album_page_share_select_photos": "사진 선택",
"curated_location_page_title": "장소",
"curated_object_page_title": "사물",
"curated_location_page_title": "Places",
"curated_object_page_title": "Things",
"daily_title_text_date": "E, M월 d일",
"daily_title_text_date_year": "E, M월 d일, yyyy",
"date_format": "yyyy년 M월 d일, EEEE • a h:mm",
@@ -154,10 +148,10 @@
"delete_dialog_cancel": "취소",
"delete_dialog_ok": "삭제",
"delete_dialog_title": "영구적으로 삭제",
"delete_shared_link_dialog_content": "이 공유 링크를 삭제하시겠습니까?",
"delete_shared_link_dialog_title": "공유 링크 삭제",
"description_input_hint_text": "설명 추가",
"description_input_submit_error": "설명 업데이트 오류, 자세한 내용은 로그를 확인하세요",
"delete_shared_link_dialog_content": "Are you sure you want to delete this shared link?",
"delete_shared_link_dialog_title": "Delete Shared Link",
"description_input_hint_text": "Add description...",
"description_input_submit_error": "Error updating description, check the log for more details",
"exif_bottom_sheet_description": "설명 추가...",
"exif_bottom_sheet_details": "상세정보",
"exif_bottom_sheet_location": "위치",
@@ -165,31 +159,31 @@
"experimental_settings_new_asset_list_title": "실험적 사진 그리드 적용",
"experimental_settings_subtitle": "문제시 책임지지 않습니다!",
"experimental_settings_title": "실험적기능",
"favorites_page_no_favorites": "즐겨찾기된 미디어를 찾을 수 없습니다",
"favorites_page_no_favorites": "No favorite assets found",
"favorites_page_title": "즐겨찾기",
"home_page_add_to_album_conflicts": "{album} 앨범에 {added} 미디어를 추가했습니다. {failed} 이미 앨범에 있는 항목입니다.",
"home_page_add_to_album_err_local": "아직 앨범에 로컬 미디어를 추가할 수 없으므로 건너뜁니다",
"home_page_add_to_album_err_local": "앨범에 미디어파일을 추가할 수 없어, 건너뜁니다.",
"home_page_add_to_album_success": "{album} 앨범에 {added} 미디어를 추가했습니다. ",
"home_page_archive_err_local": "아직 로컬 미디어를 보관할 수 없습니다",
"home_page_archive_err_local": "Can not archive local assets yet, skipping",
"home_page_building_timeline": "타임라인 생성",
"home_page_favorite_err_local": "아직 로컬 미디어를 즐겨찾기에 추가할 수 없으므로 건너뜁니다",
"home_page_favorite_err_local": "미디어파일을 즐겨찾기에 추가할 수 없어, 건너뜁니다.",
"home_page_first_time_notice": "앱을 처음 사용하는 경우 타임라인이 앨범의 사진과 비디오를 채울 수 있도록 백업대상 앨범을 선택해야 합니다.",
"home_page_upload_err_limit": "한번에 최대 30개의 미디어만 업로드할 수 있습니다",
"home_page_upload_err_limit": "Can only upload a maximum of 30 assets at a time, skipping",
"image_viewer_page_state_provider_download_error": "다운로드 에러",
"image_viewer_page_state_provider_download_success": "다운로드 완료",
"image_viewer_page_state_provider_share_error": "공유 오류",
"image_viewer_page_state_provider_share_error": "Share Error",
"library_page_albums": "앨범",
"library_page_archive": "보관",
"library_page_device_albums": "장치의 앨범",
"library_page_archive": "Archive",
"library_page_device_albums": "Albums on Device",
"library_page_favorites": "즐겨찾기",
"library_page_new_album": "새 앨범",
"library_page_sharing": "공유",
"library_page_sort_created": "최근생성일",
"library_page_sort_last_modified": "마지막 수정",
"library_page_sort_most_recent_photo": "가장 최근 사진",
"library_page_sort_last_modified": "Last modified",
"library_page_sort_most_recent_photo": "Most recent photo",
"library_page_sort_title": "앨범 제목",
"login_disabled": "로그인이 비활성화되었습니다",
"login_form_api_exception": "API 예외입니다. 서버 URL을 확인한 후 다시 시도하세요",
"login_disabled": "Login has been disabled",
"login_form_api_exception": "API exception. Please check the server URL and try again.",
"login_form_button_text": "로그인",
"login_form_email_hint": "youremail@email.com",
"login_form_endpoint_hint": "https://your-server-ip:port/api",
@@ -202,89 +196,86 @@
"login_form_failed_get_oauth_server_config": "OAuth 로그인 오류, 서버 URL을 확인해주세요",
"login_form_failed_get_oauth_server_disable": "이 서버에서는 OAuth 기능을 사용할 수 없습니다.",
"login_form_failed_login": "로그인 오류, 서버 URL, 이메일 및 비밀번호를 확인하세요",
"login_form_handshake_exception": "서버에 핸드셰이크 예외가 발생했습니다. 자체 서명 인증서를 사용하는 경우 설정에서 자체 서명 인증서 지원을 사용 설정합니다",
"login_form_handshake_exception": "There was an Handshake Exception with the server. Enable self-signed certificate support in the settings if you are using a self-signed certificate.",
"login_form_label_email": "이메일",
"login_form_label_password": "비밀번호",
"login_form_next_button": "다음",
"login_form_next_button": "Next",
"login_form_password_hint": "비밀번호",
"login_form_save_login": "로그인상태 유지",
"login_form_server_empty": "서버 URL 입력",
"login_form_server_error": "서버에 연결할 수 없습니다",
"login_password_changed_error": "비밀번호를 업데이트하는 동안 오류가 발생했습니다",
"login_password_changed_success": "비밀번호 업데이트 성공",
"map_cannot_get_user_location": "사용자 위치를 가져올 수 없습니다.",
"map_location_dialog_cancel": "아니오",
"map_location_dialog_yes": "",
"map_location_service_disabled_content": "현재 위치의 미디어를 표시하려면 위치 서비스를 활성화해야 합니다. 지금 활성화하시겠습니까?",
"map_location_service_disabled_title": "위치 서비스 비활성화",
"map_no_assets_in_bounds": "이 영역에 사진이 없습니다",
"map_no_location_permission_content": "현재 위치의 미디어를 표시하려면 위치 권한이 필요합니다. 지금 허용하시겠습니까?",
"map_no_location_permission_title": "위치 권한 거부됨",
"map_settings_dark_mode": "다크 모드",
"map_settings_dialog_cancel": "취소",
"map_settings_dialog_save": "저장",
"map_settings_dialog_title": "지도 설정",
"map_settings_include_show_archived": "아카이브 포함",
"map_settings_only_relative_range": "날짜 범위",
"map_settings_only_show_favorites": "즐겨찾기에만 표시",
"map_zoom_to_see_photos": "축소하여 사진 보기",
"login_form_server_empty": "Enter a server URL.",
"login_form_server_error": "Could not connect to server.",
"login_password_changed_error": "There was an error updating your password",
"login_password_changed_success": "Password updated successfully",
"map_cannot_get_user_location": "Cannot get user's location",
"map_location_dialog_cancel": "Cancel",
"map_location_dialog_yes": "Yes",
"map_location_service_disabled_content": "Location service needs to be enabled to display assets from your current location. Do you want to enable it now?",
"map_location_service_disabled_title": "Location Service disabled",
"map_no_assets_in_bounds": "No photos in this area",
"map_no_location_permission_content": "Location permission is needed to display assets from your current location. Do you want to allow it now?",
"map_no_location_permission_title": "Location Permission denied",
"map_settings_dark_mode": "Dark mode",
"map_settings_dialog_cancel": "Cancel",
"map_settings_dialog_save": "Save",
"map_settings_dialog_title": "Map Settings",
"map_settings_include_show_archived": "Include Archived",
"map_settings_only_relative_range": "Date range",
"map_settings_only_show_favorites": "Show Favorite Only",
"map_zoom_to_see_photos": "Zoom out to see photos",
"monthly_title_text_date_format": "y년 M월",
"motion_photos_page_title": "모션 사진",
"motion_photos_page_title": "Motion Photos",
"notification_permission_dialog_cancel": "취소",
"notification_permission_dialog_content": "알림을 활성화하려면 설정으로 이동하여 허용을 선택해주세요.",
"notification_permission_dialog_settings": "설정",
"notification_permission_list_tile_content": "알림 활성화 권한허용",
"notification_permission_list_tile_enable_button": "알림 활성화",
"notification_permission_list_tile_title": "알림 권한",
"partner_page_add_partner": "파트너 추가",
"partner_page_empty_message": "사진이 아직 어떤 파트너와도 공유되지 않았습니다",
"partner_page_no_more_users": "더 이상 추가할 사용자 없음",
"partner_page_partner_add_failed": "파트너 추가에 실패했습니다",
"partner_page_select_partner": "파트너 선택",
"partner_page_shared_to_title": "공유 대상",
"partner_page_stop_sharing_content": "더 이상 {}에서 사진에 액세스할 수 없습니다.",
"partner_page_stop_sharing_title": "사진 공유를 중단하시겠습니까?",
"partner_page_title": "파트너",
"permission_onboarding_continue_anyway": "어쨌든 계속하기",
"permission_onboarding_get_started": "시작하기",
"permission_onboarding_go_to_settings": "설정으로 이동",
"permission_onboarding_grant_permission": "권한 부여",
"permission_onboarding_log_out": "로그 아웃",
"permission_onboarding_permission_denied": "권한이 거부되었습니다. Immich를 사용하려면 설정에서 사진 및 동영상 권한을 부여하세요",
"permission_onboarding_permission_granted": "승인되었습니다! 모든 준비가 완료되었습니다",
"permission_onboarding_permission_limited": "권한 제한. Immich가 전체 갤러리 컬렉션을 백업하고 관리하도록 하려면 설정에서 사진 및 동영상 권한을 부여하세요",
"permission_onboarding_request": "Immich는 사진과 동영상을 볼 수 있는 권한을 요구합니다",
"partner_page_add_partner": "Add partner",
"partner_page_empty_message": "Your photos are not yet shared with any partner.",
"partner_page_no_more_users": "No more users to add",
"partner_page_partner_add_failed": "Failed to add partner",
"partner_page_select_partner": "Select partner",
"partner_page_shared_to_title": "Shared to",
"partner_page_stop_sharing_content": "{} will no longer be able to access your photos.",
"partner_page_stop_sharing_title": "Stop sharing your photos?",
"partner_page_title": "Partner",
"permission_onboarding_continue_anyway": "Continue anyway",
"permission_onboarding_get_started": "Get started",
"permission_onboarding_go_to_settings": "Go to settings",
"permission_onboarding_grant_permission": "Grant permission",
"permission_onboarding_log_out": "Log out",
"permission_onboarding_permission_denied": "Permission denied. To use Immich, grant photo and video permissions in Settings.",
"permission_onboarding_permission_granted": "Permission granted! You are all set.",
"permission_onboarding_permission_limited": "Permission limited. To let Immich backup and manage your entire gallery collection, grant photo and video permissions in Settings.",
"permission_onboarding_request": "Immich requires permission to view your photos and videos.",
"profile_drawer_app_logs": "로그",
"profile_drawer_client_server_up_to_date": "클라이언트와 서버가 최신 상태입니다",
"profile_drawer_documentation": "문서",
"profile_drawer_github": "깃허브",
"profile_drawer_settings": "설정",
"profile_drawer_sign_out": "로그아웃",
"profile_drawer_trash": "휴지통",
"recently_added_page_title": "최근 추가",
"profile_drawer_trash": "Trash",
"recently_added_page_title": "Recently Added",
"search_bar_hint": "사진 검색",
"search_page_categories": "카테고리",
"search_page_favorites": "즐겨찾기",
"search_page_motion_photos": "모션 사진",
"search_page_categories": "Categories",
"search_page_favorites": "Favorites",
"search_page_motion_photos": "Motion Photos",
"search_page_no_objects": "발견된 사물이\n없습니다",
"search_page_no_places": "발견된 장소가\n없습니다",
"search_page_people": "사람",
"search_page_people": "People",
"search_page_places": "장소",
"search_page_recently_added": "최근 추가",
"search_page_screenshots": "스크린샷",
"search_page_selfies": "셀카",
"search_page_recently_added": "Recently added",
"search_page_screenshots": "Screenshots",
"search_page_selfies": "Selfies",
"search_page_things": "사물",
"search_page_videos": "동영상",
"search_page_view_all_button": "모두 보기",
"search_page_your_activity": "내 활동",
"search_page_videos": "Videos",
"search_page_view_all_button": "View all",
"search_page_your_activity": "Your activity",
"search_result_page_new_search_hint": "새 검색",
"search_suggestion_list_smart_search_hint_1": "스마트 검색은 기본적으로 활성화되어 있으며, 메타데이터를 검색하려면 다음 구문을 사용합니다",
"search_suggestion_list_smart_search_hint_1": "Smart search is enabled by default, to search for metadata use the syntax ",
"search_suggestion_list_smart_search_hint_2": "m:your-search-term",
"select_additional_user_for_sharing_page_suggestions": "초대 가능한 사용자 제안",
"select_user_for_sharing_page_err_album": "앨범 생성 실패",
"select_user_for_sharing_page_share_suggestions": "초대 가능한 사용자 제안",
"server_info_box_app_version": "앱 버전",
"server_info_box_server_url": "서버 URL",
"server_info_box_server_version": "서버 버전",
"setting_image_viewer_help": "상세뷰어는 먼저 작은 썸네일을 불러온 다음 중간크기 미리보기를 불러오고(활성화된 경우) 마지막으로 원본을 불러옵니다(활성화된 경우).",
"setting_image_viewer_original_subtitle": "원본 해상도 이미지(고화질)를 로드하려면 활성화합니다. 데이터 사용량을 줄이려면 비활성화합니다.",
@@ -309,37 +300,28 @@
"share_add_photos": "사진 추가",
"share_add_title": "새 앨범제목",
"share_create_album": "앨범 만들기",
"shared_album_activities_input_disable": "댓글이 비활성화되었습니다.",
"shared_album_activities_input_hint": "말하기",
"shared_album_activity_remove_content": "이 활동을 삭제하시겠습니까?",
"shared_album_activity_remove_title": "활동 삭제",
"shared_album_activity_setting_subtitle": "다른 사람이 응답하도록 허용",
"shared_album_activity_setting_title": "댓글 및 좋아요",
"share_dialog_preparing": "준비중...",
"shared_link_app_bar_title": "공유 링크",
"shared_link_create_app_bar_title": "공유할 링크 만들기",
"shared_link_create_info": "링크를 가진 모든 사람이 선택한 사진을 볼 수 있도록 합니다",
"shared_link_create_submit_button": "링크 만들기",
"shared_link_edit_allow_download": "공용 사용자의 다운로드 허용",
"shared_link_edit_allow_upload": "공용 사용자의 업로드 허용",
"shared_link_edit_app_bar_title": "링크 수정",
"shared_link_edit_change_expiry": "만료 시간 변경",
"shared_link_edit_description": "설명",
"shared_link_edit_description_hint": "공유 설명 입력",
"shared_link_edit_expire_after": "Expire after",
"shared_link_edit_password": "비밀번호",
"shared_link_edit_password_hint": "공유 비밀번호 입력",
"shared_link_edit_show_meta": "메타데이터 표시",
"shared_link_edit_submit_button": "링크 업데이트",
"shared_link_empty": "공유 링크가 없습니다",
"shared_link_manage_links": "공유 링크 관리",
"share_done": "완료",
"shared_link_app_bar_title": "Shared Links",
"shared_link_create_app_bar_title": "Create link to share",
"shared_link_create_info": "Let anyone with the link see the selected photo(s)",
"shared_link_create_submit_button": "Create link",
"shared_link_edit_allow_download": "Allow public user to download",
"shared_link_edit_allow_upload": "Allow public user to upload",
"shared_link_edit_app_bar_title": "Edit link",
"shared_link_edit_change_expiry": "Change expiration time",
"shared_link_edit_description": "Description",
"shared_link_edit_description_hint": "Enter the share description",
"shared_link_edit_show_meta": "Show metadata",
"shared_link_edit_submit_button": "Update link",
"shared_link_empty": "You don't have any shared links",
"shared_link_manage_links": "Manage Shared links",
"share_done": "Done",
"share_invite": "앨범에 초대",
"sharing_page_album": "공유앨범",
"sharing_page_description": "공유앨범을 만들어 다른 사용자들과 사진 및 비디오를 공유합니다.",
"sharing_page_empty_list": "공유앨범 없음",
"sharing_silver_appbar_create_shared_album": "공유앨범 만들기",
"sharing_silver_appbar_shared_links": "공유 링크",
"sharing_silver_appbar_shared_links": "Shared links",
"sharing_silver_appbar_share_partner": "파트너와 공유",
"tab_controller_nav_library": "라이브러리",
"tab_controller_nav_photos": "사진",
@@ -355,30 +337,30 @@
"theme_setting_theme_title": "테마",
"theme_setting_three_stage_loading_subtitle": "이 기능은 로딩 성능을 향상시킬 수 있지만 훨씬 더 많은 데이터를 사용합니다.",
"theme_setting_three_stage_loading_title": "3단계 로딩 활성화",
"translated_text_options": "옵션",
"trash_page_delete": "삭제",
"trash_page_delete_all": "모두 삭제",
"trash_page_empty_trash_btn": "휴지통 비우기",
"trash_page_empty_trash_dialog_content": "휴지통에 버린 미디어를 비우고 싶으신가요? 이 항목들은 Immich에서 영구적으로 삭제됩니다",
"trash_page_empty_trash_dialog_ok": "확인",
"trash_page_info": "휴지통에 버린 항목은 {}일 후에 영구 삭제됩니다",
"trash_page_no_assets": "휴지통에 버려진 미디어 없음",
"trash_page_restore": "복원",
"trash_page_restore_all": "모두 복원",
"trash_page_select_assets_btn": "미디어 선택",
"trash_page_select_btn": "선택",
"trash_page_title": "휴지통 ({})",
"upload_dialog_cancel": "취소",
"upload_dialog_info": "선택한 미디어를 서버에 백업하시겠습니까?",
"upload_dialog_ok": "업로드",
"upload_dialog_title": "미디어 업로드",
"translated_text_options": "Options",
"trash_page_delete": "Delete",
"trash_page_delete_all": "Delete All",
"trash_page_empty_trash_btn": "Empty trash",
"trash_page_empty_trash_dialog_content": "Do you want to empty your trashed assets? These items will be permanently removed from Immich",
"trash_page_empty_trash_dialog_ok": "Ok",
"trash_page_info": "Trashed items will be permanently deleted after {} days",
"trash_page_no_assets": "No trashed assets",
"trash_page_restore": "Restore",
"trash_page_restore_all": "Restore All",
"trash_page_select_assets_btn": "Select assets",
"trash_page_select_btn": "Select",
"trash_page_title": "Trash ({})",
"upload_dialog_cancel": "Cancel",
"upload_dialog_info": "Do you want to backup the selected Asset(s) to the server?",
"upload_dialog_ok": "Upload",
"upload_dialog_title": "Upload Asset",
"version_announcement_overlay_ack": "승인",
"version_announcement_overlay_release_notes": "릴리스 정보",
"version_announcement_overlay_text_1": "안녕하세요!",
"version_announcement_overlay_text_2": "앱에 새로운 업데이트가 있습니다!",
"version_announcement_overlay_text_3": "특히 WatchTower 또는 서버 응용 프로그램 자동 업데이트를 처리하는 메커니즘을 사용하는 경우 잘못된 구성을 방지하기 위해 docker-compose 및 .env 설정이 최신 상태인지 확인하세요.",
"version_announcement_overlay_title": "새 서버 버전 사용 가능 \uD83C\uDF89",
"viewer_remove_from_stack": "스택에서 제거",
"viewer_stack_use_as_main_asset": "메인 미디어로 사용",
"viewer_unstack": "스택 해제"
"viewer_remove_from_stack": "Remove from Stack",
"viewer_stack_use_as_main_asset": "Use as Main Asset",
"viewer_unstack": "Un-Stack"
}

View File

@@ -23,13 +23,9 @@
"album_viewer_appbar_share_err_title": "Neizdevās mainīt albuma nosaukumu",
"album_viewer_appbar_share_leave": "Pamest albumu",
"album_viewer_appbar_share_remove": "Noņemt no albuma",
"album_viewer_appbar_share_to": "Share To",
"album_viewer_page_share_add_users": "Pievienot lietotājus",
"all_people_page_title": "Cilvēki",
"all_videos_page_title": "Videoklipi",
"app_bar_signout_dialog_content": "Are you sure you wanna sign out?",
"app_bar_signout_dialog_ok": "Yes",
"app_bar_signout_dialog_title": "Sign out",
"archive_page_no_archived_assets": "Nav atrasts neviens arhivēts aktīvs",
"archive_page_title": "Arhīvs ({})",
"asset_list_layout_settings_dynamic_layout_title": "Dinamiskais izkārtojums",
@@ -115,8 +111,6 @@
"cache_settings_statistics_title": "Kešatmiņas lietojums",
"cache_settings_subtitle": "Kontrolēt Immich mobilās lietotnes kešdarbi",
"cache_settings_thumbnail_size": "Sīktēlu keša lielums ({} aktīvi)",
"cache_settings_tile_subtitle": "Control the local storage behaviour",
"cache_settings_tile_title": "Local Storage",
"cache_settings_title": "Kešdarbes iestatījumi",
"change_password_form_confirm_password": "Apstiprināt Paroli",
"change_password_form_description": "Sveiki {FirstName} {LastName},\n\nŠī ir pirmā reize, kad pierakstāties sistēmā, vai arī ir iesniegts pieprasījums mainīt paroli. Lūdzu, zemāk ievadiet jauno paroli.",
@@ -256,8 +250,6 @@
"permission_onboarding_request": "Immich nepieciešama atļauja skatīt jūsu fotoattēlus un videoklipus.",
"profile_drawer_app_logs": "Žurnāli",
"profile_drawer_client_server_up_to_date": "Klients un serveris ir atjaunināti",
"profile_drawer_documentation": "Documentation",
"profile_drawer_github": "GitHub",
"profile_drawer_settings": "Iestatījumi",
"profile_drawer_sign_out": "Izrakstīties",
"profile_drawer_trash": "Trash",
@@ -284,7 +276,6 @@
"select_user_for_sharing_page_err_album": "Neizdevās izveidot albumu",
"select_user_for_sharing_page_share_suggestions": "Ieteikumi",
"server_info_box_app_version": "Aplikācijas Versija",
"server_info_box_server_url": "Server URL",
"server_info_box_server_version": "Servera Versija",
"setting_image_viewer_help": "Detaļu skatītājs vispirms ielādē mazo sīktēlu, pēc tam ielādē vidēja lieluma priekšskatījumu (ja iespējots), visbeidzot ielādē oriģinālu (ja iespējots).",
"setting_image_viewer_original_subtitle": "Iespējojiet sākotnējā pilnas izšķirtspējas attēla (liels!) ielādi. Atspējot lai samazinātu datu lietojumu (gan tīklā, gan ierīces kešatmiņā).",
@@ -309,12 +300,6 @@
"share_add_photos": "Pievienot fotoattēlus",
"share_add_title": "Pievienot virsrakstu",
"share_create_album": "Izveidot albumu",
"shared_album_activities_input_disable": "Comment is disabled",
"shared_album_activities_input_hint": "Say something",
"shared_album_activity_remove_content": "Do you want to delete this activity?",
"shared_album_activity_remove_title": "Delete Activity",
"shared_album_activity_setting_subtitle": "Let others respond",
"shared_album_activity_setting_title": "Comments & likes",
"share_dialog_preparing": "Notiek sagatavošana...",
"shared_link_app_bar_title": "Shared Links",
"shared_link_create_app_bar_title": "Create link to share",
@@ -326,9 +311,6 @@
"shared_link_edit_change_expiry": "Change expiration time",
"shared_link_edit_description": "Description",
"shared_link_edit_description_hint": "Enter the share description",
"shared_link_edit_expire_after": "Expire after",
"shared_link_edit_password": "Password",
"shared_link_edit_password_hint": "Enter the share password",
"shared_link_edit_show_meta": "Show metadata",
"shared_link_edit_submit_button": "Update link",
"shared_link_empty": "You don't have any shared links",

View File

@@ -23,13 +23,9 @@
"album_viewer_appbar_share_err_title": "Failed to change album title",
"album_viewer_appbar_share_leave": "Leave album",
"album_viewer_appbar_share_remove": "Remove from album",
"album_viewer_appbar_share_to": "Share To",
"album_viewer_page_share_add_users": "Add users",
"all_people_page_title": "People",
"all_videos_page_title": "Videos",
"app_bar_signout_dialog_content": "Are you sure you wanna sign out?",
"app_bar_signout_dialog_ok": "Yes",
"app_bar_signout_dialog_title": "Sign out",
"archive_page_no_archived_assets": "No archived assets found",
"archive_page_title": "Archive ({})",
"asset_list_layout_settings_dynamic_layout_title": "Dynamic layout",
@@ -115,8 +111,6 @@
"cache_settings_statistics_title": "Cache usage",
"cache_settings_subtitle": "Control the caching behaviour of the Immich mobile application",
"cache_settings_thumbnail_size": "Thumbnail cache size ({} assets)",
"cache_settings_tile_subtitle": "Control the local storage behaviour",
"cache_settings_tile_title": "Local Storage",
"cache_settings_title": "Caching Settings",
"change_password_form_confirm_password": "Confirm Password",
"change_password_form_description": "Hi {firstName} {lastName},\n\nThis is either the first time you are signing into the system or a request has been made to change your password. Please enter the new password below.",
@@ -256,8 +250,6 @@
"permission_onboarding_request": "Immich requires permission to view your photos and videos.",
"profile_drawer_app_logs": "Logs",
"profile_drawer_client_server_up_to_date": "Client and Server are up-to-date",
"profile_drawer_documentation": "Documentation",
"profile_drawer_github": "GitHub",
"profile_drawer_settings": "Settings",
"profile_drawer_sign_out": "Sign Out",
"profile_drawer_trash": "Trash",
@@ -284,7 +276,6 @@
"select_user_for_sharing_page_err_album": "Failed to create album",
"select_user_for_sharing_page_share_suggestions": "Suggestions",
"server_info_box_app_version": "App Version",
"server_info_box_server_url": "Server URL",
"server_info_box_server_version": "Server Version",
"setting_image_viewer_help": "The detail viewer loads the small thumbnail first, then loads the medium-size preview (if enabled), finally loads the original (if enabled).",
"setting_image_viewer_original_subtitle": "Enable to load the original full-resolution image (large!). Disable to reduce data usage (both network and on device cache).",
@@ -309,12 +300,6 @@
"share_add_photos": "Add photos",
"share_add_title": "Add a title",
"share_create_album": "Create album",
"shared_album_activities_input_disable": "Comment is disabled",
"shared_album_activities_input_hint": "Say something",
"shared_album_activity_remove_content": "Do you want to delete this activity?",
"shared_album_activity_remove_title": "Delete Activity",
"shared_album_activity_setting_subtitle": "Let others respond",
"shared_album_activity_setting_title": "Comments & likes",
"share_dialog_preparing": "Preparing...",
"shared_link_app_bar_title": "Shared Links",
"shared_link_create_app_bar_title": "Create link to share",
@@ -326,9 +311,6 @@
"shared_link_edit_change_expiry": "Change expiration time",
"shared_link_edit_description": "Description",
"shared_link_edit_description_hint": "Enter the share description",
"shared_link_edit_expire_after": "Expire after",
"shared_link_edit_password": "Password",
"shared_link_edit_password_hint": "Enter the share password",
"shared_link_edit_show_meta": "Show metadata",
"shared_link_edit_submit_button": "Update link",
"shared_link_empty": "You don't have any shared links",

View File

@@ -23,13 +23,9 @@
"album_viewer_appbar_share_err_title": "Feilet ved endring av albumtittel",
"album_viewer_appbar_share_leave": "Forlat album",
"album_viewer_appbar_share_remove": "Fjern fra album",
"album_viewer_appbar_share_to": "Del til",
"album_viewer_page_share_add_users": "Legg til brukere",
"all_people_page_title": "Folk",
"all_videos_page_title": "Videoer",
"app_bar_signout_dialog_content": "Er du sikker på at du vil logge ut?",
"app_bar_signout_dialog_ok": "Ja",
"app_bar_signout_dialog_title": "Logg ut",
"archive_page_no_archived_assets": "Ingen arkiverte objekter funnet",
"archive_page_title": "Arkiv ({})",
"asset_list_layout_settings_dynamic_layout_title": "Dynamisk bildeorganisering",
@@ -115,8 +111,6 @@
"cache_settings_statistics_title": "Bufferbruk",
"cache_settings_subtitle": "Kontroller bufringsadferden til Immich-appen",
"cache_settings_thumbnail_size": "Størrelse på miniatyrbildebuffer ({} objekter)",
"cache_settings_tile_subtitle": "Kontroller lokal lagring",
"cache_settings_tile_title": "Lokal lagring",
"cache_settings_title": "Bufringsinnstillinger",
"change_password_form_confirm_password": "Bekreft passord",
"change_password_form_description": "Hei {firstName} {lastName}!\n\nDette er enten første gang du logger på systemet, eller det er sendt en forespørsel om å endre passordet ditt. Vennligst skriv inn det nye passordet nedenfor.",
@@ -136,10 +130,10 @@
"control_bottom_app_bar_delete": "Slett",
"control_bottom_app_bar_favorite": "Favoritt",
"control_bottom_app_bar_share": "Del",
"control_bottom_app_bar_share_to": "Del til",
"control_bottom_app_bar_stack": "Stable",
"control_bottom_app_bar_share_to": "Share To",
"control_bottom_app_bar_stack": "Stack",
"control_bottom_app_bar_unarchive": "Fjern fra arkiv",
"control_bottom_app_bar_upload": "Last opp",
"control_bottom_app_bar_upload": "Upload",
"create_album_page_untitled": "Uten navn",
"create_shared_album_page_create": "Opprett",
"create_shared_album_page_share": "Del",
@@ -154,8 +148,8 @@
"delete_dialog_cancel": "Avbryt",
"delete_dialog_ok": "Slett",
"delete_dialog_title": "Slett permanent",
"delete_shared_link_dialog_content": "Er du sikker på at du vil slette denne delte linken?",
"delete_shared_link_dialog_title": "Slett delt link",
"delete_shared_link_dialog_content": "Are you sure you want to delete this shared link?",
"delete_shared_link_dialog_title": "Delete Shared Link",
"description_input_hint_text": "Legg til beskrivelse ...",
"description_input_submit_error": "Feil ved oppdatering av beskrivelse, sjekk loggen for flere detaljer",
"exif_bottom_sheet_description": "Legg til beskrivelse ...",
@@ -177,7 +171,7 @@
"home_page_upload_err_limit": "Maksimalt 30 objekter kan lastes opp om gangen, hopper over",
"image_viewer_page_state_provider_download_error": "Nedlasting feilet",
"image_viewer_page_state_provider_download_success": "Nedlasting vellykket",
"image_viewer_page_state_provider_share_error": "Delingsfeil",
"image_viewer_page_state_provider_share_error": "Share Error",
"library_page_albums": "Albumer",
"library_page_archive": "Arkiv",
"library_page_device_albums": "Albumer på enheten",
@@ -185,8 +179,8 @@
"library_page_new_album": "Nytt album",
"library_page_sharing": "Deling",
"library_page_sort_created": "Nylig opplastet",
"library_page_sort_last_modified": "Sist endret",
"library_page_sort_most_recent_photo": "Siste bilde",
"library_page_sort_last_modified": "Last modified",
"library_page_sort_most_recent_photo": "Most recent photo",
"library_page_sort_title": "Albumtittel",
"login_disabled": "Innlogging har blitt deaktivert",
"login_form_api_exception": "API-feil. Sjekk URL-en til serveren og prøv igjen.",
@@ -224,7 +218,7 @@
"map_settings_dialog_cancel": "Avbryt",
"map_settings_dialog_save": "Lagre",
"map_settings_dialog_title": "Kartinnstillinger",
"map_settings_include_show_archived": "Inkluder arkiverte",
"map_settings_include_show_archived": "Include Archived",
"map_settings_only_relative_range": "Datoområde",
"map_settings_only_show_favorites": "Vis kun favoritter",
"map_zoom_to_see_photos": "Zoom ut for å se bilder",
@@ -256,11 +250,9 @@
"permission_onboarding_request": "Immich trenger tilgang til å se dine bilder og videoer",
"profile_drawer_app_logs": "Logg",
"profile_drawer_client_server_up_to_date": "Klient og server er oppdatert",
"profile_drawer_documentation": "Dokumentasjon",
"profile_drawer_github": "GitHub",
"profile_drawer_settings": "Innstillinger",
"profile_drawer_sign_out": "Logg ut",
"profile_drawer_trash": "Søppelbøtte",
"profile_drawer_trash": "Trash",
"recently_added_page_title": "Nylig lagt til",
"search_bar_hint": "Søk i dine bilder",
"search_page_categories": "Kategorier",
@@ -284,7 +276,6 @@
"select_user_for_sharing_page_err_album": "Feilet ved oppretting av album",
"select_user_for_sharing_page_share_suggestions": "Forslag",
"server_info_box_app_version": "App-versjon",
"server_info_box_server_url": "Server-adresse",
"server_info_box_server_version": "Server-versjon",
"setting_image_viewer_help": "Detaljvisningen laster først miniatyrbildet, deretter forhåndsvisningsbildet (hvis aktivert), og til slutt originalen (hvis aktivert).",
"setting_image_viewer_original_subtitle": "Aktiver for å laste originalbildet i full oppløsning (stort!). Deaktiver for å spare databruk (både nettverksbruk og bufferdata på enheten).",
@@ -309,37 +300,28 @@
"share_add_photos": "Legg til bilder",
"share_add_title": "Legg til tittel",
"share_create_album": "Opprett album",
"shared_album_activities_input_disable": "Kommenterer er deaktivert",
"shared_album_activities_input_hint": "Si noe",
"shared_album_activity_remove_content": "Vil du slette denne aktiviteten?",
"shared_album_activity_remove_title": "Slett aktivitet",
"shared_album_activity_setting_subtitle": "La andre respondere",
"shared_album_activity_setting_title": "Kommentarer og likes",
"share_dialog_preparing": "Forbereder ...",
"shared_link_app_bar_title": "Delte linker",
"shared_link_create_app_bar_title": "Opprett delelink",
"shared_link_create_info": "La alle med linken se de(t) valgte bilde(ne)",
"shared_link_create_submit_button": "Opprett link",
"shared_link_edit_allow_download": "Tillat offentlig bruker å laste ned",
"shared_link_edit_allow_upload": "Tillat offentlig bruker å laste opp",
"shared_link_edit_app_bar_title": "Endre link",
"shared_link_edit_change_expiry": "Endre utløpstid",
"shared_link_edit_description": "Beskrivelse",
"shared_link_edit_description_hint": "Endre delebeskrivelse",
"shared_link_edit_expire_after": "Expire after",
"shared_link_edit_password": "Passord",
"shared_link_edit_password_hint": "Skriv inn dele-passord",
"shared_link_edit_show_meta": "Vis metadata",
"shared_link_edit_submit_button": "Oppdater link",
"shared_link_empty": "Du har ingen delte linker",
"shared_link_manage_links": "Håndter delte linker",
"share_done": "Ferdig",
"shared_link_app_bar_title": "Shared Links",
"shared_link_create_app_bar_title": "Create link to share",
"shared_link_create_info": "Let anyone with the link see the selected photo(s)",
"shared_link_create_submit_button": "Create link",
"shared_link_edit_allow_download": "Allow public user to download",
"shared_link_edit_allow_upload": "Allow public user to upload",
"shared_link_edit_app_bar_title": "Edit link",
"shared_link_edit_change_expiry": "Change expiration time",
"shared_link_edit_description": "Description",
"shared_link_edit_description_hint": "Enter the share description",
"shared_link_edit_show_meta": "Show metadata",
"shared_link_edit_submit_button": "Update link",
"shared_link_empty": "You don't have any shared links",
"shared_link_manage_links": "Manage Shared links",
"share_done": "Done",
"share_invite": "Inviter til album",
"sharing_page_album": "Delte album",
"sharing_page_description": "Lag delte albumer for å dele bilder og videoer med folk i nettverket ditt.",
"sharing_page_empty_list": "TOM LISTE",
"sharing_silver_appbar_create_shared_album": "Lag delt album",
"sharing_silver_appbar_shared_links": "Delte linker",
"sharing_silver_appbar_shared_links": "Shared links",
"sharing_silver_appbar_share_partner": "Del med partner",
"tab_controller_nav_library": "Bibliotek",
"tab_controller_nav_photos": "Bilder",
@@ -356,18 +338,18 @@
"theme_setting_three_stage_loading_subtitle": "Tre-trinns innlasting kan øke lasteytelsen, men forårsaker betydelig høyere nettverksbelastning",
"theme_setting_three_stage_loading_title": "Aktiver tre-trinns innlasting",
"translated_text_options": "Valg",
"trash_page_delete": "Slett",
"trash_page_delete_all": "Slett alt",
"trash_page_empty_trash_btn": "Tøm søppelbøtte",
"trash_page_empty_trash_dialog_content": "Vil du tømme søppelbøtten? Objektene vil bli permanent fjernet fra Immich",
"trash_page_delete": "Delete",
"trash_page_delete_all": "Delete All",
"trash_page_empty_trash_btn": "Empty trash",
"trash_page_empty_trash_dialog_content": "Do you want to empty your trashed assets? These items will be permanently removed from Immich",
"trash_page_empty_trash_dialog_ok": "Ok",
"trash_page_info": "Objekter i søppelbøtten blir permanent fjernet etter {} dager",
"trash_page_no_assets": "Ingen forkastede objekter",
"trash_page_restore": "Gjenopprett",
"trash_page_restore_all": "Gjenopprett alt",
"trash_page_select_assets_btn": "Velg objekter",
"trash_page_select_btn": "Velg",
"trash_page_title": "Søppelbøtte ({})",
"trash_page_info": "Trashed items will be permanently deleted after {} days",
"trash_page_no_assets": "No trashed assets",
"trash_page_restore": "Restore",
"trash_page_restore_all": "Restore All",
"trash_page_select_assets_btn": "Select assets",
"trash_page_select_btn": "Select",
"trash_page_title": "Trash ({})",
"upload_dialog_cancel": "Avbryt",
"upload_dialog_info": "Vil du utføre backup av valgte objekt(er) til serveren?",
"upload_dialog_ok": "Last opp",
@@ -378,7 +360,7 @@
"version_announcement_overlay_text_2": "vennligst ta deg tid til å besøke ",
"version_announcement_overlay_text_3": " og verifiser at docker-compose og .env-oppsettet ditt er oppdatert for å forhindre en eventuell feilkonfigurasjon, spesielt hvis du benytter WatchTower eller en annen tjeneste som håndterer oppdatering av server-applikasjonen automatisk.",
"version_announcement_overlay_title": "Ny serverversjon tilgjengelig",
"viewer_remove_from_stack": "Fjern fra stabling",
"viewer_stack_use_as_main_asset": "Bruk som hovedobjekt",
"viewer_unstack": "avstable"
"viewer_remove_from_stack": "Remove from Stack",
"viewer_stack_use_as_main_asset": "Use as Main Asset",
"viewer_unstack": "Un-Stack"
}

View File

@@ -23,13 +23,9 @@
"album_viewer_appbar_share_err_title": "Albumtitel wijzigen mislukt",
"album_viewer_appbar_share_leave": "Verlaat album",
"album_viewer_appbar_share_remove": "Verwijder uit album",
"album_viewer_appbar_share_to": "Share To",
"album_viewer_page_share_add_users": "Gebruikers toevoegen",
"all_people_page_title": "Personen",
"all_videos_page_title": "Video's",
"app_bar_signout_dialog_content": "Are you sure you wanna sign out?",
"app_bar_signout_dialog_ok": "Yes",
"app_bar_signout_dialog_title": "Sign out",
"archive_page_no_archived_assets": "Geen gearchiveerde items gevonden",
"archive_page_title": "Archief ({})",
"asset_list_layout_settings_dynamic_layout_title": "Dynamische layout",
@@ -115,8 +111,6 @@
"cache_settings_statistics_title": "Cachegebruik",
"cache_settings_subtitle": "Beheer het cachegedrag van de Immich app",
"cache_settings_thumbnail_size": "Thumbnail-cachegrootte ({} items)",
"cache_settings_tile_subtitle": "Control the local storage behaviour",
"cache_settings_tile_title": "Local Storage",
"cache_settings_title": "Cache-instellingen",
"change_password_form_confirm_password": "Bevestig wachtwoord",
"change_password_form_description": "Hallo {firstName} {lastName},\n\nDit is ofwel de eerste keer dat je inlogt, of er is een verzoek gedaan om je wachtwoord te wijzigen. Vul hieronder een nieuw wachtwoord in.",
@@ -256,8 +250,6 @@
"permission_onboarding_request": "Immich heeft toestemming nodig om je foto's en video's te bekijken.",
"profile_drawer_app_logs": "Logboek",
"profile_drawer_client_server_up_to_date": "App en server zijn up-to-date",
"profile_drawer_documentation": "Documentation",
"profile_drawer_github": "GitHub",
"profile_drawer_settings": "Instellingen",
"profile_drawer_sign_out": "Uitloggen",
"profile_drawer_trash": "Trash",
@@ -284,7 +276,6 @@
"select_user_for_sharing_page_err_album": "Album aanmaken mislukt",
"select_user_for_sharing_page_share_suggestions": "Suggesties",
"server_info_box_app_version": "Appversie",
"server_info_box_server_url": "Server URL",
"server_info_box_server_version": "Serverversie",
"setting_image_viewer_help": "De gedetailleerde weergave laadt eerst de kleine thumbnail, vervolgens het middelgrote voorbeeld (indien ingeschakeld) en ten slotte het origineel (indien ingeschakeld).",
"setting_image_viewer_original_subtitle": "Schakel in om de originele afbeelding met volledige resolutie (groot!) te laden. Schakel uit om datagebruik te verminderen (zowel netwerk als apparaatcache).",
@@ -309,12 +300,6 @@
"share_add_photos": "Foto's toevoegen",
"share_add_title": "Titel toevoegen",
"share_create_album": "Album aanmaken",
"shared_album_activities_input_disable": "Comment is disabled",
"shared_album_activities_input_hint": "Say something",
"shared_album_activity_remove_content": "Do you want to delete this activity?",
"shared_album_activity_remove_title": "Delete Activity",
"shared_album_activity_setting_subtitle": "Let others respond",
"shared_album_activity_setting_title": "Comments & likes",
"share_dialog_preparing": "Voorbereiden...",
"shared_link_app_bar_title": "Shared Links",
"shared_link_create_app_bar_title": "Create link to share",
@@ -326,9 +311,6 @@
"shared_link_edit_change_expiry": "Change expiration time",
"shared_link_edit_description": "Description",
"shared_link_edit_description_hint": "Enter the share description",
"shared_link_edit_expire_after": "Expire after",
"shared_link_edit_password": "Password",
"shared_link_edit_password_hint": "Enter the share password",
"shared_link_edit_show_meta": "Show metadata",
"shared_link_edit_submit_button": "Update link",
"shared_link_empty": "You don't have any shared links",

View File

@@ -23,13 +23,9 @@
"album_viewer_appbar_share_err_title": "Nie udało się zmienić tytułu albumu",
"album_viewer_appbar_share_leave": "Opuść album",
"album_viewer_appbar_share_remove": "Usuń z albumu",
"album_viewer_appbar_share_to": "Share To",
"album_viewer_page_share_add_users": "Dodaj użytkowników",
"all_people_page_title": "Ludzie",
"all_videos_page_title": "Filmy",
"app_bar_signout_dialog_content": "Czy na pewno chcesz się wylogować?",
"app_bar_signout_dialog_ok": "Tak",
"app_bar_signout_dialog_title": "Wyloguj się",
"archive_page_no_archived_assets": "Nie znaleziono zarchiwizowanych zasobów",
"archive_page_title": "Archiwum ({})",
"asset_list_layout_settings_dynamic_layout_title": "Układ dynamiczny",
@@ -115,8 +111,6 @@
"cache_settings_statistics_title": "Użycie Cache",
"cache_settings_subtitle": "Kontrolowanie zachowania buforowania aplikacji mobilnej Immich",
"cache_settings_thumbnail_size": "Rozmiar pamięci podręcznej miniatur ({} zasobów)",
"cache_settings_tile_subtitle": "Kontroluj zachowanie lokalnego magazynu",
"cache_settings_tile_title": "Lokalny magazyn",
"cache_settings_title": "Ustawienia Buforowania",
"change_password_form_confirm_password": "Potwierdź Hasło",
"change_password_form_description": "Cześć {firstName} {lastName},\n\nPierwszy raz logujesz się do systemu, albo złożono prośbę o zmianę hasła. Wpisz poniżej nowe hasło.",
@@ -137,9 +131,9 @@
"control_bottom_app_bar_favorite": "Ulubione",
"control_bottom_app_bar_share": "Udostępnij",
"control_bottom_app_bar_share_to": "Share To",
"control_bottom_app_bar_stack": "Stos",
"control_bottom_app_bar_stack": "Stack",
"control_bottom_app_bar_unarchive": "Cofnij archiwizację",
"control_bottom_app_bar_upload": "Wgraj",
"control_bottom_app_bar_upload": "Upload",
"create_album_page_untitled": "Bez tytułu",
"create_shared_album_page_create": "Utwórz",
"create_shared_album_page_share": "Udostępnij",
@@ -154,8 +148,8 @@
"delete_dialog_cancel": "Anuluj",
"delete_dialog_ok": "Usuń",
"delete_dialog_title": "Usuń trwale",
"delete_shared_link_dialog_content": "Czy na pewno chcesz usunąć ten udostępniony link?",
"delete_shared_link_dialog_title": "Usuń udostępniony link",
"delete_shared_link_dialog_content": "Are you sure you want to delete this shared link?",
"delete_shared_link_dialog_title": "Delete Shared Link",
"description_input_hint_text": "Dodaj opis...",
"description_input_submit_error": "Błąd aktualizacji opisu, sprawdź dziennik, aby uzyskać więcej szczegółów",
"exif_bottom_sheet_description": "Dodaj Opis...",
@@ -177,7 +171,7 @@
"home_page_upload_err_limit": "Można przesłać maksymalnie 30 zasobów jednocześnie, pomijanie",
"image_viewer_page_state_provider_download_error": "Błąd pobierania",
"image_viewer_page_state_provider_download_success": "Pobieranie zakończone",
"image_viewer_page_state_provider_share_error": "Udostępnij błąd",
"image_viewer_page_state_provider_share_error": "Share Error",
"library_page_albums": "Albumy",
"library_page_archive": "Archiwum",
"library_page_device_albums": "Albumy na Urządzeniu",
@@ -185,8 +179,8 @@
"library_page_new_album": "Nowy album",
"library_page_sharing": "Udostępnianie",
"library_page_sort_created": "Ostatnio utworzone",
"library_page_sort_last_modified": "Ostatnio zmodyfikowany",
"library_page_sort_most_recent_photo": "Najnowsze zdjęcie",
"library_page_sort_last_modified": "Last modified",
"library_page_sort_most_recent_photo": "Most recent photo",
"library_page_sort_title": "Tytuł albumu",
"login_disabled": "Logowanie zostało wyłączone",
"login_form_api_exception": "Wyjątek API. Sprawdź adres URL serwera i spróbuj ponownie.",
@@ -224,7 +218,7 @@
"map_settings_dialog_cancel": "Anuluj",
"map_settings_dialog_save": "Zapisz",
"map_settings_dialog_title": "Ustawienia mapy",
"map_settings_include_show_archived": "Uwzględnij zarchiwizowane",
"map_settings_include_show_archived": "Include Archived",
"map_settings_only_relative_range": "Zakres dat",
"map_settings_only_show_favorites": "Pokaż tylko ulubione",
"map_zoom_to_see_photos": "Pomniejsz, aby zobaczyć zdjęcia",
@@ -256,11 +250,9 @@
"permission_onboarding_request": "Immich potrzebuje pozwolenia na przeglądanie Twoich zdjęć i filmów.",
"profile_drawer_app_logs": "Logi",
"profile_drawer_client_server_up_to_date": "Klient i serwer są aktualne",
"profile_drawer_documentation": "Dokumentacja",
"profile_drawer_github": "GitHub",
"profile_drawer_settings": "Ustawienia",
"profile_drawer_sign_out": "Wyloguj się",
"profile_drawer_trash": "Kosz",
"profile_drawer_trash": "Trash",
"recently_added_page_title": "Ostatnio Dodane",
"search_bar_hint": "Szukaj swoich zdjęć",
"search_page_categories": "Kategorie",
@@ -284,7 +276,6 @@
"select_user_for_sharing_page_err_album": "Nie udało się utworzyć albumu",
"select_user_for_sharing_page_share_suggestions": "Propozycje",
"server_info_box_app_version": "Wersja Aplikacji",
"server_info_box_server_url": "Adres URL",
"server_info_box_server_version": "Wersja Serwera",
"setting_image_viewer_help": "Przeglądarka szczegółów najpierw ładuje małą miniaturę, następnie ładuje podgląd średniej wielkości (jeśli jest włączony), a na koniec ładuje oryginał (jeśli jest włączony).",
"setting_image_viewer_original_subtitle": "Włącz ładowanie oryginalnego obrazu w pełnej rozdzielczości (dużego!). Wyłącz, aby zmniejszyć zużycie danych (zarówno w sieci, jak i w pamięci podręcznej urządzenia).",
@@ -309,37 +300,28 @@
"share_add_photos": "Dodaj zdjęcia",
"share_add_title": "Dodaj tytuł",
"share_create_album": "Utwórz album",
"shared_album_activities_input_disable": "Komentarz jest wyłączony",
"shared_album_activities_input_hint": "Powiedz coś",
"shared_album_activity_remove_content": "Czy chcesz usunąć tę aktywność?",
"shared_album_activity_remove_title": "Usuń aktywność",
"shared_album_activity_setting_subtitle": "Pozwól innym odpowiedzieć",
"shared_album_activity_setting_title": "Komentarze i polubienia",
"share_dialog_preparing": "Przygotowywanie...",
"shared_link_app_bar_title": "Udostępnione linki",
"shared_link_create_app_bar_title": "Utwórz link do udostępnienia",
"shared_link_create_info": "Pozwól każdemu, kto ma link, zobaczyć wybrane zdjęcia",
"shared_link_create_submit_button": "Utwórz link",
"shared_link_edit_allow_download": "Zezwalaj użytkownikowi publicznemu na pobieranie",
"shared_link_edit_allow_upload": "Zezwalaj użytkownikowi publicznemu na przesyłanie",
"shared_link_edit_app_bar_title": "Edytuj link",
"shared_link_edit_change_expiry": "Zmień czas ważności",
"shared_link_edit_description": "Opis",
"shared_link_edit_description_hint": "Wprowadź opis udostępnienia",
"shared_link_edit_expire_after": "Expire after",
"shared_link_edit_password": "Hasło",
"shared_link_edit_password_hint": "Wprowadź hasło udostępniania",
"shared_link_edit_show_meta": "Pokaż metadane",
"shared_link_edit_submit_button": "Aktualizuj link",
"shared_link_empty": "Nie masz żadnych udostępnionych linków",
"shared_link_manage_links": "Zarządzaj udostępnionymi linkami",
"share_done": "Zrobione",
"shared_link_app_bar_title": "Shared Links",
"shared_link_create_app_bar_title": "Create link to share",
"shared_link_create_info": "Let anyone with the link see the selected photo(s)",
"shared_link_create_submit_button": "Create link",
"shared_link_edit_allow_download": "Allow public user to download",
"shared_link_edit_allow_upload": "Allow public user to upload",
"shared_link_edit_app_bar_title": "Edit link",
"shared_link_edit_change_expiry": "Change expiration time",
"shared_link_edit_description": "Description",
"shared_link_edit_description_hint": "Enter the share description",
"shared_link_edit_show_meta": "Show metadata",
"shared_link_edit_submit_button": "Update link",
"shared_link_empty": "You don't have any shared links",
"shared_link_manage_links": "Manage Shared links",
"share_done": "Done",
"share_invite": "Zaproś do albumu",
"sharing_page_album": "Udostępnione albumy",
"sharing_page_description": "Twórz wspóldzielone albumy, aby udostępniać zdjęcia i filmy osobom w sieci.",
"sharing_page_empty_list": "PUSTA LISTA",
"sharing_silver_appbar_create_shared_album": "Utwórz współdzielony album",
"sharing_silver_appbar_shared_links": "Udostępnione linki",
"sharing_silver_appbar_shared_links": "Shared links",
"sharing_silver_appbar_share_partner": "Udostępnij partnerce/partnerowi",
"tab_controller_nav_library": "Biblioteka",
"tab_controller_nav_photos": "Zdjęcia",
@@ -356,18 +338,18 @@
"theme_setting_three_stage_loading_subtitle": "Trójstopniowe ładowanie może zwiększyć wydajność ładowania, ale powoduje znacznie większe obciążenie sieci",
"theme_setting_three_stage_loading_title": "Włączenie trójstopniowego ładowania",
"translated_text_options": "Opcje",
"trash_page_delete": "Usuń",
"trash_page_delete_all": "Usuń wszystko",
"trash_page_delete": "Delete",
"trash_page_delete_all": "Delete All",
"trash_page_empty_trash_btn": "Empty trash",
"trash_page_empty_trash_dialog_content": "Czy chcesz opróżnić swoje usunięte zasoby? Przedmioty te zostaną trwale usunięte z Immich",
"trash_page_empty_trash_dialog_content": "Do you want to empty your trashed assets? These items will be permanently removed from Immich",
"trash_page_empty_trash_dialog_ok": "Ok",
"trash_page_info": "Elementy przeniesione do kosza zostaną trwale usunięte po {} dniach",
"trash_page_no_assets": "Brak usuniętych zasobów",
"trash_page_restore": "Przywrócić",
"trash_page_restore_all": "Przywrócić wszystkie",
"trash_page_select_assets_btn": "Wybierz zasoby",
"trash_page_select_btn": "Wybierz",
"trash_page_title": "Kosz({})",
"trash_page_info": "Trashed items will be permanently deleted after {} days",
"trash_page_no_assets": "No trashed assets",
"trash_page_restore": "Restore",
"trash_page_restore_all": "Restore All",
"trash_page_select_assets_btn": "Select assets",
"trash_page_select_btn": "Select",
"trash_page_title": "Trash ({})",
"upload_dialog_cancel": "Anuluj",
"upload_dialog_info": "Czy chcesz wykonać kopię zapasową wybranych zasobów na serwerze?",
"upload_dialog_ok": "Prześlij",
@@ -378,7 +360,7 @@
"version_announcement_overlay_text_2": "prosimy o poświęcenie czasu na odwiedzenie ",
"version_announcement_overlay_text_3": " i upewnij się, że twoja konfiguracja docker-compose i .env jest aktualna, aby zapobiec błędnym konfiguracjom, zwłaszcza jeśli używasz WatchTower lub dowolnego mechanizmu, który obsługuje automatyczną aktualizację aplikacji serwera.",
"version_announcement_overlay_title": "Nowa wersja serwera dostępna \uD83C\uDF89",
"viewer_remove_from_stack": "Usuń ze stosu",
"viewer_stack_use_as_main_asset": "Użyj jako głównego zasobu",
"viewer_unstack": "Usuń stos"
"viewer_remove_from_stack": "Remove from Stack",
"viewer_stack_use_as_main_asset": "Use as Main Asset",
"viewer_unstack": "Un-Stack"
}

View File

@@ -23,13 +23,9 @@
"album_viewer_appbar_share_err_title": "Ошибка переименования альбома",
"album_viewer_appbar_share_leave": "Покинуть альбом",
"album_viewer_appbar_share_remove": "Удалить из альбома",
"album_viewer_appbar_share_to": "Share To",
"album_viewer_page_share_add_users": "Добавить пользователей",
"all_people_page_title": "Люди",
"all_videos_page_title": "Видео",
"app_bar_signout_dialog_content": "Вы уверены, что хотите выйти из системы?",
"app_bar_signout_dialog_ok": "Да",
"app_bar_signout_dialog_title": "Выйти из системы",
"archive_page_no_archived_assets": "В архиве сейчас пусто",
"archive_page_title": "Архив ({})",
"asset_list_layout_settings_dynamic_layout_title": "Динамическое расположение",
@@ -115,8 +111,6 @@
"cache_settings_statistics_title": "Размер кэша",
"cache_settings_subtitle": "Управление кэшированием мобильного приложения Immich",
"cache_settings_thumbnail_size": "Размер кэша эскизов ({} объектов)",
"cache_settings_tile_subtitle": "Управление поведением локального хранилища",
"cache_settings_tile_title": "Локальное хранилище",
"cache_settings_title": "Настройки кэширования",
"change_password_form_confirm_password": "Подтвердите пароль",
"change_password_form_description": "Привет {firstName} {lastName},\n\nЭто либо ваш первый вход в систему, либо был сделан запрос на смену пароля. Пожалуйста, введите новый пароль ниже.",
@@ -136,10 +130,10 @@
"control_bottom_app_bar_delete": "Удалить",
"control_bottom_app_bar_favorite": "Избранное",
"control_bottom_app_bar_share": "Поделиться",
"control_bottom_app_bar_share_to": "Поделиться",
"control_bottom_app_bar_stack": "Стек",
"control_bottom_app_bar_share_to": "Share To",
"control_bottom_app_bar_stack": "Stack",
"control_bottom_app_bar_unarchive": "Восстановить",
"control_bottom_app_bar_upload": "Загрузить",
"control_bottom_app_bar_upload": "Upload",
"create_album_page_untitled": "Без названия",
"create_shared_album_page_create": "Создать",
"create_shared_album_page_share": "Поделиться",
@@ -154,8 +148,8 @@
"delete_dialog_cancel": "Отменить",
"delete_dialog_ok": "Удалить",
"delete_dialog_title": "Удалить навсегда",
"delete_shared_link_dialog_content": "Вы уверены, что хотите удалить эту общую ссылку?",
"delete_shared_link_dialog_title": "Удалить общую ссылку",
"delete_shared_link_dialog_content": "Are you sure you want to delete this shared link?",
"delete_shared_link_dialog_title": "Delete Shared Link",
"description_input_hint_text": "Добавить описание...",
"description_input_submit_error": "Не удалось обновить описание, проверьте логи, чтобы узнать причину",
"exif_bottom_sheet_description": "Добавить описание...",
@@ -177,7 +171,7 @@
"home_page_upload_err_limit": "Вы можете выгрузить максимум 30 файлов за раз",
"image_viewer_page_state_provider_download_error": "Ошибка загрузки",
"image_viewer_page_state_provider_download_success": "Успешно загружено",
"image_viewer_page_state_provider_share_error": "Ошибка при публикации",
"image_viewer_page_state_provider_share_error": "Share Error",
"library_page_albums": "Альбомы",
"library_page_archive": "Архив",
"library_page_device_albums": "Альбомы на устройстве",
@@ -185,8 +179,8 @@
"library_page_new_album": "Новый альбом",
"library_page_sharing": "Общие",
"library_page_sort_created": "По новизне",
"library_page_sort_last_modified": "Последнее изменение",
"library_page_sort_most_recent_photo": "Последняя фотография",
"library_page_sort_last_modified": "Last modified",
"library_page_sort_most_recent_photo": "Most recent photo",
"library_page_sort_title": "По названию альбома",
"login_disabled": "Вход отключен",
"login_form_api_exception": "Ошибка при попытке взаимодействия с сервером. Проверьте URL-адрес до него и попробуйте еще раз.",
@@ -224,7 +218,7 @@
"map_settings_dialog_cancel": "Отмена",
"map_settings_dialog_save": "Сохранить",
"map_settings_dialog_title": "Настройки карты",
"map_settings_include_show_archived": "Включить архивные данные",
"map_settings_include_show_archived": "Include Archived",
"map_settings_only_relative_range": "Период времени",
"map_settings_only_show_favorites": "Показать только избранное",
"map_zoom_to_see_photos": "Уменьшение масштаба для просмотра фотографий",
@@ -256,11 +250,9 @@
"permission_onboarding_request": "Immich просит вас предоставить разрешение на доступ к вашим фото и видео",
"profile_drawer_app_logs": "Журнал",
"profile_drawer_client_server_up_to_date": "Клиент и сервер обновлены",
"profile_drawer_documentation": "Документация",
"profile_drawer_github": "GitHub",
"profile_drawer_settings": "Настройки",
"profile_drawer_sign_out": "Выйти",
"profile_drawer_trash": "Корзина",
"profile_drawer_trash": "Trash",
"recently_added_page_title": "Недавно добавленные",
"search_bar_hint": "Поиск фотографий",
"search_page_categories": "Категории",
@@ -284,7 +276,6 @@
"select_user_for_sharing_page_err_album": "\nНе удалось создать альбом",
"select_user_for_sharing_page_share_suggestions": "Предложения",
"server_info_box_app_version": "Версия приложения",
"server_info_box_server_url": "URL сервера",
"server_info_box_server_version": "Версия сервера",
"setting_image_viewer_help": "Средство просмотра деталей сначала загружает маленькую миниатюру, затем загружает предварительный просмотр среднего размера (если включено) и, наконец, загружает оригинал (если включено).",
"setting_image_viewer_original_subtitle": "Включите загрузку оригинального изображения в полном разрешении (большое!). Отключите, чтобы уменьшить объем данных (как в сети, так и в кеше устройства).",
@@ -309,37 +300,28 @@
"share_add_photos": "Добавить фото",
"share_add_title": "Добавить название",
"share_create_album": "Создать альбом",
"shared_album_activities_input_disable": "Comment is disabled",
"shared_album_activities_input_hint": "Say something",
"shared_album_activity_remove_content": "Do you want to delete this activity?",
"shared_album_activity_remove_title": "Delete Activity",
"shared_album_activity_setting_subtitle": "Let others respond",
"shared_album_activity_setting_title": "Comments & likes",
"share_dialog_preparing": "Подготовка...",
"shared_link_app_bar_title": "Общие ссылки",
"shared_link_create_app_bar_title": "Создать ссылку для совместного использования",
"shared_link_create_info": "Позволить любому человеку, имеющему ссылку, увидеть выбранную фотографию (фотографии)",
"shared_link_create_submit_button": "Создать ссылку",
"shared_link_edit_allow_download": "Разрешить публичному пользователю скачивать",
"shared_link_edit_allow_upload": "Разрешить публичному пользователю загружать файлы",
"shared_link_edit_app_bar_title": "Редактировать ссылку",
"shared_link_edit_change_expiry": "Изменить срок действия доступа",
"shared_link_edit_description": "Описание",
"shared_link_edit_description_hint": "Введите описание совместного доступа",
"shared_link_edit_expire_after": "Expire after",
"shared_link_edit_password": "Пароль",
"shared_link_edit_password_hint": "Введите пароль общего доступа",
"shared_link_edit_show_meta": "Показать метаданные",
"shared_link_edit_submit_button": "Обновить ссылку",
"shared_link_empty": "У вас нет общих ссылок",
"shared_link_manage_links": "Управление общими ссылками",
"share_done": "Выполнено",
"shared_link_app_bar_title": "Shared Links",
"shared_link_create_app_bar_title": "Create link to share",
"shared_link_create_info": "Let anyone with the link see the selected photo(s)",
"shared_link_create_submit_button": "Create link",
"shared_link_edit_allow_download": "Allow public user to download",
"shared_link_edit_allow_upload": "Allow public user to upload",
"shared_link_edit_app_bar_title": "Edit link",
"shared_link_edit_change_expiry": "Change expiration time",
"shared_link_edit_description": "Description",
"shared_link_edit_description_hint": "Enter the share description",
"shared_link_edit_show_meta": "Show metadata",
"shared_link_edit_submit_button": "Update link",
"shared_link_empty": "You don't have any shared links",
"shared_link_manage_links": "Manage Shared links",
"share_done": "Done",
"share_invite": "\nПригласить в альбом",
"sharing_page_album": "Общие альбомы",
"sharing_page_description": "Создавайте общие альбомы, чтобы делиться фотографиями и видео с людьми в вашей сети.",
"sharing_page_empty_list": "ПУСТОЙ СПИСОК",
"sharing_silver_appbar_create_shared_album": "Создать общий альбом",
"sharing_silver_appbar_shared_links": "Общие ссылки",
"sharing_silver_appbar_shared_links": "Shared links",
"sharing_silver_appbar_share_partner": "Поделиться с партнёром",
"tab_controller_nav_library": "Библиотека",
"tab_controller_nav_photos": "Фото",
@@ -356,18 +338,18 @@
"theme_setting_three_stage_loading_subtitle": "Трехэтапная загрузка может повысить производительность загрузки, но вызывает значительно более высокую нагрузку на сеть",
"theme_setting_three_stage_loading_title": "Включить трехэтапную загрузку",
"translated_text_options": "Опции",
"trash_page_delete": "Удалить",
"trash_page_delete_all": "Удалить все",
"trash_page_empty_trash_btn": "Очистить корзину",
"trash_page_empty_trash_dialog_content": "Вы хотите очистить свою корзину? Эти объекты будут навсегда удалены из Immich",
"trash_page_empty_trash_dialog_ok": "ОК",
"trash_page_info": "Удаленные элементы будут окончательно удалены через {} дней",
"trash_page_no_assets": "Отсутствие удаленных объектов",
"trash_page_restore": "Восстановить",
"trash_page_restore_all": "Восстановить все",
"trash_page_select_assets_btn": "Выбранные объекты",
"trash_page_select_btn": "Выбрать",
"trash_page_title": "Корзина ({})",
"trash_page_delete": "Delete",
"trash_page_delete_all": "Delete All",
"trash_page_empty_trash_btn": "Empty trash",
"trash_page_empty_trash_dialog_content": "Do you want to empty your trashed assets? These items will be permanently removed from Immich",
"trash_page_empty_trash_dialog_ok": "Ok",
"trash_page_info": "Trashed items will be permanently deleted after {} days",
"trash_page_no_assets": "No trashed assets",
"trash_page_restore": "Restore",
"trash_page_restore_all": "Restore All",
"trash_page_select_assets_btn": "Select assets",
"trash_page_select_btn": "Select",
"trash_page_title": "Trash ({})",
"upload_dialog_cancel": "Отмена",
"upload_dialog_info": "Вы хотите загрузить выбранный объект(ы) на ваш сервер?",
"upload_dialog_ok": "Загрузить",
@@ -378,7 +360,7 @@
"version_announcement_overlay_text_2": "пожалуйста, найдите время, чтобы посетить",
"version_announcement_overlay_text_3": " и убедитесь, что ваши настройки docker-compose и .env обновлены, чтобы предотвратить любые неправильные настройки, особенно если вы используете WatchTower или любой другой механизм, который обрабатывает обновление вашего серверного приложения автоматически.",
"version_announcement_overlay_title": "Доступна новая версия сервера \uD83C\uDF89",
"viewer_remove_from_stack": "Удалить из стека",
"viewer_stack_use_as_main_asset": "Использование в качестве основного объекта",
"viewer_unstack": "Разобрать стек"
"viewer_remove_from_stack": "Remove from Stack",
"viewer_stack_use_as_main_asset": "Use as Main Asset",
"viewer_unstack": "Un-Stack"
}

View File

@@ -23,13 +23,9 @@
"album_viewer_appbar_share_err_title": "Nepodarilo sa zmeniť názov albumu",
"album_viewer_appbar_share_leave": "Opustiť album",
"album_viewer_appbar_share_remove": "Odstrániť z albumu",
"album_viewer_appbar_share_to": "Share To",
"album_viewer_page_share_add_users": "Pridať používateľov",
"all_people_page_title": "Ľudia",
"all_videos_page_title": "Videá",
"app_bar_signout_dialog_content": "Skutočne sa chcete odhlásiť?",
"app_bar_signout_dialog_ok": "Áno",
"app_bar_signout_dialog_title": "Odhlásiť sa",
"archive_page_no_archived_assets": "Žiadne archivované médiá",
"archive_page_title": "Archív ({})",
"asset_list_layout_settings_dynamic_layout_title": "Dynamické rozloženie",
@@ -69,7 +65,7 @@
"backup_controller_page_background_is_on": "Automatické zálohovanie na pozadí je zapnuté",
"backup_controller_page_background_turn_off": "Vypnúť zálohovanie na pozadí",
"backup_controller_page_background_turn_on": "Povoliť zálohovanie na pozadí",
"backup_controller_page_background_wifi": "Len cez WiFi",
"backup_controller_page_background_wifi": "Len na WiFi",
"backup_controller_page_backup": "Zálohovanie",
"backup_controller_page_backup_selected": "Vybrané: ",
"backup_controller_page_backup_sub": "Zálohované fotografie a videa",
@@ -90,7 +86,7 @@
"backup_controller_page_status_off": "Automatické zálohovanie na popredí je vypnuté",
"backup_controller_page_status_on": "Automatické zálohovanie na popredí je zapnuté",
"backup_controller_page_storage_format": "{} z {} použitých",
"backup_controller_page_to_backup": "Albumy ktoré budú zálohova",
"backup_controller_page_to_backup": "Albumy, ktoré sa majú zálohovať",
"backup_controller_page_total": "Celkom",
"backup_controller_page_total_sub": "Všetky jedinečné fotografie a videá z vybraných albumov",
"backup_controller_page_turn_off": "Vypnúť zálohovanie na popredí",
@@ -115,8 +111,6 @@
"cache_settings_statistics_title": "Použitie vyrovnávacej pamäte",
"cache_settings_subtitle": "Ovládanie správania mobilnej aplikácie Immich v medzipamäti",
"cache_settings_thumbnail_size": "Veľkosť vyrovnávacej pamäte náhľadov (položiek {})",
"cache_settings_tile_subtitle": "Ovládanie správania lokálneho úložiska",
"cache_settings_tile_title": "Lokálne úložisko",
"cache_settings_title": "Nastavenia vyrovnávacej pamäte",
"change_password_form_confirm_password": "Potvrďte heslo",
"change_password_form_description": "Dobrý deň, {firstName} {lastName},\n\nBuď sa do systému prihlasujete prvýkrát, alebo bola podaná žiadosť o zmenu hesla. Prosím, zadajte nové heslo nižšie.",
@@ -131,15 +125,15 @@
"control_bottom_app_bar_add_to_album": "Pridať do albumu",
"control_bottom_app_bar_album_info": "{} položiek",
"control_bottom_app_bar_album_info_shared": "{} položiek - zdieľané",
"control_bottom_app_bar_archive": "Archivovať",
"control_bottom_app_bar_archive": "Archív",
"control_bottom_app_bar_create_new_album": "Vytvoriť nový album",
"control_bottom_app_bar_delete": "Vymazať",
"control_bottom_app_bar_favorite": "Obľúbené",
"control_bottom_app_bar_share": "Zdieľať",
"control_bottom_app_bar_share_to": "Share To",
"control_bottom_app_bar_stack": "Zoskupenie",
"control_bottom_app_bar_stack": "Stack",
"control_bottom_app_bar_unarchive": "Odarchivovať",
"control_bottom_app_bar_upload": "Nahrať",
"control_bottom_app_bar_upload": "Upload",
"create_album_page_untitled": "Bez názvu",
"create_shared_album_page_create": "Vytvoriť",
"create_shared_album_page_share": "Zdieľať",
@@ -154,8 +148,8 @@
"delete_dialog_cancel": "Zrušiť",
"delete_dialog_ok": "Vymazať",
"delete_dialog_title": "Vymazať natrvalo",
"delete_shared_link_dialog_content": "Ste si istí že chcete odstrániť tento zdieľaný odkaz?",
"delete_shared_link_dialog_title": "Odstrániť zdieľaný odkaz",
"delete_shared_link_dialog_content": "Are you sure you want to delete this shared link?",
"delete_shared_link_dialog_title": "Delete Shared Link",
"description_input_hint_text": "Pridať popis...",
"description_input_submit_error": "Chyba pri aktualizovaní popisu, zobrazte log pre viac detailov",
"exif_bottom_sheet_description": "Pridať popis...",
@@ -177,7 +171,7 @@
"home_page_upload_err_limit": "Naraz môžete nahrať len 30 médií, preskakujem...",
"image_viewer_page_state_provider_download_error": "Chyba sťahovania",
"image_viewer_page_state_provider_download_success": "Sťahovanie bolo úspešné",
"image_viewer_page_state_provider_share_error": "Chyba zdieľania",
"image_viewer_page_state_provider_share_error": "Share Error",
"library_page_albums": "Albumy",
"library_page_archive": "Archív",
"library_page_device_albums": "Albumy v zariadení",
@@ -185,8 +179,8 @@
"library_page_new_album": "Nový album",
"library_page_sharing": "Zdieľanie",
"library_page_sort_created": "Najnovšie vytvorené",
"library_page_sort_last_modified": "Naposledy upravené",
"library_page_sort_most_recent_photo": "Najnovšia fotka",
"library_page_sort_last_modified": "Last modified",
"library_page_sort_most_recent_photo": "Most recent photo",
"library_page_sort_title": "Podľa názvu albumu",
"login_disabled": "Prihlasovanie bolo vypnuté",
"login_form_api_exception": "Chyba API. Skontrolujte adresu URL servera a skúste to znova.",
@@ -224,7 +218,7 @@
"map_settings_dialog_cancel": "Zrušiť",
"map_settings_dialog_save": "Uložiť",
"map_settings_dialog_title": "Nastavenia máp",
"map_settings_include_show_archived": "Zahrnúť archivované",
"map_settings_include_show_archived": "Include Archived",
"map_settings_only_relative_range": "Rozsah dátumu",
"map_settings_only_show_favorites": "Zobraziť iba obľúbené",
"map_zoom_to_see_photos": "Oddiaľte priblíženie aby ste videli fotky",
@@ -256,11 +250,9 @@
"permission_onboarding_request": "Immich vyžaduje povolenie na prezeranie vašich fotografií a videí.",
"profile_drawer_app_logs": "Logy",
"profile_drawer_client_server_up_to_date": "Klient a server sú aktuálne",
"profile_drawer_documentation": "Dokumentácia",
"profile_drawer_github": "GitHub",
"profile_drawer_settings": "Nastavenia",
"profile_drawer_sign_out": "Odhlásiť sa",
"profile_drawer_trash": "Kôš",
"profile_drawer_trash": "Trash",
"recently_added_page_title": "Nedávno pridané",
"search_bar_hint": "Prehľadajte svoje obrázky",
"search_page_categories": "Kategórie",
@@ -284,7 +276,6 @@
"select_user_for_sharing_page_err_album": "Nepodarilo sa vytvoriť album",
"select_user_for_sharing_page_share_suggestions": "Návrhy",
"server_info_box_app_version": "Verzia aplikácie",
"server_info_box_server_url": "URL Serveru",
"server_info_box_server_version": "Verzia servera",
"setting_image_viewer_help": "Prehliadač detailov najprv načíta malú miniatúru, potom načíta náhľad strednej veľkosti (ak je povolený) a nakoniec načíta originál (ak je povolený).",
"setting_image_viewer_original_subtitle": "Povolením umožníte načítať pôvodný obrázok v plnom rozlíšení (veľký!). Zakázaním znížite používania dát (v sieti, aj v dočasnej pamäte zariadenia).",
@@ -309,37 +300,28 @@
"share_add_photos": "Pridať fotografie",
"share_add_title": "Pridať názov",
"share_create_album": "Vytvoriť album",
"shared_album_activities_input_disable": "Comment is disabled",
"shared_album_activities_input_hint": "Say something",
"shared_album_activity_remove_content": "Do you want to delete this activity?",
"shared_album_activity_remove_title": "Delete Activity",
"shared_album_activity_setting_subtitle": "Let others respond",
"shared_album_activity_setting_title": "Comments & likes",
"share_dialog_preparing": "Pripravujem...",
"shared_link_app_bar_title": "Zdieľané odkazy",
"shared_link_create_app_bar_title": "Vytvoriť odkaz na zdieľanie",
"shared_link_create_info": "Umožniť komukoľvek s odkazom zobraziť označené médiá",
"shared_link_create_submit_button": "Vytvoriť odkaz",
"shared_link_edit_allow_download": "Povoliť návštevníkom sťahovať médiá",
"shared_link_edit_allow_upload": "Povoliť návštevníkom pridávať médiá",
"shared_link_edit_app_bar_title": "Upraviť odkaz",
"shared_link_edit_change_expiry": "Zmeniť čas vypršania",
"shared_link_edit_description": "Popis",
"shared_link_edit_description_hint": "Zadajte popis zdieľania",
"shared_link_edit_expire_after": "Expire after",
"shared_link_edit_password": "Heslo",
"shared_link_edit_password_hint": "Zadajte heslo zdieľania",
"shared_link_edit_show_meta": "Zobraziť metadáta",
"shared_link_edit_submit_button": "Aktualizovať odkaz",
"shared_link_empty": "Zatiaľ nemáte žiadne zdieľané odkazy",
"shared_link_manage_links": "Spravovať zdieľané odkazy",
"share_done": "Hotovo",
"shared_link_app_bar_title": "Shared Links",
"shared_link_create_app_bar_title": "Create link to share",
"shared_link_create_info": "Let anyone with the link see the selected photo(s)",
"shared_link_create_submit_button": "Create link",
"shared_link_edit_allow_download": "Allow public user to download",
"shared_link_edit_allow_upload": "Allow public user to upload",
"shared_link_edit_app_bar_title": "Edit link",
"shared_link_edit_change_expiry": "Change expiration time",
"shared_link_edit_description": "Description",
"shared_link_edit_description_hint": "Enter the share description",
"shared_link_edit_show_meta": "Show metadata",
"shared_link_edit_submit_button": "Update link",
"shared_link_empty": "You don't have any shared links",
"shared_link_manage_links": "Manage Shared links",
"share_done": "Done",
"share_invite": "Pozvať do albumu",
"sharing_page_album": "Zdieľané albumy",
"sharing_page_description": "Vytvárajte zdieľané albumy a zdieľajte fotografie a videá s ľuďmi vo vašej sieti.",
"sharing_page_empty_list": "Prázdny list",
"sharing_silver_appbar_create_shared_album": "Vytvoriť zdieľaný album",
"sharing_silver_appbar_shared_links": "Zdieľané odkazy",
"sharing_silver_appbar_shared_links": "Shared links",
"sharing_silver_appbar_share_partner": "Zdieľať s partnerom",
"tab_controller_nav_library": "Knižnica",
"tab_controller_nav_photos": "Fotografie",
@@ -356,18 +338,18 @@
"theme_setting_three_stage_loading_subtitle": "Trojstupňové načítanie môže zvýšiť výkonnosť načítania, ale vedie k výrazne vyššiemu zaťaženiu siete.",
"theme_setting_three_stage_loading_title": "Povolenie trojstupňového načítavania",
"translated_text_options": "Nastavenia",
"trash_page_delete": "Vymazať",
"trash_page_delete_all": "Vymazať všetky",
"trash_page_empty_trash_btn": "Vyprázdniť kôš",
"trash_page_empty_trash_dialog_content": "Skutočne chcete vyprázdniť kôš? Tieto položky budú permanentne odstránené z Immichu",
"trash_page_delete": "Delete",
"trash_page_delete_all": "Delete All",
"trash_page_empty_trash_btn": "Empty trash",
"trash_page_empty_trash_dialog_content": "Do you want to empty your trashed assets? These items will be permanently removed from Immich",
"trash_page_empty_trash_dialog_ok": "Ok",
"trash_page_info": "Médiá v koši sa permanentne odstránia po {} dňoch",
"trash_page_no_assets": "Žiadne médiá v koši",
"trash_page_restore": "Obnoviť",
"trash_page_restore_all": "Obnoviť všetky",
"trash_page_select_assets_btn": "Označiť médiá",
"trash_page_select_btn": "Označiť",
"trash_page_title": "Kôš ({})",
"trash_page_info": "Trashed items will be permanently deleted after {} days",
"trash_page_no_assets": "No trashed assets",
"trash_page_restore": "Restore",
"trash_page_restore_all": "Restore All",
"trash_page_select_assets_btn": "Select assets",
"trash_page_select_btn": "Select",
"trash_page_title": "Trash ({})",
"upload_dialog_cancel": "Zrušiť",
"upload_dialog_info": "Chcete zálohovať zvolené médiá na server?",
"upload_dialog_ok": "Nahrať",
@@ -378,7 +360,7 @@
"version_announcement_overlay_text_2": "nájdite si čas na návštevu ",
"version_announcement_overlay_text_3": " a uistite sa, že vaša konfigurácia docker-compose a .env je aktuálna, aby ste predišli nesprávnej konfigurácii, najmä ak používate WatchTower alebo akýkoľvek mechanizmus, ktorý podporuje automatické aktualizácie serverových aplikácií.",
"version_announcement_overlay_title": "K dispozícii je nová verzia servera \uD83C\uDF89",
"viewer_remove_from_stack": "Odstrániť zo zoskupenia",
"viewer_stack_use_as_main_asset": "Použiť ako hlavnú fotku",
"viewer_unstack": "Odskupiť"
"viewer_remove_from_stack": "Remove from Stack",
"viewer_stack_use_as_main_asset": "Use as Main Asset",
"viewer_unstack": "Un-Stack"
}

View File

@@ -23,13 +23,9 @@
"album_viewer_appbar_share_err_title": "Failed to change album title",
"album_viewer_appbar_share_leave": "Leave album",
"album_viewer_appbar_share_remove": "Remove from album",
"album_viewer_appbar_share_to": "Share To",
"album_viewer_page_share_add_users": "Add users",
"all_people_page_title": "People",
"all_videos_page_title": "Videos",
"app_bar_signout_dialog_content": "Are you sure you wanna sign out?",
"app_bar_signout_dialog_ok": "Yes",
"app_bar_signout_dialog_title": "Sign out",
"archive_page_no_archived_assets": "No archived assets found",
"archive_page_title": "Archive ({})",
"asset_list_layout_settings_dynamic_layout_title": "Dynamic layout",
@@ -115,8 +111,6 @@
"cache_settings_statistics_title": "Cache usage",
"cache_settings_subtitle": "Control the caching behaviour of the Immich mobile application",
"cache_settings_thumbnail_size": "Thumbnail cache size ({} assets)",
"cache_settings_tile_subtitle": "Control the local storage behaviour",
"cache_settings_tile_title": "Local Storage",
"cache_settings_title": "Caching Settings",
"change_password_form_confirm_password": "Confirm Password",
"change_password_form_description": "Hi {firstName} {lastName},\n\nThis is either the first time you are signing into the system or a request has been made to change your password. Please enter the new password below.",
@@ -256,8 +250,6 @@
"permission_onboarding_request": "Immich requires permission to view your photos and videos.",
"profile_drawer_app_logs": "Logs",
"profile_drawer_client_server_up_to_date": "Client and Server are up-to-date",
"profile_drawer_documentation": "Documentation",
"profile_drawer_github": "GitHub",
"profile_drawer_settings": "Settings",
"profile_drawer_sign_out": "Sign Out",
"profile_drawer_trash": "Trash",
@@ -284,7 +276,6 @@
"select_user_for_sharing_page_err_album": "Failed to create album",
"select_user_for_sharing_page_share_suggestions": "Suggestions",
"server_info_box_app_version": "App Version",
"server_info_box_server_url": "Server URL",
"server_info_box_server_version": "Server Version",
"setting_image_viewer_help": "The detail viewer loads the small thumbnail first, then loads the medium-size preview (if enabled), finally loads the original (if enabled).",
"setting_image_viewer_original_subtitle": "Enable to load the original full-resolution image (large!). Disable to reduce data usage (both network and on device cache).",
@@ -309,12 +300,6 @@
"share_add_photos": "Add photos",
"share_add_title": "Add a title",
"share_create_album": "Create album",
"shared_album_activities_input_disable": "Comment is disabled",
"shared_album_activities_input_hint": "Say something",
"shared_album_activity_remove_content": "Do you want to delete this activity?",
"shared_album_activity_remove_title": "Delete Activity",
"shared_album_activity_setting_subtitle": "Let others respond",
"shared_album_activity_setting_title": "Comments & likes",
"share_dialog_preparing": "Preparing...",
"shared_link_app_bar_title": "Shared Links",
"shared_link_create_app_bar_title": "Create link to share",
@@ -326,9 +311,6 @@
"shared_link_edit_change_expiry": "Change expiration time",
"shared_link_edit_description": "Description",
"shared_link_edit_description_hint": "Enter the share description",
"shared_link_edit_expire_after": "Expire after",
"shared_link_edit_password": "Password",
"shared_link_edit_password_hint": "Enter the share password",
"shared_link_edit_show_meta": "Show metadata",
"shared_link_edit_submit_button": "Update link",
"shared_link_empty": "You don't have any shared links",

View File

@@ -23,13 +23,9 @@
"album_viewer_appbar_share_err_title": "Neuspešno menjanje naziva albuma",
"album_viewer_appbar_share_leave": "Izađi iz albuma",
"album_viewer_appbar_share_remove": "Obriši iz albuma",
"album_viewer_appbar_share_to": "Share To",
"album_viewer_page_share_add_users": "Dodaj korisnike",
"all_people_page_title": "People",
"all_videos_page_title": "Videos",
"app_bar_signout_dialog_content": "Are you sure you wanna sign out?",
"app_bar_signout_dialog_ok": "Yes",
"app_bar_signout_dialog_title": "Sign out",
"archive_page_no_archived_assets": "No archived assets found",
"archive_page_title": "Archive ({})",
"asset_list_layout_settings_dynamic_layout_title": "Dinamični raspored",
@@ -115,8 +111,6 @@
"cache_settings_statistics_title": "Iskorišćena keš memorija",
"cache_settings_subtitle": "Kontrole za keš memoriju mobilne aplikacije Immich",
"cache_settings_thumbnail_size": "Keš memorija koju zauzimaju minijature ({} stavki)",
"cache_settings_tile_subtitle": "Control the local storage behaviour",
"cache_settings_tile_title": "Local Storage",
"cache_settings_title": "Opcije za keširanje",
"change_password_form_confirm_password": "Ponovo unesite šifru",
"change_password_form_description": "Ćao, {firstName}, {lastName}\n\nOvo je verovatno Vaše prvo pristupanje sistemu, ili je podnešen zahtev za promenu šifre. Molimo Vas, unesite novu šifru ispod",
@@ -256,8 +250,6 @@
"permission_onboarding_request": "Immich requires permission to view your photos and videos.",
"profile_drawer_app_logs": "Evidencija",
"profile_drawer_client_server_up_to_date": "Klijent i server su najnovije verzije",
"profile_drawer_documentation": "Documentation",
"profile_drawer_github": "GitHub",
"profile_drawer_settings": "Opcije",
"profile_drawer_sign_out": "Odjavi se",
"profile_drawer_trash": "Trash",
@@ -284,7 +276,6 @@
"select_user_for_sharing_page_err_album": "Neuspešno kreiranje albuma",
"select_user_for_sharing_page_share_suggestions": "Sugestije",
"server_info_box_app_version": "Verzija Aplikacije",
"server_info_box_server_url": "Server URL",
"server_info_box_server_version": "Verzija Servera",
"setting_image_viewer_help": "Detaljno pregledanje prvo učitava minijaturu, pa srednju, pa original. (Ako te opcije uključene)",
"setting_image_viewer_original_subtitle": "Aktiviraj učitavanje slika u punoj rezoluciji (Velika!). Deaktivacijom ove stavke možeš da smanjiš potrošnju interneta i zauzetog prostora na uređaju.",
@@ -309,12 +300,6 @@
"share_add_photos": "Dodaj fotografije",
"share_add_title": "Dodaj naslov",
"share_create_album": "Napravi album",
"shared_album_activities_input_disable": "Comment is disabled",
"shared_album_activities_input_hint": "Say something",
"shared_album_activity_remove_content": "Do you want to delete this activity?",
"shared_album_activity_remove_title": "Delete Activity",
"shared_album_activity_setting_subtitle": "Let others respond",
"shared_album_activity_setting_title": "Comments & likes",
"share_dialog_preparing": "Pripremanje...",
"shared_link_app_bar_title": "Shared Links",
"shared_link_create_app_bar_title": "Create link to share",
@@ -326,9 +311,6 @@
"shared_link_edit_change_expiry": "Change expiration time",
"shared_link_edit_description": "Description",
"shared_link_edit_description_hint": "Enter the share description",
"shared_link_edit_expire_after": "Expire after",
"shared_link_edit_password": "Password",
"shared_link_edit_password_hint": "Enter the share password",
"shared_link_edit_show_meta": "Show metadata",
"shared_link_edit_submit_button": "Update link",
"shared_link_empty": "You don't have any shared links",

View File

@@ -23,13 +23,9 @@
"album_viewer_appbar_share_err_title": "Failed to change album title",
"album_viewer_appbar_share_leave": "Leave album",
"album_viewer_appbar_share_remove": "Remove from album",
"album_viewer_appbar_share_to": "Share To",
"album_viewer_page_share_add_users": "Add users",
"all_people_page_title": "People",
"all_videos_page_title": "Videos",
"app_bar_signout_dialog_content": "Are you sure you wanna sign out?",
"app_bar_signout_dialog_ok": "Yes",
"app_bar_signout_dialog_title": "Sign out",
"archive_page_no_archived_assets": "No archived assets found",
"archive_page_title": "Archive ({})",
"asset_list_layout_settings_dynamic_layout_title": "Dynamic layout",
@@ -115,8 +111,6 @@
"cache_settings_statistics_title": "Cache usage",
"cache_settings_subtitle": "Control the caching behaviour of the Immich mobile application",
"cache_settings_thumbnail_size": "Thumbnail cache size ({} assets)",
"cache_settings_tile_subtitle": "Control the local storage behaviour",
"cache_settings_tile_title": "Local Storage",
"cache_settings_title": "Caching Settings",
"change_password_form_confirm_password": "Confirm Password",
"change_password_form_description": "Hi {firstName} {lastName},\n\nThis is either the first time you are signing into the system or a request has been made to change your password. Please enter the new password below.",
@@ -256,8 +250,6 @@
"permission_onboarding_request": "Immich requires permission to view your photos and videos.",
"profile_drawer_app_logs": "Logs",
"profile_drawer_client_server_up_to_date": "Client and Server are up-to-date",
"profile_drawer_documentation": "Documentation",
"profile_drawer_github": "GitHub",
"profile_drawer_settings": "Settings",
"profile_drawer_sign_out": "Sign Out",
"profile_drawer_trash": "Trash",
@@ -284,7 +276,6 @@
"select_user_for_sharing_page_err_album": "Failed to create album",
"select_user_for_sharing_page_share_suggestions": "Suggestions",
"server_info_box_app_version": "App Version",
"server_info_box_server_url": "Server URL",
"server_info_box_server_version": "Server Version",
"setting_image_viewer_help": "The detail viewer loads the small thumbnail first, then loads the medium-size preview (if enabled), finally loads the original (if enabled).",
"setting_image_viewer_original_subtitle": "Enable to load the original full-resolution image (large!). Disable to reduce data usage (both network and on device cache).",
@@ -309,12 +300,6 @@
"share_add_photos": "Add photos",
"share_add_title": "Add a title",
"share_create_album": "Create album",
"shared_album_activities_input_disable": "Comment is disabled",
"shared_album_activities_input_hint": "Say something",
"shared_album_activity_remove_content": "Do you want to delete this activity?",
"shared_album_activity_remove_title": "Delete Activity",
"shared_album_activity_setting_subtitle": "Let others respond",
"shared_album_activity_setting_title": "Comments & likes",
"share_dialog_preparing": "Preparing...",
"shared_link_app_bar_title": "Shared Links",
"shared_link_create_app_bar_title": "Create link to share",
@@ -326,9 +311,6 @@
"shared_link_edit_change_expiry": "Change expiration time",
"shared_link_edit_description": "Description",
"shared_link_edit_description_hint": "Enter the share description",
"shared_link_edit_expire_after": "Expire after",
"shared_link_edit_password": "Password",
"shared_link_edit_password_hint": "Enter the share password",
"shared_link_edit_show_meta": "Show metadata",
"shared_link_edit_submit_button": "Update link",
"shared_link_empty": "You don't have any shared links",

View File

@@ -23,13 +23,9 @@
"album_viewer_appbar_share_err_title": "Kunde inte ändra albumtitel",
"album_viewer_appbar_share_leave": "Lämna album",
"album_viewer_appbar_share_remove": "Ta bort från album",
"album_viewer_appbar_share_to": "Share To",
"album_viewer_page_share_add_users": "Lägg till användare",
"all_people_page_title": "People",
"all_videos_page_title": "Videos",
"app_bar_signout_dialog_content": "Are you sure you wanna sign out?",
"app_bar_signout_dialog_ok": "Yes",
"app_bar_signout_dialog_title": "Sign out",
"archive_page_no_archived_assets": "No archived assets found",
"archive_page_title": "Arkivera ({})",
"asset_list_layout_settings_dynamic_layout_title": "Dynamisk layout",
@@ -115,8 +111,6 @@
"cache_settings_statistics_title": "Cacheförbrukning",
"cache_settings_subtitle": "Hantera cachebeteendet för Immich-appen.",
"cache_settings_thumbnail_size": "Storlek på cacheminnet ({} bilder och videor)",
"cache_settings_tile_subtitle": "Control the local storage behaviour",
"cache_settings_tile_title": "Local Storage",
"cache_settings_title": "Cache Inställningar",
"change_password_form_confirm_password": "Bekräfta lösenord",
"change_password_form_description": "Hi {firstName} {lastName},\n\nThis is either the first time you are signing into the system or a request has been made to change your password. Please enter the new password below.",
@@ -256,8 +250,6 @@
"permission_onboarding_request": "Immich kräver tillstånd för att se dina foton och videor.",
"profile_drawer_app_logs": "Loggar",
"profile_drawer_client_server_up_to_date": "Klient och server är uppdaterade",
"profile_drawer_documentation": "Documentation",
"profile_drawer_github": "GitHub",
"profile_drawer_settings": "Inställningar",
"profile_drawer_sign_out": "Logga ut",
"profile_drawer_trash": "Trash",
@@ -284,7 +276,6 @@
"select_user_for_sharing_page_err_album": "Kunde inte skapa nytt album",
"select_user_for_sharing_page_share_suggestions": "Förslag",
"server_info_box_app_version": "App version",
"server_info_box_server_url": "Server URL",
"server_info_box_server_version": "Server version",
"setting_image_viewer_help": "Detaljerad vy laddar miniatyrer först. Efter detta laddas den medelstora förhandsgranskningen av bilden (om detta är aktiverat), och visar slutligen originalet (om detta är aktiverat).",
"setting_image_viewer_original_subtitle": "Aktivera för att ladda originalbilden i full storlek (stor!). Inaktivera för att minska dataanvändningen (både i nätverket och för enhetscache).",
@@ -309,12 +300,6 @@
"share_add_photos": "Lägg till foton",
"share_add_title": "Lägg till en titel",
"share_create_album": "Skapa album",
"shared_album_activities_input_disable": "Comment is disabled",
"shared_album_activities_input_hint": "Say something",
"shared_album_activity_remove_content": "Do you want to delete this activity?",
"shared_album_activity_remove_title": "Delete Activity",
"shared_album_activity_setting_subtitle": "Let others respond",
"shared_album_activity_setting_title": "Comments & likes",
"share_dialog_preparing": "Förbereder...",
"shared_link_app_bar_title": "Shared Links",
"shared_link_create_app_bar_title": "Create link to share",
@@ -326,9 +311,6 @@
"shared_link_edit_change_expiry": "Change expiration time",
"shared_link_edit_description": "Description",
"shared_link_edit_description_hint": "Enter the share description",
"shared_link_edit_expire_after": "Expire after",
"shared_link_edit_password": "Password",
"shared_link_edit_password_hint": "Enter the share password",
"shared_link_edit_show_meta": "Show metadata",
"shared_link_edit_submit_button": "Update link",
"shared_link_empty": "You don't have any shared links",

View File

@@ -23,13 +23,9 @@
"album_viewer_appbar_share_err_title": "เปลี่ยนชื่ออัลบั้มไม่สำเร็จ",
"album_viewer_appbar_share_leave": "ออกจากอัลบั้ม",
"album_viewer_appbar_share_remove": "ลบออกจากอัลบั้ม",
"album_viewer_appbar_share_to": "Share To",
"album_viewer_page_share_add_users": "เพิ่มผู้ใช้งาน",
"all_people_page_title": "ผู้คน",
"all_videos_page_title": "วิดีโอ",
"app_bar_signout_dialog_content": "Are you sure you wanna sign out?",
"app_bar_signout_dialog_ok": "Yes",
"app_bar_signout_dialog_title": "Sign out",
"archive_page_no_archived_assets": "ไม่พบทรัพยากรในที่เก็บถาวร",
"archive_page_title": "เก็บถาวร ({})",
"asset_list_layout_settings_dynamic_layout_title": "แผนผังปรับตัว",
@@ -115,8 +111,6 @@
"cache_settings_statistics_title": "การใช้งานแคช",
"cache_settings_subtitle": "ควบคุมพฤติกรรมการแคชของแอปพลิเคชัน Immich",
"cache_settings_thumbnail_size": "ขนาดแคชรูปย่อ ({} ทรัพยากร)",
"cache_settings_tile_subtitle": "Control the local storage behaviour",
"cache_settings_tile_title": "Local Storage",
"cache_settings_title": "ตั้งค่าแคช",
"change_password_form_confirm_password": "ยืนยันรหัสผ่าน",
"change_password_form_description": "สวัสดี {firstName} {lastName},\n\nครั้งนี้อาจจะเป็นครั้งแรกที่คุณเข้าสู่ระบบ หรือมีคำขอเพื่อที่จะเปลี่ยนรหัสผ่านของคุI กรุณาเพิ่มรหัสผ่านใหม่ข้างล่าง",
@@ -256,8 +250,6 @@
"permission_onboarding_request": "Immich จำเป็นจะต้องได้รับสิทธิ์ดูรูปภาพและวิดีโอ",
"profile_drawer_app_logs": "Log",
"profile_drawer_client_server_up_to_date": "ไคลเอนต์และเซิร์ฟเวอร์เป็นปัจจุบัน",
"profile_drawer_documentation": "Documentation",
"profile_drawer_github": "GitHub",
"profile_drawer_settings": "Settings",
"profile_drawer_sign_out": "ออกจากระบบ",
"profile_drawer_trash": "Trash",
@@ -284,7 +276,6 @@
"select_user_for_sharing_page_err_album": "สร้างอัลบั้มล้มเหลว",
"select_user_for_sharing_page_share_suggestions": "Suggestions",
"server_info_box_app_version": "เวอร์ชั่นแอพ",
"server_info_box_server_url": "Server URL",
"server_info_box_server_version": "เวอร์ชั้นเซิร์ฟเวอร์",
"setting_image_viewer_help": "The detail viewer loads the small thumbnail first, then loads the medium-size preview (if enabled), finally loads the original (if enabled).",
"setting_image_viewer_original_subtitle": "Enable to load the original full-resolution image (large!). Disable to reduce data usage (both network and on device cache).",
@@ -309,12 +300,6 @@
"share_add_photos": "เพิ่มรูปภาพ",
"share_add_title": "เพิ่มชื่อ",
"share_create_album": "สร้างอัลบั้ม",
"shared_album_activities_input_disable": "Comment is disabled",
"shared_album_activities_input_hint": "Say something",
"shared_album_activity_remove_content": "Do you want to delete this activity?",
"shared_album_activity_remove_title": "Delete Activity",
"shared_album_activity_setting_subtitle": "Let others respond",
"shared_album_activity_setting_title": "Comments & likes",
"share_dialog_preparing": "กำลังเตรียม...",
"shared_link_app_bar_title": "Shared Links",
"shared_link_create_app_bar_title": "Create link to share",
@@ -326,9 +311,6 @@
"shared_link_edit_change_expiry": "Change expiration time",
"shared_link_edit_description": "Description",
"shared_link_edit_description_hint": "Enter the share description",
"shared_link_edit_expire_after": "Expire after",
"shared_link_edit_password": "Password",
"shared_link_edit_password_hint": "Enter the share password",
"shared_link_edit_show_meta": "Show metadata",
"shared_link_edit_submit_button": "Update link",
"shared_link_empty": "You don't have any shared links",

View File

@@ -23,13 +23,9 @@
"album_viewer_appbar_share_err_title": "Не вдалося змінити назву альбому",
"album_viewer_appbar_share_leave": "Вийти з альбому",
"album_viewer_appbar_share_remove": "Видалити з альбому",
"album_viewer_appbar_share_to": "Share To",
"album_viewer_page_share_add_users": "Додати користувачів",
"all_people_page_title": "Люди",
"all_videos_page_title": "Відео",
"app_bar_signout_dialog_content": "Are you sure you wanna sign out?",
"app_bar_signout_dialog_ok": "Yes",
"app_bar_signout_dialog_title": "Sign out",
"archive_page_no_archived_assets": "Немає архівних елементів",
"archive_page_title": "Архів ({})",
"asset_list_layout_settings_dynamic_layout_title": "Динамічне компонування",
@@ -115,8 +111,6 @@
"cache_settings_statistics_title": "Використання кешу",
"cache_settings_subtitle": "Контролює кешування у мобільному застосунку",
"cache_settings_thumbnail_size": "Розмір кешованих мініатюр ({} елементи)",
"cache_settings_tile_subtitle": "Control the local storage behaviour",
"cache_settings_tile_title": "Local Storage",
"cache_settings_title": "Налаштування Кешування",
"change_password_form_confirm_password": "Підтвердити пароль",
"change_password_form_description": "Привіт {firstName} {lastName},\n\nВи або або вперше входите у систему, або було зроблено запит на зміну вашого пароля. \nВведіть ваш новий пароль.",
@@ -256,8 +250,6 @@
"permission_onboarding_request": "Immich потребує доступу до ваших знімків та відео.",
"profile_drawer_app_logs": "Журнал",
"profile_drawer_client_server_up_to_date": "Клієнт та Сервер — актуальні",
"profile_drawer_documentation": "Documentation",
"profile_drawer_github": "GitHub",
"profile_drawer_settings": "Налаштування",
"profile_drawer_sign_out": "Вийти",
"profile_drawer_trash": "Trash",
@@ -284,7 +276,6 @@
"select_user_for_sharing_page_err_album": "Не вдалося створити альбом",
"select_user_for_sharing_page_share_suggestions": "Suggestions",
"server_info_box_app_version": "App Version",
"server_info_box_server_url": "Server URL",
"server_info_box_server_version": "Server Version",
"setting_image_viewer_help": "The detail viewer loads the small thumbnail first, then loads the medium-size preview (if enabled), finally loads the original (if enabled).",
"setting_image_viewer_original_subtitle": "Enable to load the original full-resolution image (large!). Disable to reduce data usage (both network and on device cache).",
@@ -309,12 +300,6 @@
"share_add_photos": "Додати знімки",
"share_add_title": "Додати назву",
"share_create_album": "Створити альбом",
"shared_album_activities_input_disable": "Comment is disabled",
"shared_album_activities_input_hint": "Say something",
"shared_album_activity_remove_content": "Do you want to delete this activity?",
"shared_album_activity_remove_title": "Delete Activity",
"shared_album_activity_setting_subtitle": "Let others respond",
"shared_album_activity_setting_title": "Comments & likes",
"share_dialog_preparing": "Підготовка...",
"shared_link_app_bar_title": "Shared Links",
"shared_link_create_app_bar_title": "Create link to share",
@@ -326,9 +311,6 @@
"shared_link_edit_change_expiry": "Change expiration time",
"shared_link_edit_description": "Description",
"shared_link_edit_description_hint": "Enter the share description",
"shared_link_edit_expire_after": "Expire after",
"shared_link_edit_password": "Password",
"shared_link_edit_password_hint": "Enter the share password",
"shared_link_edit_show_meta": "Show metadata",
"shared_link_edit_submit_button": "Update link",
"shared_link_empty": "You don't have any shared links",

View File

@@ -23,13 +23,9 @@
"album_viewer_appbar_share_err_title": "Failed to change album title",
"album_viewer_appbar_share_leave": "Leave album",
"album_viewer_appbar_share_remove": "Remove from album",
"album_viewer_appbar_share_to": "Chia sẻ với",
"album_viewer_page_share_add_users": "Add users",
"all_people_page_title": "Mọi người",
"all_people_page_title": "People",
"all_videos_page_title": "Videos",
"app_bar_signout_dialog_content": "Bạn có muốn đăng xuất?",
"app_bar_signout_dialog_ok": "Có",
"app_bar_signout_dialog_title": "Đăng xuất",
"archive_page_no_archived_assets": "No archived assets found",
"archive_page_title": "Archive ({})",
"asset_list_layout_settings_dynamic_layout_title": "Dynamic layout",
@@ -73,7 +69,7 @@
"backup_controller_page_backup": "Backup",
"backup_controller_page_backup_selected": "Selected: ",
"backup_controller_page_backup_sub": "Backed up photos and videos",
"backup_controller_page_cancel": "Từ chối",
"backup_controller_page_cancel": "Cancel",
"backup_controller_page_created": "Created on: {}",
"backup_controller_page_desc_backup": "Turn on foreground backup to automatically upload new assets to the server when opening the app.",
"backup_controller_page_excluded": "Excluded: ",
@@ -99,10 +95,10 @@
"backup_err_only_album": "Cannot remove the only album",
"backup_info_card_assets": "assets",
"backup_manual_cancelled": "Cancelled",
"backup_manual_failed": "Thất bại",
"backup_manual_failed": "Failed",
"backup_manual_in_progress": "Upload already in progress. Try after sometime",
"backup_manual_success": "Thành công",
"backup_manual_title": "Trạng thái tải lên",
"backup_manual_success": "Success",
"backup_manual_title": "Upload status",
"cache_settings_album_thumbnails": "Library page thumbnails ({} assets)",
"cache_settings_clear_cache_button": "Clear cache",
"cache_settings_clear_cache_button_title": "Clears the app's cache. This will significantly impact the app's performance until the cache has rebuilt.",
@@ -115,8 +111,6 @@
"cache_settings_statistics_title": "Cache usage",
"cache_settings_subtitle": "Control the caching behaviour of the Immich mobile application",
"cache_settings_thumbnail_size": "Thumbnail cache size ({} assets)",
"cache_settings_tile_subtitle": "Kiểm soát cách xử lý lưu trữ cục bộ",
"cache_settings_tile_title": "Lưu trữ cục bộ",
"cache_settings_title": "Caching Settings",
"change_password_form_confirm_password": "Confirm Password",
"change_password_form_description": "Hi {firstName} {lastName},\n\nThis is either the first time you are signing into the system or a request has been made to change your password. Please enter the new password below.",
@@ -136,10 +130,10 @@
"control_bottom_app_bar_delete": "Delete",
"control_bottom_app_bar_favorite": "Favorite",
"control_bottom_app_bar_share": "Share",
"control_bottom_app_bar_share_to": "Chia sẻ với",
"control_bottom_app_bar_share_to": "Share To",
"control_bottom_app_bar_stack": "Stack",
"control_bottom_app_bar_unarchive": "Unarchive",
"control_bottom_app_bar_upload": "Tải lên",
"control_bottom_app_bar_upload": "Upload",
"create_album_page_untitled": "Untitled",
"create_shared_album_page_create": "Create",
"create_shared_album_page_share": "Share",
@@ -151,11 +145,11 @@
"daily_title_text_date_year": "E, MMM dd, yyyy",
"date_format": "E, LLL d, y • h:mm a",
"delete_dialog_alert": "These items will be permanently deleted from Immich and from your device",
"delete_dialog_cancel": "Từ chối",
"delete_dialog_cancel": "Cancel",
"delete_dialog_ok": "Delete",
"delete_dialog_title": "Delete Permanently",
"delete_shared_link_dialog_content": "Bạn có muốn xóa liên kết đã chia sẻ này không?",
"delete_shared_link_dialog_title": "Xoá liên kết đã chia sẻ",
"delete_shared_link_dialog_content": "Are you sure you want to delete this shared link?",
"delete_shared_link_dialog_title": "Delete Shared Link",
"description_input_hint_text": "Add description...",
"description_input_submit_error": "Error updating description, check the log for more details",
"exif_bottom_sheet_description": "Add Description...",
@@ -185,8 +179,8 @@
"library_page_new_album": "New album",
"library_page_sharing": "Sharing",
"library_page_sort_created": "Most recently created",
"library_page_sort_last_modified": "Sửa đổi lần cuối",
"library_page_sort_most_recent_photo": "Ảnh gần đây nhất",
"library_page_sort_last_modified": "Last modified",
"library_page_sort_most_recent_photo": "Most recent photo",
"library_page_sort_title": "Album title",
"login_disabled": "Login has been disabled",
"login_form_api_exception": "API exception. Please check the server URL and try again.",
@@ -205,32 +199,32 @@
"login_form_handshake_exception": "There was an Handshake Exception with the server. Enable self-signed certificate support in the settings if you are using a self-signed certificate.",
"login_form_label_email": "Email",
"login_form_label_password": "Password",
"login_form_next_button": "Tiếp tục",
"login_form_next_button": "Next",
"login_form_password_hint": "password",
"login_form_save_login": "Stay logged in",
"login_form_server_empty": "Enter a server URL.",
"login_form_server_error": "Could not connect to server.",
"login_password_changed_error": "There was an error updating your password",
"login_password_changed_success": "Cập nhật mật khẩu thành công",
"login_password_changed_success": "Password updated successfully",
"map_cannot_get_user_location": "Cannot get user's location",
"map_location_dialog_cancel": "Từ chối",
"map_location_dialog_yes": "",
"map_location_dialog_cancel": "Cancel",
"map_location_dialog_yes": "Yes",
"map_location_service_disabled_content": "Location service needs to be enabled to display assets from your current location. Do you want to enable it now?",
"map_location_service_disabled_title": "Location Service disabled",
"map_no_assets_in_bounds": "No photos in this area",
"map_no_location_permission_content": "Location permission is needed to display assets from your current location. Do you want to allow it now?",
"map_no_location_permission_title": "Location Permission denied",
"map_settings_dark_mode": "Chế độ tối",
"map_settings_dialog_cancel": "Từ chối",
"map_settings_dialog_save": "Lưu",
"map_settings_dialog_title": "Cài đặt bản đồ",
"map_settings_dark_mode": "Dark mode",
"map_settings_dialog_cancel": "Cancel",
"map_settings_dialog_save": "Save",
"map_settings_dialog_title": "Map Settings",
"map_settings_include_show_archived": "Include Archived",
"map_settings_only_relative_range": "Date range",
"map_settings_only_show_favorites": "Show Favorite Only",
"map_zoom_to_see_photos": "Zoom out to see photos",
"monthly_title_text_date_format": "MMMM y",
"motion_photos_page_title": "Motion Photos",
"notification_permission_dialog_cancel": "Từ chối",
"notification_permission_dialog_cancel": "Cancel",
"notification_permission_dialog_content": "To enable notifications, go to Settings and select allow.",
"notification_permission_dialog_settings": "Settings",
"notification_permission_list_tile_content": "Grant permission to enable notifications.",
@@ -241,7 +235,7 @@
"partner_page_no_more_users": "No more users to add",
"partner_page_partner_add_failed": "Failed to add partner",
"partner_page_select_partner": "Select partner",
"partner_page_shared_to_title": "Chia sẻ với",
"partner_page_shared_to_title": "Shared to",
"partner_page_stop_sharing_content": "{} will no longer be able to access your photos.",
"partner_page_stop_sharing_title": "Stop sharing your photos?",
"partner_page_title": "Partner",
@@ -256,11 +250,9 @@
"permission_onboarding_request": "Immich requires permission to view your photos and videos.",
"profile_drawer_app_logs": "Logs",
"profile_drawer_client_server_up_to_date": "Client and Server are up-to-date",
"profile_drawer_documentation": "Tài liệu",
"profile_drawer_github": "GitHub",
"profile_drawer_settings": "Settings",
"profile_drawer_sign_out": "Sign Out",
"profile_drawer_trash": "Thùng rác",
"profile_drawer_trash": "Trash",
"recently_added_page_title": "Recently Added",
"search_bar_hint": "Search your photos",
"search_page_categories": "Categories",
@@ -268,7 +260,7 @@
"search_page_motion_photos": "Motion Photos",
"search_page_no_objects": "Không có thông tin vật thể",
"search_page_no_places": "No Places Info Available",
"search_page_people": "Mọi người",
"search_page_people": "People",
"search_page_places": "Places",
"search_page_recently_added": "Recently added",
"search_page_screenshots": "Screenshots",
@@ -284,7 +276,6 @@
"select_user_for_sharing_page_err_album": "Failed to create album",
"select_user_for_sharing_page_share_suggestions": "Gợi ý",
"server_info_box_app_version": "App Version",
"server_info_box_server_url": "Địa chỉ máy chủ",
"server_info_box_server_version": "Server Version",
"setting_image_viewer_help": "The detail viewer loads the small thumbnail first, then loads the medium-size preview (if enabled), finally loads the original (if enabled).",
"setting_image_viewer_original_subtitle": "Enable to load the original full-resolution image (large!). Disable to reduce data usage (both network and on device cache).",
@@ -309,37 +300,28 @@
"share_add_photos": "Add photos",
"share_add_title": "Add a title",
"share_create_album": "Create album",
"shared_album_activities_input_disable": "Nhận xét hiện đã tắt",
"shared_album_activities_input_hint": "Nói điều gì đó",
"shared_album_activity_remove_content": "Bạn có muốn xoá hoạt động này?",
"shared_album_activity_remove_title": "Xoá hoạt động",
"shared_album_activity_setting_subtitle": "Cho phép người khác phản hồi",
"shared_album_activity_setting_title": "Bình luận và lượt thích",
"share_dialog_preparing": "Preparing...",
"shared_link_app_bar_title": "Đường liên kết chia sẻ",
"shared_link_create_app_bar_title": "Tạo liên kết để chia sẻ",
"shared_link_create_info": "Cho phép bất cứ ai có liên kết xem (các) ảnh đã chọn",
"shared_link_create_submit_button": "Tạo liên kết",
"shared_link_edit_allow_download": "Cho phép bất cứ ai đều có thể tải xuống",
"shared_link_edit_allow_upload": "Cho phép bất cứ ai đều có thể tải lên",
"shared_link_edit_app_bar_title": "Chỉnh sửa liên kết",
"shared_link_edit_change_expiry": "Thay đổi thời gian hết hạn",
"shared_link_edit_description": "Mô tả",
"shared_link_edit_description_hint": "Nhập mô tả chia sẻ",
"shared_link_edit_expire_after": "Hết hạn sau",
"shared_link_edit_password": "Mật khẩu",
"shared_link_edit_password_hint": "Nhập mật khẩu chia sẻ",
"shared_link_edit_show_meta": "Hiện thị siêu dữ liệu",
"shared_link_edit_submit_button": "Cập nhật liên kết",
"shared_link_empty": "Bạn không có liên kết được chia sẻ nào",
"shared_link_manage_links": "Quản lý liên kết được chia sẻ",
"share_done": "Hoàn tất",
"shared_link_app_bar_title": "Shared Links",
"shared_link_create_app_bar_title": "Create link to share",
"shared_link_create_info": "Let anyone with the link see the selected photo(s)",
"shared_link_create_submit_button": "Create link",
"shared_link_edit_allow_download": "Allow public user to download",
"shared_link_edit_allow_upload": "Allow public user to upload",
"shared_link_edit_app_bar_title": "Edit link",
"shared_link_edit_change_expiry": "Change expiration time",
"shared_link_edit_description": "Description",
"shared_link_edit_description_hint": "Enter the share description",
"shared_link_edit_show_meta": "Show metadata",
"shared_link_edit_submit_button": "Update link",
"shared_link_empty": "You don't have any shared links",
"shared_link_manage_links": "Manage Shared links",
"share_done": "Done",
"share_invite": "Invite to album",
"sharing_page_album": "Shared albums",
"sharing_page_description": "Create shared albums to share photos and videos with people in your network.",
"sharing_page_empty_list": "EMPTY LIST",
"sharing_silver_appbar_create_shared_album": "Create shared album",
"sharing_silver_appbar_shared_links": "Các liên kết chia sẻ",
"sharing_silver_appbar_shared_links": "Shared links",
"sharing_silver_appbar_share_partner": "Share with partner",
"tab_controller_nav_library": "Library",
"tab_controller_nav_photos": "Photos",
@@ -355,22 +337,22 @@
"theme_setting_theme_title": "Theme",
"theme_setting_three_stage_loading_subtitle": "Three-stage loading might increase the loading performance but causes significantly higher network load",
"theme_setting_three_stage_loading_title": "Enable three-stage loading",
"translated_text_options": "Tuỳ chỉnh",
"trash_page_delete": "Xoá",
"trash_page_delete_all": "Xoá tất cả",
"trash_page_empty_trash_btn": "Dọn sạch thùng rác",
"trash_page_empty_trash_dialog_content": "Bạn có muốn dọn sạch thùng rác của mình không? Những mục này sẽ bị xoá vĩnh viễn khỏi Immich",
"trash_page_empty_trash_dialog_ok": "Đồng ý",
"trash_page_info": "Những mục này sẽ bị xoá sau {} ngày",
"trash_page_no_assets": "Không có ảnh hoặc video",
"trash_page_restore": "Khôi phục",
"trash_page_restore_all": "Khôi phục tất cả",
"trash_page_select_assets_btn": "Chọn mục",
"trash_page_select_btn": "Chọn",
"trash_page_title": "Thùng rác ({})",
"upload_dialog_cancel": "Từ chối",
"translated_text_options": "Options",
"trash_page_delete": "Delete",
"trash_page_delete_all": "Delete All",
"trash_page_empty_trash_btn": "Empty trash",
"trash_page_empty_trash_dialog_content": "Do you want to empty your trashed assets? These items will be permanently removed from Immich",
"trash_page_empty_trash_dialog_ok": "Ok",
"trash_page_info": "Trashed items will be permanently deleted after {} days",
"trash_page_no_assets": "No trashed assets",
"trash_page_restore": "Restore",
"trash_page_restore_all": "Restore All",
"trash_page_select_assets_btn": "Select assets",
"trash_page_select_btn": "Select",
"trash_page_title": "Trash ({})",
"upload_dialog_cancel": "Cancel",
"upload_dialog_info": "Do you want to backup the selected Asset(s) to the server?",
"upload_dialog_ok": "Tải lên",
"upload_dialog_ok": "Upload",
"upload_dialog_title": "Upload Asset",
"version_announcement_overlay_ack": "Acknowledge",
"version_announcement_overlay_release_notes": "release notes",

View File

@@ -23,13 +23,9 @@
"album_viewer_appbar_share_err_title": "修改相册标题失败",
"album_viewer_appbar_share_leave": "退出共享",
"album_viewer_appbar_share_remove": "从相册中移除",
"album_viewer_appbar_share_to": "共享给",
"album_viewer_page_share_add_users": "创建用户",
"all_people_page_title": "人物",
"all_videos_page_title": "视频",
"app_bar_signout_dialog_content": "您确定要注消吗?",
"app_bar_signout_dialog_ok": "是",
"app_bar_signout_dialog_title": "注消",
"archive_page_no_archived_assets": "未找到归档项目",
"archive_page_title": "归档({}",
"asset_list_layout_settings_dynamic_layout_title": "动态布局",
@@ -115,8 +111,6 @@
"cache_settings_statistics_title": "缓存使用情况",
"cache_settings_subtitle": "控制 Immich 的缓存行为",
"cache_settings_thumbnail_size": "缩略图缓存大小({} 项)",
"cache_settings_tile_subtitle": "Control the local storage behaviour",
"cache_settings_tile_title": "本地存储",
"cache_settings_title": "缓存设置",
"change_password_form_confirm_password": "确认密码",
"change_password_form_description": "{firstName} {lastName} 您好,\n\n这是您首次登录系统或被管理员要求更改密码。\n请在下方输入新密码。",
@@ -136,10 +130,10 @@
"control_bottom_app_bar_delete": "删除",
"control_bottom_app_bar_favorite": "收藏",
"control_bottom_app_bar_share": "共享",
"control_bottom_app_bar_share_to": "共享给",
"control_bottom_app_bar_share_to": "Share To",
"control_bottom_app_bar_stack": "Stack",
"control_bottom_app_bar_unarchive": "取消归档",
"control_bottom_app_bar_upload": "上传",
"control_bottom_app_bar_upload": "Upload",
"create_album_page_untitled": "未命名",
"create_shared_album_page_create": "创建",
"create_shared_album_page_share": "共享",
@@ -155,7 +149,7 @@
"delete_dialog_ok": "删除",
"delete_dialog_title": "永久删除",
"delete_shared_link_dialog_content": "Are you sure you want to delete this shared link?",
"delete_shared_link_dialog_title": "删除共享链接",
"delete_shared_link_dialog_title": "Delete Shared Link",
"description_input_hint_text": "添加描述...",
"description_input_submit_error": "更新描述时出错,请检查日志以获取更多详细信息",
"exif_bottom_sheet_description": "添加描述...",
@@ -177,7 +171,7 @@
"home_page_upload_err_limit": "一次最多只能上传 30 个项目,跳过",
"image_viewer_page_state_provider_download_error": "下载出现错误",
"image_viewer_page_state_provider_download_success": "下载成功",
"image_viewer_page_state_provider_share_error": "共享错误",
"image_viewer_page_state_provider_share_error": "Share Error",
"library_page_albums": "相册",
"library_page_archive": "归档",
"library_page_device_albums": "设备上的相册",
@@ -185,14 +179,14 @@
"library_page_new_album": "新建相册",
"library_page_sharing": "共享",
"library_page_sort_created": "最近创建的",
"library_page_sort_last_modified": "上次修改",
"library_page_sort_most_recent_photo": "最近的项目",
"library_page_sort_last_modified": "Last modified",
"library_page_sort_most_recent_photo": "Most recent photo",
"library_page_sort_title": "相册标题",
"login_disabled": "登录已被禁用",
"login_form_api_exception": "API 异常,请检查服务器地址并重试。",
"login_form_button_text": "登录",
"login_form_email_hint": "youremail@email.com",
"login_form_endpoint_hint": "http(s)://的服务器地址:端口/api",
"login_form_endpoint_hint": "http(s)://的服务器地址:端口/api",
"login_form_endpoint_url": "服务器链接地址",
"login_form_err_http": "请注明 http:// 或 https://",
"login_form_err_invalid_email": "无效的电子邮件",
@@ -256,11 +250,9 @@
"permission_onboarding_request": "Immich 需要权限才能查看您的照片和视频。",
"profile_drawer_app_logs": "日志",
"profile_drawer_client_server_up_to_date": "客户端和服务端都是最新的",
"profile_drawer_documentation": "文档",
"profile_drawer_github": "GitHub",
"profile_drawer_settings": "设置",
"profile_drawer_sign_out": "退出登录",
"profile_drawer_trash": "回收站",
"profile_drawer_trash": "Trash",
"recently_added_page_title": "最近添加",
"search_bar_hint": "搜索照片",
"search_page_categories": "类别",
@@ -279,12 +271,11 @@
"search_page_your_activity": "您的活动",
"search_result_page_new_search_hint": "搜索新的",
"search_suggestion_list_smart_search_hint_1": "默认情况下启用智能搜索;要搜索元数据,请使用相关语法",
"search_suggestion_list_smart_search_hint_2": "m:的搜索关键词",
"search_suggestion_list_smart_search_hint_2": "m:的搜索关键词",
"select_additional_user_for_sharing_page_suggestions": "建议",
"select_user_for_sharing_page_err_album": "创建相册失败",
"select_user_for_sharing_page_share_suggestions": "建议",
"server_info_box_app_version": "App 版本",
"server_info_box_server_url": "服务器地址",
"server_info_box_server_version": "服务器版本",
"setting_image_viewer_help": "详细信息查看器首先加载小缩略图,然后加载中等大小的预览图(若启用),最后加载原始图像。",
"setting_image_viewer_original_subtitle": "启用以加载原图,禁用以减少数据使用量(网络和设备缓存)。",
@@ -309,37 +300,28 @@
"share_add_photos": "添加项目",
"share_add_title": "添加标题",
"share_create_album": "创建相册",
"shared_album_activities_input_disable": "评论已禁用",
"shared_album_activities_input_hint": "说些什么",
"shared_album_activity_remove_content": "您确定要删除此活动吗?",
"shared_album_activity_remove_title": "删除活动",
"shared_album_activity_setting_subtitle": "Let others respond",
"shared_album_activity_setting_title": "评论与喜欢",
"share_dialog_preparing": "正在准备...",
"shared_link_app_bar_title": "共享链接",
"shared_link_app_bar_title": "Shared Links",
"shared_link_create_app_bar_title": "Create link to share",
"shared_link_create_info": "Let anyone with the link see the selected photo(s)",
"shared_link_create_submit_button": "创建链接",
"shared_link_create_submit_button": "Create link",
"shared_link_edit_allow_download": "Allow public user to download",
"shared_link_edit_allow_upload": "Allow public user to upload",
"shared_link_edit_app_bar_title": "编辑链接",
"shared_link_edit_change_expiry": "修改过期时间",
"shared_link_edit_description": "描述",
"shared_link_edit_app_bar_title": "Edit link",
"shared_link_edit_change_expiry": "Change expiration time",
"shared_link_edit_description": "Description",
"shared_link_edit_description_hint": "Enter the share description",
"shared_link_edit_expire_after": "Expire after",
"shared_link_edit_password": "密码",
"shared_link_edit_password_hint": "输入共享密码",
"shared_link_edit_show_meta": "显示元数据",
"shared_link_edit_submit_button": "更新链接",
"shared_link_edit_show_meta": "Show metadata",
"shared_link_edit_submit_button": "Update link",
"shared_link_empty": "You don't have any shared links",
"shared_link_manage_links": "管理共享链接",
"share_done": "完成",
"shared_link_manage_links": "Manage Shared links",
"share_done": "Done",
"share_invite": "邀请相册共享",
"sharing_page_album": "共享相册",
"sharing_page_description": "创建共享相册以与网络中的人共享照片和视频。",
"sharing_page_empty_list": "空",
"sharing_silver_appbar_create_shared_album": "创建共享相册",
"sharing_silver_appbar_shared_links": "共享链接",
"sharing_silver_appbar_shared_links": "Shared links",
"sharing_silver_appbar_share_partner": "共享给同伴",
"tab_controller_nav_library": "图库",
"tab_controller_nav_photos": "照片",
@@ -356,17 +338,17 @@
"theme_setting_three_stage_loading_subtitle": "三段式加载可能会提升加载性能,但可能会导致更高的网络负载",
"theme_setting_three_stage_loading_title": "启用三段式加载",
"translated_text_options": "选项",
"trash_page_delete": "删除",
"trash_page_delete_all": "删除全部",
"trash_page_empty_trash_btn": "清空回收站",
"trash_page_delete": "Delete",
"trash_page_delete_all": "Delete All",
"trash_page_empty_trash_btn": "Empty trash",
"trash_page_empty_trash_dialog_content": "Do you want to empty your trashed assets? These items will be permanently removed from Immich",
"trash_page_empty_trash_dialog_ok": "好的",
"trash_page_empty_trash_dialog_ok": "Ok",
"trash_page_info": "Trashed items will be permanently deleted after {} days",
"trash_page_no_assets": "No trashed assets",
"trash_page_restore": "恢复",
"trash_page_restore_all": "恢复全部",
"trash_page_select_assets_btn": "选择项目",
"trash_page_select_btn": "选择",
"trash_page_restore": "Restore",
"trash_page_restore_all": "Restore All",
"trash_page_select_assets_btn": "Select assets",
"trash_page_select_btn": "Select",
"trash_page_title": "Trash ({})",
"upload_dialog_cancel": "取消",
"upload_dialog_info": "是否要将所选项目备份到服务器?",

View File

@@ -23,13 +23,9 @@
"album_viewer_appbar_share_err_title": "修改相册标题失败",
"album_viewer_appbar_share_leave": "退出共享",
"album_viewer_appbar_share_remove": "从相册中移除",
"album_viewer_appbar_share_to": "共享给",
"album_viewer_page_share_add_users": "创建用户",
"all_people_page_title": "人物",
"all_videos_page_title": "视频",
"app_bar_signout_dialog_content": "您确定要注消吗?",
"app_bar_signout_dialog_ok": "是",
"app_bar_signout_dialog_title": "注消",
"archive_page_no_archived_assets": "未找到归档项目",
"archive_page_title": "归档({}",
"asset_list_layout_settings_dynamic_layout_title": "动态布局",
@@ -115,8 +111,6 @@
"cache_settings_statistics_title": "缓存使用情况",
"cache_settings_subtitle": "控制 Immich 的缓存行为",
"cache_settings_thumbnail_size": "缩略图缓存大小({} 项)",
"cache_settings_tile_subtitle": "Control the local storage behaviour",
"cache_settings_tile_title": "本地存储",
"cache_settings_title": "缓存设置",
"change_password_form_confirm_password": "确认密码",
"change_password_form_description": "{firstName} {lastName} 您好,\n\n这是您首次登录系统或被管理员要求更改密码。\n请在下方输入新密码。",
@@ -136,10 +130,10 @@
"control_bottom_app_bar_delete": "删除",
"control_bottom_app_bar_favorite": "收藏",
"control_bottom_app_bar_share": "共享",
"control_bottom_app_bar_share_to": "共享给",
"control_bottom_app_bar_share_to": "Share To",
"control_bottom_app_bar_stack": "Stack",
"control_bottom_app_bar_unarchive": "取消归档",
"control_bottom_app_bar_upload": "上传",
"control_bottom_app_bar_upload": "Upload",
"create_album_page_untitled": "未命名",
"create_shared_album_page_create": "创建",
"create_shared_album_page_share": "共享",
@@ -155,7 +149,7 @@
"delete_dialog_ok": "删除",
"delete_dialog_title": "永久删除",
"delete_shared_link_dialog_content": "Are you sure you want to delete this shared link?",
"delete_shared_link_dialog_title": "删除共享链接",
"delete_shared_link_dialog_title": "Delete Shared Link",
"description_input_hint_text": "添加描述...",
"description_input_submit_error": "更新描述时出错,请检查日志以获取更多详细信息",
"exif_bottom_sheet_description": "添加描述...",
@@ -177,7 +171,7 @@
"home_page_upload_err_limit": "一次最多只能上传 30 个项目,跳过",
"image_viewer_page_state_provider_download_error": "下载出现错误",
"image_viewer_page_state_provider_download_success": "下载成功",
"image_viewer_page_state_provider_share_error": "共享错误",
"image_viewer_page_state_provider_share_error": "Share Error",
"library_page_albums": "相册",
"library_page_archive": "归档",
"library_page_device_albums": "设备上的相册",
@@ -185,14 +179,14 @@
"library_page_new_album": "新建相册",
"library_page_sharing": "共享",
"library_page_sort_created": "最近创建的",
"library_page_sort_last_modified": "上次修改",
"library_page_sort_most_recent_photo": "最近的项目",
"library_page_sort_last_modified": "Last modified",
"library_page_sort_most_recent_photo": "Most recent photo",
"library_page_sort_title": "相册标题",
"login_disabled": "登录已被禁用",
"login_form_api_exception": "API 异常,请检查服务器地址并重试。",
"login_form_button_text": "登录",
"login_form_email_hint": "youremail@email.com",
"login_form_endpoint_hint": "http(s)://的服务器地址:端口/api",
"login_form_endpoint_hint": "http(s)://的服务器地址:端口/api",
"login_form_endpoint_url": "服务器链接地址",
"login_form_err_http": "请注明 http:// 或 https://",
"login_form_err_invalid_email": "无效的电子邮件",
@@ -256,11 +250,9 @@
"permission_onboarding_request": "Immich 需要权限才能查看您的照片和视频。",
"profile_drawer_app_logs": "日志",
"profile_drawer_client_server_up_to_date": "客户端和服务端都是最新的",
"profile_drawer_documentation": "文档",
"profile_drawer_github": "GitHub",
"profile_drawer_settings": "设置",
"profile_drawer_sign_out": "退出登录",
"profile_drawer_trash": "回收站",
"profile_drawer_trash": "Trash",
"recently_added_page_title": "最近添加",
"search_bar_hint": "搜索照片",
"search_page_categories": "类别",
@@ -279,12 +271,11 @@
"search_page_your_activity": "您的活动",
"search_result_page_new_search_hint": "搜索新的",
"search_suggestion_list_smart_search_hint_1": "默认情况下启用智能搜索;要搜索元数据,请使用相关语法",
"search_suggestion_list_smart_search_hint_2": "m:的搜索关键词",
"search_suggestion_list_smart_search_hint_2": "m:的搜索关键词",
"select_additional_user_for_sharing_page_suggestions": "建议",
"select_user_for_sharing_page_err_album": "创建相册失败",
"select_user_for_sharing_page_share_suggestions": "建议",
"server_info_box_app_version": "App 版本",
"server_info_box_server_url": "服务器地址",
"server_info_box_server_version": "服务器版本",
"setting_image_viewer_help": "详细信息查看器首先加载小缩略图,然后加载中等大小的预览图(若启用),最后加载原始图像。",
"setting_image_viewer_original_subtitle": "启用以加载原图,禁用以减少数据使用量(网络和设备缓存)。",
@@ -309,37 +300,28 @@
"share_add_photos": "添加项目",
"share_add_title": "添加标题",
"share_create_album": "创建相册",
"shared_album_activities_input_disable": "评论已禁用",
"shared_album_activities_input_hint": "说些什么",
"shared_album_activity_remove_content": "您确定要删除此活动吗?",
"shared_album_activity_remove_title": "删除活动",
"shared_album_activity_setting_subtitle": "Let others respond",
"shared_album_activity_setting_title": "评论与喜欢",
"share_dialog_preparing": "正在准备...",
"shared_link_app_bar_title": "共享链接",
"shared_link_app_bar_title": "Shared Links",
"shared_link_create_app_bar_title": "Create link to share",
"shared_link_create_info": "Let anyone with the link see the selected photo(s)",
"shared_link_create_submit_button": "创建链接",
"shared_link_create_submit_button": "Create link",
"shared_link_edit_allow_download": "Allow public user to download",
"shared_link_edit_allow_upload": "Allow public user to upload",
"shared_link_edit_app_bar_title": "编辑链接",
"shared_link_edit_change_expiry": "修改过期时间",
"shared_link_edit_description": "描述",
"shared_link_edit_app_bar_title": "Edit link",
"shared_link_edit_change_expiry": "Change expiration time",
"shared_link_edit_description": "Description",
"shared_link_edit_description_hint": "Enter the share description",
"shared_link_edit_expire_after": "Expire after",
"shared_link_edit_password": "密码",
"shared_link_edit_password_hint": "输入共享密码",
"shared_link_edit_show_meta": "显示元数据",
"shared_link_edit_submit_button": "更新链接",
"shared_link_edit_show_meta": "Show metadata",
"shared_link_edit_submit_button": "Update link",
"shared_link_empty": "You don't have any shared links",
"shared_link_manage_links": "管理共享链接",
"share_done": "完成",
"shared_link_manage_links": "Manage Shared links",
"share_done": "Done",
"share_invite": "邀请相册共享",
"sharing_page_album": "共享相册",
"sharing_page_description": "创建共享相册以与网络中的人共享照片和视频。",
"sharing_page_empty_list": "空",
"sharing_silver_appbar_create_shared_album": "创建共享相册",
"sharing_silver_appbar_shared_links": "共享链接",
"sharing_silver_appbar_shared_links": "Shared links",
"sharing_silver_appbar_share_partner": "共享给同伴",
"tab_controller_nav_library": "图库",
"tab_controller_nav_photos": "照片",
@@ -356,17 +338,17 @@
"theme_setting_three_stage_loading_subtitle": "三段式加载可能会提升加载性能,但可能会导致更高的网络负载",
"theme_setting_three_stage_loading_title": "启用三段式加载",
"translated_text_options": "选项",
"trash_page_delete": "删除",
"trash_page_delete_all": "删除全部",
"trash_page_empty_trash_btn": "清空回收站",
"trash_page_delete": "Delete",
"trash_page_delete_all": "Delete All",
"trash_page_empty_trash_btn": "Empty trash",
"trash_page_empty_trash_dialog_content": "Do you want to empty your trashed assets? These items will be permanently removed from Immich",
"trash_page_empty_trash_dialog_ok": "好的",
"trash_page_empty_trash_dialog_ok": "Ok",
"trash_page_info": "Trashed items will be permanently deleted after {} days",
"trash_page_no_assets": "No trashed assets",
"trash_page_restore": "恢复",
"trash_page_restore_all": "恢复全部",
"trash_page_select_assets_btn": "选择项目",
"trash_page_select_btn": "选择",
"trash_page_restore": "Restore",
"trash_page_restore_all": "Restore All",
"trash_page_select_assets_btn": "Select assets",
"trash_page_select_btn": "Select",
"trash_page_title": "Trash ({})",
"upload_dialog_cancel": "取消",
"upload_dialog_info": "是否要将所选项目备份到服务器?",

View File

@@ -169,4 +169,4 @@ SPEC CHECKSUMS:
PODFILE CHECKSUM: 599d8aeb73728400c15364e734525722250a5382
COCOAPODS: 1.11.3
COCOAPODS: 1.12.1

View File

@@ -28,7 +28,6 @@
<string>es</string>
<string>vi</string>
<string>fr</string>
<string>fr</string>
<string>ja</string>
<string>pl</string>
<string>fi</string>

View File

@@ -19,7 +19,7 @@ platform :ios do
desc "iOS Beta"
lane :beta do
increment_version_number(
version_number: "1.86.0"
version_number: "1.85.0"
)
increment_build_number(
build_number: latest_testflight_build_number + 1,

View File

@@ -9,7 +9,6 @@ const List<Locale> locales = [
Locale('it', 'IT'),
Locale('es', 'ES'),
Locale('vi', 'VN'),
Locale('fr', 'CA'),
Locale('fr', 'FR'),
Locale('ja', 'JP'),
Locale('pl', 'PL'),

View File

@@ -117,8 +117,12 @@ class AlbumOptionsPage extends HookConsumerWidget {
buildOwnerInfo() {
return ListTile(
leading:
owner != null ? UserCircleAvatar(user: owner) : const SizedBox(),
leading: owner != null
? UserCircleAvatar(
user: owner,
useRandomBackgroundColor: true,
)
: const SizedBox(),
title: Text(
album.owner.value?.name ?? "",
style: const TextStyle(
@@ -147,6 +151,7 @@ class AlbumOptionsPage extends HookConsumerWidget {
return ListTile(
leading: UserCircleAvatar(
user: user,
useRandomBackgroundColor: true,
radius: 22,
),
title: Text(

View File

@@ -217,6 +217,7 @@ class AlbumViewerPage extends HookConsumerWidget {
user: album.sharedUsers.toList()[index],
radius: 18,
size: 36,
useRandomBackgroundColor: true,
),
);
}),

View File

@@ -1,14 +1,15 @@
import 'package:hooks_riverpod/hooks_riverpod.dart';
import 'package:immich_mobile/modules/home/ui/asset_grid/asset_grid_data_structure.dart';
import 'package:immich_mobile/modules/settings/providers/app_settings.provider.dart';
import 'package:immich_mobile/modules/settings/services/app_settings.service.dart';
import 'package:immich_mobile/shared/models/asset.dart';
import 'package:immich_mobile/shared/providers/db.provider.dart';
import 'package:immich_mobile/shared/providers/user.provider.dart';
import 'package:immich_mobile/utils/renderlist_generator.dart';
import 'package:isar/isar.dart';
final archiveProvider = StreamProvider<RenderList>((ref) {
final archiveProvider = StreamProvider<RenderList>((ref) async* {
final user = ref.watch(currentUserProvider);
if (user == null) return const Stream.empty();
if (user == null) return;
final query = ref
.watch(dbProvider)
.assets
@@ -18,5 +19,11 @@ final archiveProvider = StreamProvider<RenderList>((ref) {
.isArchivedEqualTo(true)
.isTrashedEqualTo(false)
.sortByFileCreatedAt();
return renderListGenerator(query, ref);
final settings = ref.watch(appSettingsServiceProvider);
final groupBy =
GroupAssetsBy.values[settings.getSetting(AppSettingsEnum.groupAssetsBy)];
yield await RenderList.fromQuery(query, groupBy);
await for (final _ in query.watchLazy()) {
yield await RenderList.fromQuery(query, groupBy);
}
});

View File

@@ -3,7 +3,6 @@ import 'package:immich_mobile/modules/home/ui/asset_grid/asset_grid_data_structu
import 'package:immich_mobile/modules/settings/providers/app_settings.provider.dart';
import 'package:immich_mobile/modules/settings/services/app_settings.service.dart';
import 'package:immich_mobile/shared/models/asset.dart';
import 'package:immich_mobile/utils/renderlist_generator.dart';
import 'package:isar/isar.dart';
final renderListProvider =
@@ -18,6 +17,16 @@ final renderListProvider =
final renderListQueryProvider = StreamProvider.family<RenderList,
QueryBuilder<Asset, Asset, QAfterSortBy>?>(
(ref, query) =>
query == null ? const Stream.empty() : renderListGenerator(query, ref),
(ref, query) async* {
if (query == null) {
return;
}
final settings = ref.watch(appSettingsServiceProvider);
final groupBy = GroupAssetsBy
.values[settings.getSetting(AppSettingsEnum.groupAssetsBy)];
yield await RenderList.fromQuery(query, groupBy);
await for (final _ in query.watchLazy()) {
yield await RenderList.fromQuery(query, groupBy);
}
},
);

View File

@@ -274,7 +274,7 @@ class ManualUploadNotifier extends StateNotifier<ManualUploadState> {
// The app is currently in background. Perform the necessary cleanups which
// are on-hold for upload completion
if (appState != AppStateEnum.active && appState != AppStateEnum.resumed) {
ref.read(backupProvider.notifier).cancelBackup();
ref.read(appStateProvider.notifier).handleAppInactivity();
}
}

View File

@@ -1,14 +1,15 @@
import 'package:hooks_riverpod/hooks_riverpod.dart';
import 'package:immich_mobile/modules/home/ui/asset_grid/asset_grid_data_structure.dart';
import 'package:immich_mobile/modules/settings/providers/app_settings.provider.dart';
import 'package:immich_mobile/modules/settings/services/app_settings.service.dart';
import 'package:immich_mobile/shared/models/asset.dart';
import 'package:immich_mobile/shared/providers/db.provider.dart';
import 'package:immich_mobile/shared/providers/user.provider.dart';
import 'package:immich_mobile/utils/renderlist_generator.dart';
import 'package:isar/isar.dart';
final favoriteAssetsProvider = StreamProvider<RenderList>((ref) {
final favoriteAssetsProvider = StreamProvider<RenderList>((ref) async* {
final user = ref.watch(currentUserProvider);
if (user == null) return const Stream.empty();
if (user == null) return;
final query = ref
.watch(dbProvider)
.assets
@@ -18,5 +19,11 @@ final favoriteAssetsProvider = StreamProvider<RenderList>((ref) {
.isFavoriteEqualTo(true)
.isTrashedEqualTo(false)
.sortByFileCreatedAt();
return renderListGenerator(query, ref);
final settings = ref.watch(appSettingsServiceProvider);
final groupBy =
GroupAssetsBy.values[settings.getSetting(AppSettingsEnum.groupAssetsBy)];
yield await RenderList.fromQuery(query, groupBy);
await for (final _ in query.watchLazy()) {
yield await RenderList.fromQuery(query, groupBy);
}
});

View File

@@ -150,7 +150,6 @@ class ControlBottomAppBar extends ConsumerWidget {
SizedBox(
height: 70,
child: ListView(
shrinkWrap: true,
scrollDirection: Axis.horizontal,
children: renderActionButtons(),
),

View File

@@ -44,7 +44,6 @@ class HomePage extends HookConsumerWidget {
final sharedAlbums = ref.watch(sharedAlbumProvider);
final albumService = ref.watch(albumServiceProvider);
final currentUser = ref.watch(currentUserProvider);
final timelineUsers = ref.watch(timelineUsersIdsProvider);
final trashEnabled =
ref.watch(serverInfoProvider.select((v) => v.serverFeatures.trash));
@@ -56,7 +55,6 @@ class HomePage extends HookConsumerWidget {
() {
ref.read(websocketProvider.notifier).connect();
Future(() => ref.read(assetProvider.notifier).getAllAsset());
ref.read(assetProvider.notifier).getPartnerAssets();
ref.read(albumProvider.notifier).getAllAlbums();
ref.read(sharedAlbumProvider.notifier).getAllSharedAlbums();
ref.read(serverInfoProvider.notifier).getServerInfo();
@@ -86,49 +84,20 @@ class HomePage extends HookConsumerWidget {
SelectionAssetState.fromSelection(selectedAssets);
}
errorBuilder(String? msg) => msg != null && msg.isNotEmpty
? () => ImmichToast.show(
context: context,
msg: msg,
gravity: ToastGravity.BOTTOM,
)
: null;
Iterable<Asset> remoteOnly(
Iterable<Asset> assets, {
void Function()? errorCallback,
}) {
List<Asset> remoteOnlySelection({String? localErrorMessage}) {
final Set<Asset> assets = selection.value;
final bool onlyRemote = assets.every((e) => e.isRemote);
if (!onlyRemote) {
if (errorCallback != null) errorCallback();
return assets.where((a) => a.isRemote);
if (localErrorMessage != null && localErrorMessage.isNotEmpty) {
ImmichToast.show(
context: context,
msg: localErrorMessage,
gravity: ToastGravity.BOTTOM,
);
}
return assets.where((a) => a.isRemote).toList();
}
return assets;
}
Iterable<Asset> ownedOnly(
Iterable<Asset> assets, {
void Function()? errorCallback,
}) {
if (currentUser == null) return [];
final userId = currentUser.isarId;
final bool onlyOwned = assets.every((e) => e.ownerId == userId);
if (!onlyOwned) {
if (errorCallback != null) errorCallback();
return assets.where((a) => a.ownerId == userId);
}
return assets;
}
Iterable<Asset> ownedRemoteSelection({
String? localErrorMessage,
String? ownerErrorMessage,
}) {
final assets = selection.value;
return remoteOnly(
ownedOnly(assets, errorCallback: errorBuilder(ownerErrorMessage)),
errorCallback: errorBuilder(localErrorMessage),
);
return assets.toList();
}
void onShareAssets(bool shareLocal) {
@@ -136,7 +105,7 @@ class HomePage extends HookConsumerWidget {
if (shareLocal) {
handleShareAssets(ref, context, selection.value.toList());
} else {
final ids = ownedRemoteSelection().map((e) => e.remoteId!);
final ids = remoteOnlySelection().map((e) => e.remoteId!);
context.autoPush(SharedLinkEditRoute(assetsList: ids.toList()));
}
processing.value = false;
@@ -146,12 +115,11 @@ class HomePage extends HookConsumerWidget {
void onFavoriteAssets() async {
processing.value = true;
try {
final remoteAssets = ownedRemoteSelection(
final remoteAssets = remoteOnlySelection(
localErrorMessage: 'home_page_favorite_err_local'.tr(),
ownerErrorMessage: 'home_page_favorite_err_partner'.tr(),
);
if (remoteAssets.isNotEmpty) {
await handleFavoriteAssets(ref, context, remoteAssets.toList());
await handleFavoriteAssets(ref, context, remoteAssets);
}
} finally {
processing.value = false;
@@ -162,11 +130,10 @@ class HomePage extends HookConsumerWidget {
void onArchiveAsset() async {
processing.value = true;
try {
final remoteAssets = ownedRemoteSelection(
final remoteAssets = remoteOnlySelection(
localErrorMessage: 'home_page_archive_err_local'.tr(),
ownerErrorMessage: 'home_page_archive_err_partner'.tr(),
);
await handleArchiveAssets(ref, context, remoteAssets.toList());
await handleArchiveAssets(ref, context, remoteAssets);
} finally {
processing.value = false;
selectionEnabledHook.value = false;
@@ -176,16 +143,12 @@ class HomePage extends HookConsumerWidget {
void onDelete() async {
processing.value = true;
try {
final toDelete = ownedOnly(
selection.value,
errorCallback: errorBuilder('home_page_delete_err_partner'.tr()),
).toList();
await ref
.read(assetProvider.notifier)
.deleteAssets(toDelete, force: !trashEnabled);
.deleteAssets(selection.value, force: !trashEnabled);
final hasRemote = toDelete.any((a) => a.isRemote);
final assetOrAssets = toDelete.length > 1 ? 'assets' : 'asset';
final hasRemote = selection.value.any((a) => a.isRemote);
final assetOrAssets = selection.value.length > 1 ? 'assets' : 'asset';
final trashOrRemoved =
!trashEnabled ? 'deleted permanently' : 'trashed';
if (hasRemote) {
@@ -217,9 +180,8 @@ class HomePage extends HookConsumerWidget {
void onAddToAlbum(Album album) async {
processing.value = true;
try {
final Iterable<Asset> assets = ownedRemoteSelection(
final Iterable<Asset> assets = remoteOnlySelection(
localErrorMessage: "home_page_add_to_album_err_local".tr(),
ownerErrorMessage: "home_page_album_err_partner".tr(),
);
if (assets.isEmpty) {
return;
@@ -266,9 +228,8 @@ class HomePage extends HookConsumerWidget {
void onCreateNewAlbum() async {
processing.value = true;
try {
final Iterable<Asset> assets = ownedRemoteSelection(
final Iterable<Asset> assets = remoteOnlySelection(
localErrorMessage: "home_page_add_to_album_err_local".tr(),
ownerErrorMessage: "home_page_album_err_partner".tr(),
);
if (assets.isEmpty) {
return;
@@ -309,9 +270,6 @@ class HomePage extends HookConsumerWidget {
Future<void> refreshAssets() async {
final fullRefresh = refreshCount.value > 0;
await ref.read(assetProvider.notifier).getAllAsset(clear: fullRefresh);
if (timelineUsers.length > 1) {
await ref.read(assetProvider.notifier).getPartnerAssets();
}
if (fullRefresh) {
// refresh was forced: user requested another refresh within 2 seconds
refreshCount.value = 0;
@@ -372,13 +330,7 @@ class HomePage extends HookConsumerWidget {
bottom: false,
child: Stack(
children: [
ref
.watch(
timelineUsers.length > 1
? multiUserAssetsProvider(timelineUsers)
: assetsProvider(currentUser?.isarId),
)
.when(
ref.watch(assetsProvider(currentUser?.isarId)).when(
data: (data) => data.isEmpty
? buildLoadingIndicator()
: ImmichAssetGrid(
@@ -386,10 +338,11 @@ class HomePage extends HookConsumerWidget {
listener: selectionListener,
selectionActive: selectionEnabledHook.value,
onRefresh: refreshAssets,
topWidget:
(currentUser != null && currentUser.memoryEnabled)
? const MemoryLane()
: const SizedBox(),
topWidget: (currentUser != null &&
currentUser.memoryEnabled != null &&
currentUser.memoryEnabled!)
? const MemoryLane()
: const SizedBox(),
showStack: true,
),
error: (error, _) => Center(child: Text(error.toString())),

View File

@@ -2,31 +2,21 @@ import 'dart:async';
import 'package:hooks_riverpod/hooks_riverpod.dart';
import 'package:immich_mobile/modules/album/providers/suggested_shared_users.provider.dart';
import 'package:immich_mobile/modules/partner/services/partner.service.dart';
import 'package:immich_mobile/shared/models/user.dart';
import 'package:immich_mobile/shared/providers/db.provider.dart';
import 'package:isar/isar.dart';
class PartnerSharedWithNotifier extends StateNotifier<List<User>> {
PartnerSharedWithNotifier(Isar db, this._ps) : super([]) {
PartnerSharedWithNotifier(Isar db) : super([]) {
final query = db.users.filter().isPartnerSharedWithEqualTo(true);
query.findAll().then((partners) => state = partners);
query.watch().listen((partners) => state = partners);
}
Future<bool> updatePartner(User partner, {required bool inTimeline}) {
return _ps.updatePartner(partner, inTimeline: inTimeline);
}
final PartnerService _ps;
}
final partnerSharedWithProvider =
StateNotifierProvider<PartnerSharedWithNotifier, List<User>>((ref) {
return PartnerSharedWithNotifier(
ref.watch(dbProvider),
ref.watch(partnerServiceProvider),
);
return PartnerSharedWithNotifier(ref.watch(dbProvider));
});
class PartnerSharedByNotifier extends StateNotifier<List<User>> {

View File

@@ -5,7 +5,6 @@ import 'package:immich_mobile/shared/providers/db.provider.dart';
import 'package:immich_mobile/shared/services/api.service.dart';
import 'package:isar/isar.dart';
import 'package:logging/logging.dart';
import 'package:openapi/api.dart';
final partnerServiceProvider = Provider(
(ref) => PartnerService(
@@ -70,19 +69,4 @@ class PartnerService {
}
return false;
}
Future<bool> updatePartner(User partner, {required bool inTimeline}) async {
try {
final dto = await _apiService.partnerApi
.updatePartner(partner.id, UpdatePartnerDto(inTimeline: inTimeline));
if (dto != null) {
partner.inTimeline = dto.inTimeline ?? partner.inTimeline;
await _db.writeTxn(() => _db.users.put(partner));
return true;
}
} catch (e) {
_log.warning("failed to update partner ${partner.id}:\n$e");
}
return false;
}
}

View File

@@ -2,11 +2,9 @@ import 'package:flutter/material.dart';
import 'package:flutter_hooks/flutter_hooks.dart';
import 'package:hooks_riverpod/hooks_riverpod.dart';
import 'package:immich_mobile/modules/home/ui/asset_grid/immich_asset_grid.dart';
import 'package:immich_mobile/modules/partner/providers/partner.provider.dart';
import 'package:immich_mobile/shared/models/user.dart';
import 'package:immich_mobile/shared/providers/asset.provider.dart';
import 'package:immich_mobile/shared/ui/immich_loading_indicator.dart';
import 'package:immich_mobile/shared/ui/immich_toast.dart';
class PartnerDetailPage extends HookConsumerWidget {
const PartnerDetailPage({Key? key, required this.partner}) : super(key: key);
@@ -16,8 +14,6 @@ class PartnerDetailPage extends HookConsumerWidget {
@override
Widget build(BuildContext context, WidgetRef ref) {
final assets = ref.watch(assetsProvider(partner.isarId));
final inTimeline = useState(partner.inTimeline);
bool toggleInProcess = false;
useEffect(
() {
@@ -27,49 +23,11 @@ class PartnerDetailPage extends HookConsumerWidget {
[],
);
void toggleInTimeline() async {
if (toggleInProcess) return;
toggleInProcess = true;
try {
final ok = await ref
.read(partnerSharedWithProvider.notifier)
.updatePartner(partner, inTimeline: !inTimeline.value);
if (ok) {
inTimeline.value = !inTimeline.value;
final action = inTimeline.value ? "shown on" : "hidden from";
ImmichToast.show(
context: context,
toastType: ToastType.success,
durationInSecond: 1,
msg: "${partner.name}'s assets $action your timeline",
);
} else {
ImmichToast.show(
context: context,
toastType: ToastType.error,
durationInSecond: 1,
msg: "Failed to toggle the timeline setting",
);
}
} finally {
toggleInProcess = false;
}
}
return Scaffold(
appBar: AppBar(
title: Text(partner.name),
elevation: 0,
centerTitle: false,
actions: [
IconButton(
onPressed: toggleInTimeline,
icon: Icon(
inTimeline.value ? Icons.collections : Icons.collections_outlined,
),
tooltip: "Show/hide photos on your main timeline",
),
],
),
body: assets.when(
data: (renderList) => renderList.isEmpty

View File

@@ -5,7 +5,6 @@ import 'package:immich_mobile/shared/models/asset.dart';
import 'package:immich_mobile/shared/providers/db.provider.dart';
import 'package:immich_mobile/shared/providers/user.provider.dart';
import 'package:immich_mobile/shared/services/sync.service.dart';
import 'package:immich_mobile/utils/renderlist_generator.dart';
import 'package:isar/isar.dart';
import 'package:logging/logging.dart';
@@ -108,9 +107,9 @@ final trashProvider = StateNotifierProvider<TrashNotifier, bool>((ref) {
);
});
final trashedAssetsProvider = StreamProvider<RenderList>((ref) {
final trashedAssetsProvider = StreamProvider<RenderList>((ref) async* {
final user = ref.read(currentUserProvider);
if (user == null) return const Stream.empty();
if (user == null) return;
final query = ref
.watch(dbProvider)
.assets
@@ -118,5 +117,9 @@ final trashedAssetsProvider = StreamProvider<RenderList>((ref) {
.ownerIdEqualTo(user.isarId)
.isTrashedEqualTo(true)
.sortByFileCreatedAt();
return renderListGeneratorWithGroupBy(query, GroupAssetsBy.none);
const groupBy = GroupAssetsBy.none;
yield await RenderList.fromQuery(query, groupBy);
await for (final _ in query.watchLazy()) {
yield await RenderList.fromQuery(query, groupBy);
}
});

View File

@@ -1,5 +1,3 @@
import 'dart:ui';
import 'package:immich_mobile/shared/models/album.dart';
import 'package:immich_mobile/utils/hash.dart';
import 'package:isar/isar.dart';
@@ -18,7 +16,6 @@ class User {
this.isPartnerSharedBy = false,
this.isPartnerSharedWith = false,
this.profileImagePath = '',
this.avatarColor = AvatarColorEnum.primary,
this.memoryEnabled = true,
this.inTimeline = false,
});
@@ -34,9 +31,7 @@ class User {
isPartnerSharedWith = false,
profileImagePath = dto.profileImagePath,
isAdmin = dto.isAdmin,
memoryEnabled = dto.memoriesEnabled ?? false,
avatarColor = dto.avatarColor.toAvatarColor(),
inTimeline = false;
memoryEnabled = dto.memoriesEnabled;
User.fromPartnerDto(PartnerResponseDto dto)
: id = dto.id,
@@ -47,9 +42,8 @@ class User {
isPartnerSharedWith = false,
profileImagePath = dto.profileImagePath,
isAdmin = dto.isAdmin,
memoryEnabled = dto.memoriesEnabled ?? false,
avatarColor = dto.avatarColor.toAvatarColor(),
inTimeline = dto.inTimeline ?? false;
memoryEnabled = dto.memoriesEnabled,
inTimeline = dto.inTimeline;
@Index(unique: true, replace: false, type: IndexType.hash)
String id;
@@ -60,10 +54,8 @@ class User {
bool isPartnerSharedWith;
bool isAdmin;
String profileImagePath;
@Enumerated(EnumType.ordinal)
AvatarColorEnum avatarColor;
bool memoryEnabled;
bool inTimeline;
bool? memoryEnabled;
bool? inTimeline;
@Backlink(to: 'owner')
final IsarLinks<Album> albums = IsarLinks<Album>();
@@ -75,7 +67,6 @@ class User {
if (other is! User) return false;
return id == other.id &&
updatedAt.isAtSameMomentAs(other.updatedAt) &&
avatarColor == other.avatarColor &&
email == other.email &&
name == other.name &&
isPartnerSharedBy == other.isPartnerSharedBy &&
@@ -96,77 +87,7 @@ class User {
isPartnerSharedBy.hashCode ^
isPartnerSharedWith.hashCode ^
profileImagePath.hashCode ^
avatarColor.hashCode ^
isAdmin.hashCode ^
memoryEnabled.hashCode ^
inTimeline.hashCode;
}
enum AvatarColorEnum {
// do not change this order or reuse indices for other purposes, adding is OK
primary,
pink,
red,
yellow,
blue,
green,
purple,
orange,
gray,
amber,
}
extension AvatarColorEnumHelper on UserAvatarColor {
AvatarColorEnum toAvatarColor() {
switch (this) {
case UserAvatarColor.primary:
return AvatarColorEnum.primary;
case UserAvatarColor.pink:
return AvatarColorEnum.pink;
case UserAvatarColor.red:
return AvatarColorEnum.red;
case UserAvatarColor.yellow:
return AvatarColorEnum.yellow;
case UserAvatarColor.blue:
return AvatarColorEnum.blue;
case UserAvatarColor.green:
return AvatarColorEnum.green;
case UserAvatarColor.purple:
return AvatarColorEnum.purple;
case UserAvatarColor.orange:
return AvatarColorEnum.orange;
case UserAvatarColor.gray:
return AvatarColorEnum.gray;
case UserAvatarColor.amber:
return AvatarColorEnum.amber;
}
return AvatarColorEnum.primary;
}
}
extension AvatarColorToColorHelper on AvatarColorEnum {
Color toColor([bool isDarkTheme = false]) {
switch (this) {
case AvatarColorEnum.primary:
return isDarkTheme ? const Color(0xFFABCBFA) : const Color(0xFF4250AF);
case AvatarColorEnum.pink:
return const Color.fromARGB(255, 244, 114, 182);
case AvatarColorEnum.red:
return const Color.fromARGB(255, 239, 68, 68);
case AvatarColorEnum.yellow:
return const Color.fromARGB(255, 234, 179, 8);
case AvatarColorEnum.blue:
return const Color.fromARGB(255, 59, 130, 246);
case AvatarColorEnum.green:
return const Color.fromARGB(255, 22, 163, 74);
case AvatarColorEnum.purple:
return const Color.fromARGB(255, 147, 51, 234);
case AvatarColorEnum.orange:
return const Color.fromARGB(255, 234, 88, 12);
case AvatarColorEnum.gray:
return const Color.fromARGB(255, 75, 85, 99);
case AvatarColorEnum.amber:
return const Color.fromARGB(255, 217, 119, 6);
}
}
}

View File

@@ -17,59 +17,53 @@ const UserSchema = CollectionSchema(
name: r'User',
id: -7838171048429979076,
properties: {
r'avatarColor': PropertySchema(
id: 0,
name: r'avatarColor',
type: IsarType.byte,
enumMap: _UseravatarColorEnumValueMap,
),
r'email': PropertySchema(
id: 1,
id: 0,
name: r'email',
type: IsarType.string,
),
r'id': PropertySchema(
id: 2,
id: 1,
name: r'id',
type: IsarType.string,
),
r'inTimeline': PropertySchema(
id: 3,
id: 2,
name: r'inTimeline',
type: IsarType.bool,
),
r'isAdmin': PropertySchema(
id: 4,
id: 3,
name: r'isAdmin',
type: IsarType.bool,
),
r'isPartnerSharedBy': PropertySchema(
id: 5,
id: 4,
name: r'isPartnerSharedBy',
type: IsarType.bool,
),
r'isPartnerSharedWith': PropertySchema(
id: 6,
id: 5,
name: r'isPartnerSharedWith',
type: IsarType.bool,
),
r'memoryEnabled': PropertySchema(
id: 7,
id: 6,
name: r'memoryEnabled',
type: IsarType.bool,
),
r'name': PropertySchema(
id: 8,
id: 7,
name: r'name',
type: IsarType.string,
),
r'profileImagePath': PropertySchema(
id: 9,
id: 8,
name: r'profileImagePath',
type: IsarType.string,
),
r'updatedAt': PropertySchema(
id: 10,
id: 9,
name: r'updatedAt',
type: IsarType.dateTime,
)
@@ -136,17 +130,16 @@ void _userSerialize(
List<int> offsets,
Map<Type, List<int>> allOffsets,
) {
writer.writeByte(offsets[0], object.avatarColor.index);
writer.writeString(offsets[1], object.email);
writer.writeString(offsets[2], object.id);
writer.writeBool(offsets[3], object.inTimeline);
writer.writeBool(offsets[4], object.isAdmin);
writer.writeBool(offsets[5], object.isPartnerSharedBy);
writer.writeBool(offsets[6], object.isPartnerSharedWith);
writer.writeBool(offsets[7], object.memoryEnabled);
writer.writeString(offsets[8], object.name);
writer.writeString(offsets[9], object.profileImagePath);
writer.writeDateTime(offsets[10], object.updatedAt);
writer.writeString(offsets[0], object.email);
writer.writeString(offsets[1], object.id);
writer.writeBool(offsets[2], object.inTimeline);
writer.writeBool(offsets[3], object.isAdmin);
writer.writeBool(offsets[4], object.isPartnerSharedBy);
writer.writeBool(offsets[5], object.isPartnerSharedWith);
writer.writeBool(offsets[6], object.memoryEnabled);
writer.writeString(offsets[7], object.name);
writer.writeString(offsets[8], object.profileImagePath);
writer.writeDateTime(offsets[9], object.updatedAt);
}
User _userDeserialize(
@@ -156,19 +149,16 @@ User _userDeserialize(
Map<Type, List<int>> allOffsets,
) {
final object = User(
avatarColor:
_UseravatarColorValueEnumMap[reader.readByteOrNull(offsets[0])] ??
AvatarColorEnum.primary,
email: reader.readString(offsets[1]),
id: reader.readString(offsets[2]),
inTimeline: reader.readBoolOrNull(offsets[3]) ?? false,
isAdmin: reader.readBool(offsets[4]),
isPartnerSharedBy: reader.readBoolOrNull(offsets[5]) ?? false,
isPartnerSharedWith: reader.readBoolOrNull(offsets[6]) ?? false,
memoryEnabled: reader.readBoolOrNull(offsets[7]) ?? true,
name: reader.readString(offsets[8]),
profileImagePath: reader.readStringOrNull(offsets[9]) ?? '',
updatedAt: reader.readDateTime(offsets[10]),
email: reader.readString(offsets[0]),
id: reader.readString(offsets[1]),
inTimeline: reader.readBoolOrNull(offsets[2]),
isAdmin: reader.readBool(offsets[3]),
isPartnerSharedBy: reader.readBoolOrNull(offsets[4]) ?? false,
isPartnerSharedWith: reader.readBoolOrNull(offsets[5]) ?? false,
memoryEnabled: reader.readBoolOrNull(offsets[6]),
name: reader.readString(offsets[7]),
profileImagePath: reader.readStringOrNull(offsets[8]) ?? '',
updatedAt: reader.readDateTime(offsets[9]),
);
return object;
}
@@ -181,58 +171,30 @@ P _userDeserializeProp<P>(
) {
switch (propertyId) {
case 0:
return (_UseravatarColorValueEnumMap[reader.readByteOrNull(offset)] ??
AvatarColorEnum.primary) as P;
return (reader.readString(offset)) as P;
case 1:
return (reader.readString(offset)) as P;
case 2:
return (reader.readString(offset)) as P;
return (reader.readBoolOrNull(offset)) as P;
case 3:
return (reader.readBoolOrNull(offset) ?? false) as P;
case 4:
return (reader.readBool(offset)) as P;
case 4:
return (reader.readBoolOrNull(offset) ?? false) as P;
case 5:
return (reader.readBoolOrNull(offset) ?? false) as P;
case 6:
return (reader.readBoolOrNull(offset) ?? false) as P;
return (reader.readBoolOrNull(offset)) as P;
case 7:
return (reader.readBoolOrNull(offset) ?? true) as P;
case 8:
return (reader.readString(offset)) as P;
case 9:
case 8:
return (reader.readStringOrNull(offset) ?? '') as P;
case 10:
case 9:
return (reader.readDateTime(offset)) as P;
default:
throw IsarError('Unknown property with id $propertyId');
}
}
const _UseravatarColorEnumValueMap = {
'primary': 0,
'pink': 1,
'red': 2,
'yellow': 3,
'blue': 4,
'green': 5,
'purple': 6,
'orange': 7,
'gray': 8,
'amber': 9,
};
const _UseravatarColorValueEnumMap = {
0: AvatarColorEnum.primary,
1: AvatarColorEnum.pink,
2: AvatarColorEnum.red,
3: AvatarColorEnum.yellow,
4: AvatarColorEnum.blue,
5: AvatarColorEnum.green,
6: AvatarColorEnum.purple,
7: AvatarColorEnum.orange,
8: AvatarColorEnum.gray,
9: AvatarColorEnum.amber,
};
Id _userGetId(User object) {
return object.isarId;
}
@@ -420,59 +382,6 @@ extension UserQueryWhere on QueryBuilder<User, User, QWhereClause> {
}
extension UserQueryFilter on QueryBuilder<User, User, QFilterCondition> {
QueryBuilder<User, User, QAfterFilterCondition> avatarColorEqualTo(
AvatarColorEnum value) {
return QueryBuilder.apply(this, (query) {
return query.addFilterCondition(FilterCondition.equalTo(
property: r'avatarColor',
value: value,
));
});
}
QueryBuilder<User, User, QAfterFilterCondition> avatarColorGreaterThan(
AvatarColorEnum value, {
bool include = false,
}) {
return QueryBuilder.apply(this, (query) {
return query.addFilterCondition(FilterCondition.greaterThan(
include: include,
property: r'avatarColor',
value: value,
));
});
}
QueryBuilder<User, User, QAfterFilterCondition> avatarColorLessThan(
AvatarColorEnum value, {
bool include = false,
}) {
return QueryBuilder.apply(this, (query) {
return query.addFilterCondition(FilterCondition.lessThan(
include: include,
property: r'avatarColor',
value: value,
));
});
}
QueryBuilder<User, User, QAfterFilterCondition> avatarColorBetween(
AvatarColorEnum lower,
AvatarColorEnum upper, {
bool includeLower = true,
bool includeUpper = true,
}) {
return QueryBuilder.apply(this, (query) {
return query.addFilterCondition(FilterCondition.between(
property: r'avatarColor',
lower: lower,
includeLower: includeLower,
upper: upper,
includeUpper: includeUpper,
));
});
}
QueryBuilder<User, User, QAfterFilterCondition> emailEqualTo(
String value, {
bool caseSensitive = true,
@@ -729,8 +638,24 @@ extension UserQueryFilter on QueryBuilder<User, User, QFilterCondition> {
});
}
QueryBuilder<User, User, QAfterFilterCondition> inTimelineIsNull() {
return QueryBuilder.apply(this, (query) {
return query.addFilterCondition(const FilterCondition.isNull(
property: r'inTimeline',
));
});
}
QueryBuilder<User, User, QAfterFilterCondition> inTimelineIsNotNull() {
return QueryBuilder.apply(this, (query) {
return query.addFilterCondition(const FilterCondition.isNotNull(
property: r'inTimeline',
));
});
}
QueryBuilder<User, User, QAfterFilterCondition> inTimelineEqualTo(
bool value) {
bool? value) {
return QueryBuilder.apply(this, (query) {
return query.addFilterCondition(FilterCondition.equalTo(
property: r'inTimeline',
@@ -820,8 +745,24 @@ extension UserQueryFilter on QueryBuilder<User, User, QFilterCondition> {
});
}
QueryBuilder<User, User, QAfterFilterCondition> memoryEnabledIsNull() {
return QueryBuilder.apply(this, (query) {
return query.addFilterCondition(const FilterCondition.isNull(
property: r'memoryEnabled',
));
});
}
QueryBuilder<User, User, QAfterFilterCondition> memoryEnabledIsNotNull() {
return QueryBuilder.apply(this, (query) {
return query.addFilterCondition(const FilterCondition.isNotNull(
property: r'memoryEnabled',
));
});
}
QueryBuilder<User, User, QAfterFilterCondition> memoryEnabledEqualTo(
bool value) {
bool? value) {
return QueryBuilder.apply(this, (query) {
return query.addFilterCondition(FilterCondition.equalTo(
property: r'memoryEnabled',
@@ -1258,18 +1199,6 @@ extension UserQueryLinks on QueryBuilder<User, User, QFilterCondition> {
}
extension UserQuerySortBy on QueryBuilder<User, User, QSortBy> {
QueryBuilder<User, User, QAfterSortBy> sortByAvatarColor() {
return QueryBuilder.apply(this, (query) {
return query.addSortBy(r'avatarColor', Sort.asc);
});
}
QueryBuilder<User, User, QAfterSortBy> sortByAvatarColorDesc() {
return QueryBuilder.apply(this, (query) {
return query.addSortBy(r'avatarColor', Sort.desc);
});
}
QueryBuilder<User, User, QAfterSortBy> sortByEmail() {
return QueryBuilder.apply(this, (query) {
return query.addSortBy(r'email', Sort.asc);
@@ -1392,18 +1321,6 @@ extension UserQuerySortBy on QueryBuilder<User, User, QSortBy> {
}
extension UserQuerySortThenBy on QueryBuilder<User, User, QSortThenBy> {
QueryBuilder<User, User, QAfterSortBy> thenByAvatarColor() {
return QueryBuilder.apply(this, (query) {
return query.addSortBy(r'avatarColor', Sort.asc);
});
}
QueryBuilder<User, User, QAfterSortBy> thenByAvatarColorDesc() {
return QueryBuilder.apply(this, (query) {
return query.addSortBy(r'avatarColor', Sort.desc);
});
}
QueryBuilder<User, User, QAfterSortBy> thenByEmail() {
return QueryBuilder.apply(this, (query) {
return query.addSortBy(r'email', Sort.asc);
@@ -1538,12 +1455,6 @@ extension UserQuerySortThenBy on QueryBuilder<User, User, QSortThenBy> {
}
extension UserQueryWhereDistinct on QueryBuilder<User, User, QDistinct> {
QueryBuilder<User, User, QDistinct> distinctByAvatarColor() {
return QueryBuilder.apply(this, (query) {
return query.addDistinctBy(r'avatarColor');
});
}
QueryBuilder<User, User, QDistinct> distinctByEmail(
{bool caseSensitive = true}) {
return QueryBuilder.apply(this, (query) {
@@ -1617,12 +1528,6 @@ extension UserQueryProperty on QueryBuilder<User, User, QQueryProperty> {
});
}
QueryBuilder<User, AvatarColorEnum, QQueryOperations> avatarColorProperty() {
return QueryBuilder.apply(this, (query) {
return query.addPropertyName(r'avatarColor');
});
}
QueryBuilder<User, String, QQueryOperations> emailProperty() {
return QueryBuilder.apply(this, (query) {
return query.addPropertyName(r'email');
@@ -1635,7 +1540,7 @@ extension UserQueryProperty on QueryBuilder<User, User, QQueryProperty> {
});
}
QueryBuilder<User, bool, QQueryOperations> inTimelineProperty() {
QueryBuilder<User, bool?, QQueryOperations> inTimelineProperty() {
return QueryBuilder.apply(this, (query) {
return query.addPropertyName(r'inTimeline');
});
@@ -1659,7 +1564,7 @@ extension UserQueryProperty on QueryBuilder<User, User, QQueryProperty> {
});
}
QueryBuilder<User, bool, QQueryOperations> memoryEnabledProperty() {
QueryBuilder<User, bool?, QQueryOperations> memoryEnabledProperty() {
return QueryBuilder.apply(this, (query) {
return query.addPropertyName(r'memoryEnabled');
});

View File

@@ -28,10 +28,13 @@ enum AppStateEnum {
}
class AppStateNotiifer extends StateNotifier<AppStateEnum> {
final Ref _ref;
bool _wasPaused = false;
final Ref ref;
AppStateNotiifer(this._ref) : super(AppStateEnum.active);
AppStateNotiifer(this.ref) : super(AppStateEnum.active);
void updateAppState(AppStateEnum appState) {
state = appState;
}
AppStateEnum getAppState() {
return state;
@@ -40,72 +43,64 @@ class AppStateNotiifer extends StateNotifier<AppStateEnum> {
void handleAppResume() {
state = AppStateEnum.resumed;
// no need to resume because app was never really paused
if (!_wasPaused) return;
_wasPaused = false;
final isAuthenticated = _ref.read(authenticationProvider).isAuthenticated;
final permission = _ref.read(galleryPermissionNotifier);
var isAuthenticated = ref.watch(authenticationProvider).isAuthenticated;
final permission = ref.watch(galleryPermissionNotifier);
// Needs to be logged in and have gallery permissions
if (isAuthenticated && (permission.isGranted || permission.isLimited)) {
_ref.read(backupProvider.notifier).resumeBackup();
_ref.read(backgroundServiceProvider).resumeServiceIfEnabled();
_ref.read(serverInfoProvider.notifier).getServerVersion();
switch (_ref.read(tabProvider)) {
ref.read(backupProvider.notifier).resumeBackup();
ref.read(backgroundServiceProvider).resumeServiceIfEnabled();
ref.read(serverInfoProvider.notifier).getServerVersion();
switch (ref.read(tabProvider)) {
case TabEnum.home:
_ref.read(assetProvider.notifier).getAllAsset();
_ref.read(assetProvider.notifier).getPartnerAssets();
ref.read(assetProvider.notifier).getAllAsset();
case TabEnum.search:
// nothing to do
case TabEnum.sharing:
_ref.read(assetProvider.notifier).getPartnerAssets();
_ref.read(sharedAlbumProvider.notifier).getAllSharedAlbums();
ref.read(assetProvider.notifier).getPartnerAssets();
ref.read(sharedAlbumProvider.notifier).getAllSharedAlbums();
case TabEnum.library:
_ref.read(albumProvider.notifier).getAllAlbums();
ref.read(albumProvider.notifier).getAllAlbums();
}
}
_ref.read(websocketProvider.notifier).connect();
ref.watch(websocketProvider.notifier).connect();
_ref.read(releaseInfoProvider.notifier).checkGithubReleaseInfo();
ref.watch(releaseInfoProvider.notifier).checkGithubReleaseInfo();
_ref
.read(notificationPermissionProvider.notifier)
ref
.watch(notificationPermissionProvider.notifier)
.getNotificationPermission();
_ref.read(galleryPermissionNotifier.notifier).getGalleryPermissionStatus();
ref.watch(galleryPermissionNotifier.notifier).getGalleryPermissionStatus();
_ref.read(iOSBackgroundSettingsProvider.notifier).refresh();
ref.read(iOSBackgroundSettingsProvider.notifier).refresh();
_ref.invalidate(memoryFutureProvider);
ref.invalidate(memoryFutureProvider);
}
void handleAppInactivity() {
state = AppStateEnum.inactive;
// do not stop/clean up anything on inactivity: issued on every orientation change
// Do not handle inactivity if manual upload is in progress
if (ref.watch(backupProvider.notifier).backupProgress !=
BackUpProgressEnum.manualInProgress) {
ImmichLogger().flush();
ref.read(websocketProvider.notifier).disconnect();
ref.read(backupProvider.notifier).cancelBackup();
}
}
void handleAppPause() {
state = AppStateEnum.paused;
_wasPaused = true;
// Do not cancel backup if manual upload is in progress
if (_ref.read(backupProvider.notifier).backupProgress !=
BackUpProgressEnum.manualInProgress) {
_ref.read(backupProvider.notifier).cancelBackup();
}
_ref.read(websocketProvider.notifier).disconnect();
ImmichLogger().flush();
}
void handleAppDetached() {
state = AppStateEnum.detached;
// no guarantee this is called at all
_ref.read(manualUploadProvider.notifier).cancelBackup();
ref.watch(manualUploadProvider.notifier).cancelBackup();
}
void handleAppHidden() {
state = AppStateEnum.hidden;
// do not stop/clean up anything on inactivity: issued on every orientation change
}
}

View File

@@ -8,11 +8,12 @@ import 'package:immich_mobile/shared/providers/db.provider.dart';
import 'package:immich_mobile/shared/providers/user.provider.dart';
import 'package:immich_mobile/shared/services/asset.service.dart';
import 'package:immich_mobile/modules/home/ui/asset_grid/asset_grid_data_structure.dart';
import 'package:immich_mobile/modules/settings/providers/app_settings.provider.dart';
import 'package:immich_mobile/modules/settings/services/app_settings.service.dart';
import 'package:immich_mobile/shared/models/asset.dart';
import 'package:immich_mobile/shared/services/sync.service.dart';
import 'package:immich_mobile/shared/services/user.service.dart';
import 'package:immich_mobile/utils/db.dart';
import 'package:immich_mobile/utils/renderlist_generator.dart';
import 'package:isar/isar.dart';
import 'package:logging/logging.dart';
import 'package:photo_manager/photo_manager.dart';
@@ -250,23 +251,26 @@ final assetWatcher =
return db.assets.watchObject(asset.id, fireImmediately: true);
});
final assetsProvider = StreamProvider.family<RenderList, int?>((ref, userId) {
if (userId == null) return const Stream.empty();
final query = _commonFilterAndSort(
_assets(ref).where().ownerIdEqualToAnyChecksum(userId),
);
return renderListGenerator(query, ref);
});
final multiUserAssetsProvider =
StreamProvider.family<RenderList, List<int>>((ref, userIds) {
if (userIds.isEmpty) return const Stream.empty();
final query = _commonFilterAndSort(
_assets(ref)
.where()
.anyOf(userIds, (q, u) => q.ownerIdEqualToAnyChecksum(u)),
);
return renderListGenerator(query, ref);
final assetsProvider =
StreamProvider.family<RenderList, int?>((ref, userId) async* {
if (userId == null) return;
final query = ref
.watch(dbProvider)
.assets
.where()
.ownerIdEqualToAnyChecksum(userId)
.filter()
.isArchivedEqualTo(false)
.isTrashedEqualTo(false)
.stackParentIdIsNull()
.sortByFileCreatedAtDesc();
final settings = ref.watch(appSettingsServiceProvider);
final groupBy =
GroupAssetsBy.values[settings.getSetting(AppSettingsEnum.groupAssetsBy)];
yield await RenderList.fromQuery(query, groupBy);
await for (final _ in query.watchLazy()) {
yield await RenderList.fromQuery(query, groupBy);
}
});
QueryBuilder<Asset, Asset, QAfterSortBy>? getRemoteAssetQuery(WidgetRef ref) {
@@ -285,17 +289,3 @@ QueryBuilder<Asset, Asset, QAfterSortBy>? getRemoteAssetQuery(WidgetRef ref) {
.stackParentIdIsNull()
.sortByFileCreatedAtDesc();
}
IsarCollection<Asset> _assets(StreamProviderRef<RenderList> ref) =>
ref.watch(dbProvider).assets;
QueryBuilder<Asset, Asset, QAfterSortBy> _commonFilterAndSort(
QueryBuilder<Asset, Asset, QAfterWhereClause> query,
) {
return query
.filter()
.isArchivedEqualTo(false)
.isTrashedEqualTo(false)
.stackParentIdIsNull()
.sortByFileCreatedAtDesc();
}

View File

@@ -3,8 +3,6 @@ import 'dart:async';
import 'package:hooks_riverpod/hooks_riverpod.dart';
import 'package:immich_mobile/shared/models/store.dart';
import 'package:immich_mobile/shared/models/user.dart';
import 'package:immich_mobile/shared/providers/db.provider.dart';
import 'package:isar/isar.dart';
class CurrentUserProvider extends StateNotifier<User?> {
CurrentUserProvider() : super(null) {
@@ -26,32 +24,3 @@ final currentUserProvider =
StateNotifierProvider<CurrentUserProvider, User?>((ref) {
return CurrentUserProvider();
});
class TimelineUserIdsProvider extends StateNotifier<List<int>> {
TimelineUserIdsProvider(Isar db, User? currentUser) : super([]) {
final query = db.users
.filter()
.inTimelineEqualTo(true)
.or()
.isarIdEqualTo(currentUser?.isarId ?? Isar.autoIncrement)
.isarIdProperty();
query.findAll().then((users) => state = users);
streamSub = query.watch().listen((users) => state = users);
}
late final StreamSubscription<List<int>> streamSub;
@override
void dispose() {
streamSub.cancel();
super.dispose();
}
}
final timelineUsersIdsProvider =
StateNotifierProvider<TimelineUserIdsProvider, List<int>>((ref) {
return TimelineUserIdsProvider(
ref.watch(dbProvider),
ref.watch(currentUserProvider),
);
});

View File

@@ -63,19 +63,21 @@ class WebsocketState {
}
class WebsocketNotifier extends StateNotifier<WebsocketState> {
WebsocketNotifier(this._ref)
WebsocketNotifier(this.ref)
: super(
WebsocketState(socket: null, isConnected: false, pendingChanges: []),
);
) {
debounce = Debounce(
const Duration(milliseconds: 500),
);
}
final _log = Logger('WebsocketNotifier');
final Ref _ref;
final Debounce _debounce = Debounce(const Duration(milliseconds: 500));
final log = Logger('WebsocketNotifier');
final Ref ref;
late final Debounce debounce;
/// Connects websocket to server unless already connected
void connect() {
if (state.isConnected) return;
final authenticationState = _ref.read(authenticationProvider);
connect() {
var authenticationState = ref.read(authenticationProvider);
if (authenticationState.isAuthenticated) {
final accessToken = Store.get(StoreKey.accessToken);
@@ -116,7 +118,7 @@ class WebsocketNotifier extends StateNotifier<WebsocketState> {
});
socket.on('error', (errorMessage) {
_log.severe("Websocket Error - $errorMessage");
log.severe("Websocket Error - $errorMessage");
state = WebsocketState(
isConnected: false,
socket: null,
@@ -136,7 +138,7 @@ class WebsocketNotifier extends StateNotifier<WebsocketState> {
}
}
void disconnect() {
disconnect() {
debugPrint("Attempting to disconnect from websocket");
var socket = state.socket?.disconnect();
@@ -150,30 +152,30 @@ class WebsocketNotifier extends StateNotifier<WebsocketState> {
}
}
void stopListenToEvent(String eventName) {
stopListenToEvent(String eventName) {
debugPrint("Stop listening to event $eventName");
state.socket?.off(eventName);
}
void listenUploadEvent() {
listenUploadEvent() {
debugPrint("Start listening to event on_upload_success");
state.socket?.on('on_upload_success', _handleOnUploadSuccess);
}
void addPendingChange(PendingAction action, dynamic value) {
addPendingChange(PendingAction action, dynamic value) {
state = state.copyWith(
pendingChanges: [...state.pendingChanges, PendingChange(action, value)],
);
}
void handlePendingChanges() {
handlePendingChanges() {
final deleteChanges = state.pendingChanges
.where((c) => c.action == PendingAction.assetDelete)
.toList();
if (deleteChanges.isNotEmpty) {
List<String> remoteIds =
deleteChanges.map((a) => a.value.toString()).toList();
_ref.read(syncServiceProvider).handleRemoteAssetRemoval(remoteIds);
ref.read(syncServiceProvider).handleRemoteAssetRemoval(remoteIds);
state = state.copyWith(
pendingChanges: state.pendingChanges
.where((c) => c.action != PendingAction.assetDelete)
@@ -182,27 +184,27 @@ class WebsocketNotifier extends StateNotifier<WebsocketState> {
}
}
void _handleOnUploadSuccess(dynamic data) {
_handleOnUploadSuccess(dynamic data) {
final dto = AssetResponseDto.fromJson(data);
if (dto != null) {
final newAsset = Asset.remote(dto);
_ref.watch(assetProvider.notifier).onNewAssetUploaded(newAsset);
ref.watch(assetProvider.notifier).onNewAssetUploaded(newAsset);
}
}
void _handleOnConfigUpdate(dynamic _) {
_ref.read(serverInfoProvider.notifier).getServerFeatures();
_ref.read(serverInfoProvider.notifier).getServerConfig();
_handleOnConfigUpdate(dynamic _) {
ref.read(serverInfoProvider.notifier).getServerFeatures();
ref.read(serverInfoProvider.notifier).getServerConfig();
}
// Refresh updated assets
void _handleServerUpdates(dynamic _) {
_ref.read(assetProvider.notifier).getAllAsset();
_handleServerUpdates(dynamic _) {
ref.read(assetProvider.notifier).getAllAsset();
}
void _handleOnAssetDelete(dynamic data) {
_handleOnAssetDelete(dynamic data) {
addPendingChange(PendingAction.assetDelete, data);
_debounce(handlePendingChanges);
debounce(handlePendingChanges);
}
}

View File

@@ -99,11 +99,7 @@ class UserService {
users,
sharedWith,
compare: (User a, User b) => a.id.compareTo(b.id),
both: (User a, User b) {
a.isPartnerSharedWith = true;
a.inTimeline = b.inTimeline;
return true;
},
both: (User a, User b) => a.isPartnerSharedWith = true,
onlyFirst: (_) {},
onlySecond: (_) {},
);

View File

@@ -22,12 +22,14 @@ class AppBarProfileInfoBox extends HookConsumerWidget {
final user = Store.tryGet(StoreKey.currentUser);
buildUserProfileImage() {
if (user == null) {
return const CircleAvatar(
radius: 20,
backgroundImage: AssetImage('assets/immich-logo-no-outline.png'),
backgroundColor: Colors.transparent,
);
const immichImage = CircleAvatar(
radius: 20,
backgroundImage: AssetImage('assets/immich-logo-no-outline.png'),
backgroundColor: Colors.transparent,
);
if (authState.profileImagePath.isEmpty || user == null) {
return immichImage;
}
final userImage = UserCircleAvatar(
@@ -36,6 +38,18 @@ class AppBarProfileInfoBox extends HookConsumerWidget {
user: user,
);
if (uploadProfileImageStatus == UploadProfileStatus.idle) {
return authState.profileImagePath.isNotEmpty ? userImage : immichImage;
}
if (uploadProfileImageStatus == UploadProfileStatus.success) {
return userImage;
}
if (uploadProfileImageStatus == UploadProfileStatus.failure) {
return immichImage;
}
if (uploadProfileImageStatus == UploadProfileStatus.loading) {
return const SizedBox(
height: 40,
@@ -44,7 +58,7 @@ class AppBarProfileInfoBox extends HookConsumerWidget {
);
}
return userImage;
return immichImage;
}
pickUserProfileImage() async {

View File

@@ -34,13 +34,12 @@ class ControlBoxButton extends StatelessWidget {
padding: const EdgeInsets.all(10),
shape: const CircleBorder(),
onPressed: onPressed,
minWidth: 75.0,
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
mainAxisAlignment: MainAxisAlignment.start,
crossAxisAlignment: CrossAxisAlignment.center,
children: [
Icon(iconData, size: 24),
const SizedBox(height: 4),
const SizedBox(height: 6),
Text(
label,
style: const TextStyle(fontSize: 12.0),

View File

@@ -4,6 +4,8 @@ import 'package:immich_mobile/extensions/build_context_extensions.dart';
import 'package:immich_mobile/shared/models/store.dart';
import 'package:immich_mobile/shared/ui/app_bar_dialog/app_bar_dialog.dart';
import 'package:immich_mobile/shared/ui/user_circle_avatar.dart';
import 'package:immich_mobile/modules/login/models/authentication_state.model.dart';
import 'package:immich_mobile/modules/login/providers/authentication.provider.dart';
import 'package:immich_mobile/routing/router.dart';
import 'package:immich_mobile/modules/backup/models/backup_state.model.dart';
@@ -24,6 +26,7 @@ class ImmichAppBar extends ConsumerWidget implements PreferredSizeWidget {
final bool isEnableAutoBackup =
backupState.backgroundBackup || backupState.autoBackup;
final ServerInfo serverInfoState = ref.watch(serverInfoProvider);
AuthenticationState authState = ref.watch(authenticationProvider);
final user = Store.tryGet(StoreKey.currentUser);
final isDarkTheme = context.isDarkTheme;
const widgetSize = 30.0;
@@ -52,7 +55,7 @@ class ImmichAppBar extends ConsumerWidget implements PreferredSizeWidget {
alignment: Alignment.bottomRight,
isLabelVisible: serverInfoState.isVersionMismatch,
offset: const Offset(2, 2),
child: user == null
child: authState.profileImagePath.isEmpty || user == null
? const Icon(
Icons.face_outlined,
size: widgetSize,

View File

@@ -3,6 +3,7 @@ import 'dart:math';
import 'package:cached_network_image/cached_network_image.dart';
import 'package:flutter/material.dart';
import 'package:hooks_riverpod/hooks_riverpod.dart';
import 'package:immich_mobile/extensions/build_context_extensions.dart';
import 'package:immich_mobile/shared/models/store.dart';
import 'package:immich_mobile/shared/models/user.dart';
import 'package:immich_mobile/shared/ui/transparent_image.dart';
@@ -12,17 +13,32 @@ class UserCircleAvatar extends ConsumerWidget {
final User user;
double radius;
double size;
bool useRandomBackgroundColor;
UserCircleAvatar({
super.key,
this.radius = 22,
this.size = 44,
this.useRandomBackgroundColor = false,
required this.user,
});
@override
Widget build(BuildContext context, WidgetRef ref) {
bool isDarkTheme = Theme.of(context).brightness == Brightness.dark;
final randomColors = [
Colors.red[200],
Colors.blue[200],
Colors.green[200],
Colors.yellow[200],
Colors.purple[200],
Colors.orange[200],
Colors.pink[200],
Colors.teal[200],
Colors.indigo[200],
Colors.cyan[200],
Colors.brown[200],
];
final profileImageUrl =
'${Store.get(StoreKey.serverEndpoint)}/user/profile-image/${user.id}?d=${Random().nextInt(1024)}';
@@ -30,16 +46,15 @@ class UserCircleAvatar extends ConsumerWidget {
user.name[0].toUpperCase(),
style: TextStyle(
fontWeight: FontWeight.bold,
fontSize: 12,
color: isDarkTheme && user.avatarColor == AvatarColorEnum.primary
? Colors.black
: Colors.white,
color: context.isDarkTheme ? Colors.black : Colors.white,
),
);
return CircleAvatar(
backgroundColor: user.avatarColor.toColor(),
backgroundColor: useRandomBackgroundColor
? randomColors[Random().nextInt(randomColors.length)]
: context.primaryColor,
radius: radius,
child: user.profileImagePath.isEmpty
child: user.profileImagePath == ""
? textIcon
: ClipRRect(
borderRadius: BorderRadius.circular(50),

View File

@@ -40,25 +40,12 @@ class SplashScreenPage extends HookConsumerWidget {
log.severe(e);
}
try {
isSuccess = await ref
.read(authenticationProvider.notifier)
.setSuccessLoginInfo(
accessToken: accessToken,
serverUrl: serverUrl,
offlineLogin: deviceIsOffline,
);
} catch (error, stackTrace) {
ref.read(authenticationProvider.notifier).logout();
log.severe(
'Cannot set success login info: $error',
error,
stackTrace,
);
context.autoPush(const LoginRoute());
}
isSuccess =
await ref.read(authenticationProvider.notifier).setSuccessLoginInfo(
accessToken: accessToken,
serverUrl: serverUrl,
offlineLogin: deviceIsOffline,
);
}
// If the device is offline and there is a currentUser stored locallly

View File

@@ -11,8 +11,6 @@ Future<void> migrateDatabaseIfNeeded(Isar db) async {
await _migrateTo(db, 2);
case 2:
await _migrateTo(db, 3);
case 3:
await _migrateTo(db, 4);
}
}

View File

@@ -1,26 +0,0 @@
import 'package:hooks_riverpod/hooks_riverpod.dart';
import 'package:immich_mobile/modules/home/ui/asset_grid/asset_grid_data_structure.dart';
import 'package:immich_mobile/modules/settings/providers/app_settings.provider.dart';
import 'package:immich_mobile/modules/settings/services/app_settings.service.dart';
import 'package:immich_mobile/shared/models/asset.dart';
import 'package:isar/isar.dart';
Stream<RenderList> renderListGenerator(
QueryBuilder<Asset, Asset, QAfterSortBy> query,
StreamProviderRef<RenderList> ref,
) {
final settings = ref.watch(appSettingsServiceProvider);
final groupBy =
GroupAssetsBy.values[settings.getSetting(AppSettingsEnum.groupAssetsBy)];
return renderListGeneratorWithGroupBy(query, groupBy);
}
Stream<RenderList> renderListGeneratorWithGroupBy(
QueryBuilder<Asset, Asset, QAfterSortBy> query,
GroupAssetsBy groupBy,
) async* {
yield await RenderList.fromQuery(query, groupBy);
await for (final _ in query.watchLazy()) {
yield await RenderList.fromQuery(query, groupBy);
}
}

View File

@@ -166,7 +166,6 @@ doc/UpdateTagDto.md
doc/UpdateUserDto.md
doc/UsageByUserDto.md
doc/UserApi.md
doc/UserAvatarColor.md
doc/UserDto.md
doc/UserResponseDto.md
doc/ValidateAccessTokenResponseDto.md
@@ -344,7 +343,6 @@ lib/model/update_stack_parent_dto.dart
lib/model/update_tag_dto.dart
lib/model/update_user_dto.dart
lib/model/usage_by_user_dto.dart
lib/model/user_avatar_color.dart
lib/model/user_dto.dart
lib/model/user_response_dto.dart
lib/model/validate_access_token_response_dto.dart
@@ -513,7 +511,6 @@ test/update_tag_dto_test.dart
test/update_user_dto_test.dart
test/usage_by_user_dto_test.dart
test/user_api_test.dart
test/user_avatar_color_test.dart
test/user_dto_test.dart
test/user_response_dto_test.dart
test/validate_access_token_response_dto_test.dart

View File

@@ -3,7 +3,7 @@ Immich API
This Dart package is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project:
- API version: 1.86.0
- API version: 1.85.0
- Build package: org.openapitools.codegen.languages.DartClientCodegen
## Requirements
@@ -195,7 +195,6 @@ Class | Method | HTTP request | Description
*TagApi* | [**updateTag**](doc//TagApi.md#updatetag) | **PATCH** /tag/{id} |
*UserApi* | [**createProfileImage**](doc//UserApi.md#createprofileimage) | **POST** /user/profile-image |
*UserApi* | [**createUser**](doc//UserApi.md#createuser) | **POST** /user |
*UserApi* | [**deleteProfileImage**](doc//UserApi.md#deleteprofileimage) | **DELETE** /user/profile-image |
*UserApi* | [**deleteUser**](doc//UserApi.md#deleteuser) | **DELETE** /user/{id} |
*UserApi* | [**getAllUsers**](doc//UserApi.md#getallusers) | **GET** /user |
*UserApi* | [**getMyUserInfo**](doc//UserApi.md#getmyuserinfo) | **GET** /user/me |
@@ -353,7 +352,6 @@ Class | Method | HTTP request | Description
- [UpdateTagDto](doc//UpdateTagDto.md)
- [UpdateUserDto](doc//UpdateUserDto.md)
- [UsageByUserDto](doc//UsageByUserDto.md)
- [UserAvatarColor](doc//UserAvatarColor.md)
- [UserDto](doc//UserDto.md)
- [UserResponseDto](doc//UserResponseDto.md)
- [ValidateAccessTokenResponseDto](doc//ValidateAccessTokenResponseDto.md)

View File

@@ -8,7 +8,6 @@ import 'package:openapi/api.dart';
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**avatarColor** | [**UserAvatarColor**](UserAvatarColor.md) | |
**createdAt** | [**DateTime**](DateTime.md) | |
**deletedAt** | [**DateTime**](DateTime.md) | |
**email** | **String** | |

View File

@@ -8,7 +8,6 @@ import 'package:openapi/api.dart';
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**avatarColor** | [**UserAvatarColor**](UserAvatarColor.md) | | [optional]
**email** | **String** | | [optional]
**externalPath** | **String** | | [optional]
**id** | **String** | |

View File

@@ -11,7 +11,6 @@ Method | HTTP request | Description
------------- | ------------- | -------------
[**createProfileImage**](UserApi.md#createprofileimage) | **POST** /user/profile-image |
[**createUser**](UserApi.md#createuser) | **POST** /user |
[**deleteProfileImage**](UserApi.md#deleteprofileimage) | **DELETE** /user/profile-image |
[**deleteUser**](UserApi.md#deleteuser) | **DELETE** /user/{id} |
[**getAllUsers**](UserApi.md#getallusers) | **GET** /user |
[**getMyUserInfo**](UserApi.md#getmyuserinfo) | **GET** /user/me |
@@ -131,56 +130,6 @@ Name | Type | Description | Notes
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
# **deleteProfileImage**
> deleteProfileImage()
### Example
```dart
import 'package:openapi/api.dart';
// TODO Configure API key authorization: cookie
//defaultApiClient.getAuthentication<ApiKeyAuth>('cookie').apiKey = 'YOUR_API_KEY';
// uncomment below to setup prefix (e.g. Bearer) for API key, if needed
//defaultApiClient.getAuthentication<ApiKeyAuth>('cookie').apiKeyPrefix = 'Bearer';
// TODO Configure API key authorization: api_key
//defaultApiClient.getAuthentication<ApiKeyAuth>('api_key').apiKey = 'YOUR_API_KEY';
// uncomment below to setup prefix (e.g. Bearer) for API key, if needed
//defaultApiClient.getAuthentication<ApiKeyAuth>('api_key').apiKeyPrefix = 'Bearer';
// TODO Configure HTTP Bearer authorization: bearer
// Case 1. Use String Token
//defaultApiClient.getAuthentication<HttpBearerAuth>('bearer').setAccessToken('YOUR_ACCESS_TOKEN');
// Case 2. Use Function which generate token.
// String yourTokenGeneratorFunction() { ... }
//defaultApiClient.getAuthentication<HttpBearerAuth>('bearer').setAccessToken(yourTokenGeneratorFunction);
final api_instance = UserApi();
try {
api_instance.deleteProfileImage();
} catch (e) {
print('Exception when calling UserApi->deleteProfileImage: $e\n');
}
```
### Parameters
This endpoint does not need any parameter.
### Return type
void (empty response body)
### Authorization
[cookie](../README.md#cookie), [api_key](../README.md#api_key), [bearer](../README.md#bearer)
### HTTP request headers
- **Content-Type**: Not defined
- **Accept**: Not defined
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
# **deleteUser**
> UserResponseDto deleteUser(id)

View File

@@ -1,14 +0,0 @@
# openapi.model.UserAvatarColor
## Load the model package
```dart
import 'package:openapi/api.dart';
```
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)

View File

@@ -8,7 +8,6 @@ import 'package:openapi/api.dart';
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**avatarColor** | [**UserAvatarColor**](UserAvatarColor.md) | |
**email** | **String** | |
**id** | **String** | |
**name** | **String** | |

View File

@@ -8,7 +8,6 @@ import 'package:openapi/api.dart';
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**avatarColor** | [**UserAvatarColor**](UserAvatarColor.md) | |
**createdAt** | [**DateTime**](DateTime.md) | |
**deletedAt** | [**DateTime**](DateTime.md) | |
**email** | **String** | |

View File

@@ -192,7 +192,6 @@ part 'model/update_stack_parent_dto.dart';
part 'model/update_tag_dto.dart';
part 'model/update_user_dto.dart';
part 'model/usage_by_user_dto.dart';
part 'model/user_avatar_color.dart';
part 'model/user_dto.dart';
part 'model/user_response_dto.dart';
part 'model/validate_access_token_response_dto.dart';

View File

@@ -120,39 +120,6 @@ class UserApi {
return null;
}
/// Performs an HTTP 'DELETE /user/profile-image' operation and returns the [Response].
Future<Response> deleteProfileImageWithHttpInfo() async {
// ignore: prefer_const_declarations
final path = r'/user/profile-image';
// ignore: prefer_final_locals
Object? postBody;
final queryParams = <QueryParam>[];
final headerParams = <String, String>{};
final formParams = <String, String>{};
const contentTypes = <String>[];
return apiClient.invokeAPI(
path,
'DELETE',
queryParams,
postBody,
headerParams,
formParams,
contentTypes.isEmpty ? null : contentTypes.first,
);
}
Future<void> deleteProfileImage() async {
final response = await deleteProfileImageWithHttpInfo();
if (response.statusCode >= HttpStatus.badRequest) {
throw ApiException(response.statusCode, await _decodeBodyBytes(response));
}
}
/// Performs an HTTP 'DELETE /user/{id}' operation and returns the [Response].
/// Parameters:
///

View File

@@ -473,8 +473,6 @@ class ApiClient {
return UpdateUserDto.fromJson(value);
case 'UsageByUserDto':
return UsageByUserDto.fromJson(value);
case 'UserAvatarColor':
return UserAvatarColorTypeTransformer().decode(value);
case 'UserDto':
return UserDto.fromJson(value);
case 'UserResponseDto':

View File

@@ -127,9 +127,6 @@ String parameterToString(dynamic value) {
if (value is TranscodePolicy) {
return TranscodePolicyTypeTransformer().encode(value).toString();
}
if (value is UserAvatarColor) {
return UserAvatarColorTypeTransformer().encode(value).toString();
}
if (value is VideoCodec) {
return VideoCodecTypeTransformer().encode(value).toString();
}

View File

@@ -13,7 +13,6 @@ part of openapi.api;
class PartnerResponseDto {
/// Returns a new [PartnerResponseDto] instance.
PartnerResponseDto({
required this.avatarColor,
required this.createdAt,
required this.deletedAt,
required this.email,
@@ -30,8 +29,6 @@ class PartnerResponseDto {
required this.updatedAt,
});
UserAvatarColor avatarColor;
DateTime createdAt;
DateTime? deletedAt;
@@ -74,7 +71,6 @@ class PartnerResponseDto {
@override
bool operator ==(Object other) => identical(this, other) || other is PartnerResponseDto &&
other.avatarColor == avatarColor &&
other.createdAt == createdAt &&
other.deletedAt == deletedAt &&
other.email == email &&
@@ -93,7 +89,6 @@ class PartnerResponseDto {
@override
int get hashCode =>
// ignore: unnecessary_parenthesis
(avatarColor.hashCode) +
(createdAt.hashCode) +
(deletedAt == null ? 0 : deletedAt!.hashCode) +
(email.hashCode) +
@@ -110,11 +105,10 @@ class PartnerResponseDto {
(updatedAt.hashCode);
@override
String toString() => 'PartnerResponseDto[avatarColor=$avatarColor, createdAt=$createdAt, deletedAt=$deletedAt, email=$email, externalPath=$externalPath, id=$id, inTimeline=$inTimeline, isAdmin=$isAdmin, memoriesEnabled=$memoriesEnabled, name=$name, oauthId=$oauthId, profileImagePath=$profileImagePath, shouldChangePassword=$shouldChangePassword, storageLabel=$storageLabel, updatedAt=$updatedAt]';
String toString() => 'PartnerResponseDto[createdAt=$createdAt, deletedAt=$deletedAt, email=$email, externalPath=$externalPath, id=$id, inTimeline=$inTimeline, isAdmin=$isAdmin, memoriesEnabled=$memoriesEnabled, name=$name, oauthId=$oauthId, profileImagePath=$profileImagePath, shouldChangePassword=$shouldChangePassword, storageLabel=$storageLabel, updatedAt=$updatedAt]';
Map<String, dynamic> toJson() {
final json = <String, dynamic>{};
json[r'avatarColor'] = this.avatarColor;
json[r'createdAt'] = this.createdAt.toUtc().toIso8601String();
if (this.deletedAt != null) {
json[r'deletedAt'] = this.deletedAt!.toUtc().toIso8601String();
@@ -160,7 +154,6 @@ class PartnerResponseDto {
final json = value.cast<String, dynamic>();
return PartnerResponseDto(
avatarColor: UserAvatarColor.fromJson(json[r'avatarColor'])!,
createdAt: mapDateTime(json, r'createdAt', '')!,
deletedAt: mapDateTime(json, r'deletedAt', ''),
email: mapValueOfType<String>(json, r'email')!,
@@ -222,7 +215,6 @@ class PartnerResponseDto {
/// The list of required keys that must be present in a JSON.
static const requiredKeys = <String>{
'avatarColor',
'createdAt',
'deletedAt',
'email',

Some files were not shown because too many files have changed in this diff Show More