diff --git a/l10n/.gitkeep b/l10n/.gitkeep
new file mode 100644
index 0000000..e69de29
diff --git a/openapi-administration.json b/openapi-administration.json
index 6c52dc4..2e9da01 100644
--- a/openapi-administration.json
+++ b/openapi-administration.json
@@ -3,7 +3,7 @@
"info": {
"title": "profile_fields-administration",
"version": "0.0.1",
- "description": "Structured custom profile data for directories, operations and support teams",
+ "description": "Extend Nextcloud user profiles with customizable fields, access control, and integration-friendly APIs",
"license": {
"name": "agpl"
}
diff --git a/openapi-full.json b/openapi-full.json
index 551804d..fa4bd48 100644
--- a/openapi-full.json
+++ b/openapi-full.json
@@ -3,7 +3,7 @@
"info": {
"title": "profile_fields-full",
"version": "0.0.1",
- "description": "Structured custom profile data for directories, operations and support teams",
+ "description": "Extend Nextcloud user profiles with customizable fields, access control, and integration-friendly APIs",
"license": {
"name": "agpl"
}
diff --git a/openapi.json b/openapi.json
index d5e81eb..fe05e2d 100644
--- a/openapi.json
+++ b/openapi.json
@@ -3,7 +3,7 @@
"info": {
"title": "profile_fields",
"version": "0.0.1",
- "description": "Structured custom profile data for directories, operations and support teams",
+ "description": "Extend Nextcloud user profiles with customizable fields, access control, and integration-friendly APIs",
"license": {
"name": "agpl"
}
diff --git a/src/components/AdminUserFieldsDialog.vue b/src/components/AdminUserFieldsDialog.vue
index b8aec8e..3a2314d 100644
--- a/src/components/AdminUserFieldsDialog.vue
+++ b/src/components/AdminUserFieldsDialog.vue
@@ -124,7 +124,7 @@ SPDX-License-Identifier: AGPL-3.0-or-later
{{ t('profile_fields', 'Cancel') }}
- {{ isSavingAny ? t('profile_fields', 'Saving changes...') : t('profile_fields', 'Save changes') }}
+ {{ isSavingAny ? t('profile_fields', 'Saving changes…') : t('profile_fields', 'Save changes') }}
@@ -184,7 +184,7 @@ export default defineComponent({
const headerUserName = computed(() => props.userDisplayName.trim() !== '' ? props.userDisplayName : props.userUid)
const visibilityFieldLabel = t('profile_fields', 'Who can view this field value')
- const loadingMessage = computed(() => t('profile_fields', 'Loading profile fields for {userUid}...', { userUid: props.userUid }))
+ const loadingMessage = computed(() => t('profile_fields', 'Loading profile fields for {userUid}…', { userUid: props.userUid }))
const editableFields = computed(() => buildAdminEditableFields(definitions.value, userValues.value))
const isSavingAny = computed(() => savingIds.value.length > 0)
const headerDescription = computed(() => {
diff --git a/src/views/AdminSettings.vue b/src/views/AdminSettings.vue
index 5cb9738..5d0530e 100644
--- a/src/views/AdminSettings.vue
+++ b/src/views/AdminSettings.vue
@@ -397,7 +397,7 @@ const editorEmptyState = computed(() => sortedDefinitions.value.length === 0
description: t('profile_fields', 'Select a field from the list, or create a new one.'),
})
const configuredFieldsCountLabel = computed(() => n('profile_fields', 'field configured', 'fields configured', definitions.value.length, { count: definitions.value.length }))
-const saveActionLabel = computed(() => isSaving.value ? t('profile_fields', 'Saving changes...') : (isEditing.value ? t('profile_fields', 'Save changes') : t('profile_fields', 'Create field')))
+const saveActionLabel = computed(() => isSaving.value ? t('profile_fields', 'Saving changes…') : (isEditing.value ? t('profile_fields', 'Save changes') : t('profile_fields', 'Create field')))
const editFieldAriaLabel = (label: string) => t('profile_fields', 'Edit field {label}', { label })
const actionsForLabel = (label: string) => t('profile_fields', 'Actions for {label}', { label })
const toggleDefinitionActiveLabel = (definition: FieldDefinition) => definition.active
diff --git a/src/views/PersonalSettings.vue b/src/views/PersonalSettings.vue
index 327ec7b..7a9e26f 100644
--- a/src/views/PersonalSettings.vue
+++ b/src/views/PersonalSettings.vue
@@ -151,7 +151,7 @@ SPDX-License-Identifier: AGPL-3.0-or-later
/>
- {{ isSaving(field.definition.id) ? t('profile_fields', 'Saving changes...') : t('profile_fields', 'Save changes') }}
+ {{ isSaving(field.definition.id) ? t('profile_fields', 'Saving changes…') : t('profile_fields', 'Save changes') }}
diff --git a/src/workflow.ts b/src/workflow.ts
index 708135f..34c925d 100644
--- a/src/workflow.ts
+++ b/src/workflow.ts
@@ -681,7 +681,7 @@ class WorkflowWebhookOperationElement extends HTMLElement {
urlInput.type = 'url'
urlInput.value = config.url
urlInput.disabled = this.disabledInternal
- urlInput.placeholder = t('profile_fields', 'Webhook URL (https://...)')
+ urlInput.placeholder = t('profile_fields', 'Webhook URL (https://…)')
urlInput.className = config.url === '' || isUrlValid ? '' : 'invalid'
const secretInput = document.createElement('input')