From e113e271c4a0a3c13569c1e0ad2c009e5189a559 Mon Sep 17 00:00:00 2001
From: "github-actions[bot]"
<41898282+github-actions[bot]@users.noreply.github.com>
Date: Sun, 30 Aug 2026 19:59:12 +0200
Subject: [PATCH 01/35] chore(release): 0.2.4-unstable.20260830175353 (#605)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
---
appinfo/info.xml | 2 +-
openapi.json | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/appinfo/info.xml b/appinfo/info.xml
index 2bfd99f6..5b3ce9ad 100644
--- a/appinfo/info.xml
+++ b/appinfo/info.xml
@@ -46,7 +46,7 @@ Maak een [featureverzoek](https://github.com/ConductionNL/larpinq/issues)
**Support:** neem voor support contact op met support@conduction.nl. Voor een Service Level Agreement (SLA), neem contact op met sales@conduction.nl.
]]>
- 0.2.3-unstable.20260830082603
+ 0.2.4-unstable.20260830175353
EUPL-1.2
Conduction
Larpinq
diff --git a/openapi.json b/openapi.json
index 75f551f5..3a09c85d 100644
--- a/openapi.json
+++ b/openapi.json
@@ -2,7 +2,7 @@
"openapi": "3.0.3",
"info": {
"title": "dsonextcloud",
- "version": "0.2.3-unstable.20260830082603",
+ "version": "0.2.4-unstable.20260830175353",
"description": "DSO Nextcloud",
"license": {
"name": "agpl"
From 7dcbe85b13affc7689f580f8bf9d7c72a2d1d835 Mon Sep 17 00:00:00 2001
From: Ruben van der Linde
Date: Mon, 31 Aug 2026 03:26:15 +0200
Subject: [PATCH 02/35] chore(deps): take @conduction/nextcloud-vue 2.25.1 for
the KPI card (#618)
2.25.x makes the canonical KPI card flat and horizontal, so dashboards stop
drawing a grey box inside the white card CnWidgetWrapper already draws, and
2.25.1 fixes the narrow-tile step-down that 2.25.0 shipped inert (a source-order
bug left KPI values clipped on a three-column tile).
The caret range already allowed both; only the lockfile pinned this app back.
Lockfile only.
---
package-lock.json | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/package-lock.json b/package-lock.json
index c936d087..5fedab11 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1829,9 +1829,9 @@
}
},
"node_modules/@conduction/nextcloud-vue": {
- "version": "2.24.3",
- "resolved": "https://registry.npmjs.org/@conduction/nextcloud-vue/-/nextcloud-vue-2.24.3.tgz",
- "integrity": "sha512-Hflys+AxGNNSkDxuMf04RdFzijhWDKtcRJAHtmtYLj6ntwoIT51k0rfRju6S5GuTNF+daJDUv9tHDVVXb9ZIWw==",
+ "version": "2.25.1",
+ "resolved": "https://registry.npmjs.org/@conduction/nextcloud-vue/-/nextcloud-vue-2.25.1.tgz",
+ "integrity": "sha512-c5sY4XnHrfGUIUEatJEIT5jK78k9REj2UCqXylbHiDPkv1HpUx7Sf3XtfDxAd4xPjn/kbO094rNqShK4tPnY7w==",
"license": "EUPL-1.2",
"dependencies": {
"@ckpack/vue-color": "^1.6.0",
@@ -1895,7 +1895,7 @@
"eslint-plugin-vue": "^9.21.0 || ^10.0.0",
"gridstack": "^12.0.0 || ^13.0.0",
"marked": "^12.0.0",
- "pinia": "^2.0.0 || ^3.0.0",
+ "pinia": "^2.0.0 || ^3.0.0 || ^4.0.0",
"vue": "^3.5.0",
"vue-eslint-parser": "^9.4.0 || ^10.0.0",
"vue-material-design-icons": "^5.0.0"
From 323b6a28fd9c62045875cd176adc44c30a42d5d4 Mon Sep 17 00:00:00 2001
From: Ruben van der Linde
Date: Mon, 31 Aug 2026 04:59:21 +0200
Subject: [PATCH 03/35] fix(store): import useObjectStore, which was called but
never imported (#620)
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
initializeStores() called useObjectStore() on line 39 while the file imported
createObjectStore (the factory) and generateUrl, neither of which it used. The
call would have thrown ReferenceError the moment initializeStores() ran.
src/store/modules/object.js already builds the store from the factory and
exports it, and dossiq imports it from exactly there, so this restores the
fleet's shape rather than inventing one.
Also removed a shadowed binding and two JSDoc errors that eslint reported:
- store.js declared a register binding that was immediately shadowed inside
the loop and never read. Removing it changes no behaviour — the
'larpingapp' default it carried was already unreachable.
- Settings.vue carried @package twice (once empty) and used @link as a BLOCK
tag, which is inline-only. Now @see.
prettier reported three files, two of which this change never touched
(src/main.js, webpack.config.js) — that check was already failing.
Verified: lint, format and build all exit 0.
---
src/main.js | 5 ++++-
src/store/store.js | 4 +---
src/views/settings/Settings.vue | 23 ++++++++++++++++-------
webpack.config.js | 5 ++++-
4 files changed, 25 insertions(+), 12 deletions(-)
diff --git a/src/main.js b/src/main.js
index 9878b70d..bf41519b 100644
--- a/src/main.js
+++ b/src/main.js
@@ -351,7 +351,10 @@ try {
} catch (e) {
// Non-fatal — lib translations fall back to English source.
// eslint-disable-next-line no-console
- console.warn('[larpingapp] registerTranslations failed; falling back to English', e)
+ console.warn(
+ '[larpingapp] registerTranslations failed; falling back to English',
+ e,
+ )
}
tryLoadTranslations()
diff --git a/src/store/store.js b/src/store/store.js
index 67155f95..6a735445 100644
--- a/src/store/store.js
+++ b/src/store/store.js
@@ -8,8 +8,7 @@
// part of the Tier-4 manifest migration; CnIndexPage / CnDetailPage drive
// every list/detail page from src/manifest.json against this store.
-import { generateUrl } from '@nextcloud/router'
-import { createObjectStore } from '@conduction/nextcloud-vue'
+import { useObjectStore } from './modules/object.js'
import { useSettingsStore } from './modules/settings.js'
/**
@@ -39,7 +38,6 @@ export async function initializeStores() {
const objectStore = useObjectStore()
const config = (await settingsStore.fetchSettings()) || {}
- const register = config.register || 'larpingapp'
if (config) {
for (const slug of SCHEMA_SLUGS) {
diff --git a/src/views/settings/Settings.vue b/src/views/settings/Settings.vue
index fbb04fb8..3b2f8b08 100644
--- a/src/views/settings/Settings.vue
+++ b/src/views/settings/Settings.vue
@@ -126,14 +126,13 @@ import logger from '../../logger.js'
/**
* @class Settings
* @module Components
- * @package
* @category LarpingApp
* @package LarpingApp
* @version 1.0.0
* @license EUPL-1.2
* @author Claude AI
* @copyright 2023 Conduction
- * @link https://github.com/LarpingApp/larpingapp
+ * @see https://github.com/LarpingApp/larpingapp
*
* Settings component for the Larping App that allows users to configure
* data storage options for different object types using Larp Registers.
@@ -203,10 +202,14 @@ export default defineComponent({
if (!this.selectedRegister) return false
const register = this.settings.availableRegisters.find(
- r => r.id.toString() === this.selectedRegister.value,
+ (r) => r.id.toString() === this.selectedRegister.value,
)
- return register && Array.isArray(register.schemas) && register.schemas.length > 0
+ return (
+ register
+ && Array.isArray(register.schemas)
+ && register.schemas.length > 0
+ )
},
},
@@ -397,7 +400,9 @@ export default defineComponent({
configToSave[`${type}_register`] = this.selectedRegister.value
// Set the schema ID if selected
- configToSave[`${type}_schema`] = config.schema ? config.schema.value : ''
+ configToSave[`${type}_schema`] = config.schema
+ ? config.schema.value
+ : ''
})
const response = await fetch(
@@ -441,7 +446,9 @@ export default defineComponent({
this.configurationResults = null
try {
- const response = await fetch('/index.php/apps/larpingapp/api/settings/load')
+ const response = await fetch(
+ '/index.php/apps/larpingapp/api/settings/load',
+ )
const data = await response.json()
if (data.error) {
@@ -452,7 +459,9 @@ export default defineComponent({
await this.loadSettings()
}
} catch (error) {
- this.configurationResults = { error: 'Failed to load configuration: ' + error.message }
+ this.configurationResults = {
+ error: 'Failed to load configuration: ' + error.message,
+ }
} finally {
this.loadingConfiguration = false
}
diff --git a/webpack.config.js b/webpack.config.js
index 1fb572fc..91e067af 100644
--- a/webpack.config.js
+++ b/webpack.config.js
@@ -210,6 +210,9 @@ webpackConfig.plugins = [
// `^3.x` line), preventing @conduction/nextcloud-vue's nested `@nextcloud/dialogs@^7`
// — which drags in a Vue-3 `@nextcloud/vue` + floating-vue and breaks the Vue-2
// build with "export 'createApp' was not found in 'vue'". Mirrors procest/decidesk.
-webpackConfig.resolve.alias['@nextcloud/dialogs'] = path.resolve(__dirname, 'node_modules/@nextcloud/dialogs')
+webpackConfig.resolve.alias['@nextcloud/dialogs'] = path.resolve(
+ __dirname,
+ 'node_modules/@nextcloud/dialogs',
+)
module.exports = webpackConfig
From 95d1000893a3f17175064eee97fffff1a5643a94 Mon Sep 17 00:00:00 2001
From: Ruben van der Linde
Date: Mon, 31 Aug 2026 05:58:32 +0200
Subject: [PATCH 04/35] fix(l10n): cover the schema strings that broke the
check (#622)
* fix(l10n): cover the schema strings that broke the check
check:schema-l10n failed on development:
221 schema string(s); 196 uncovered, baseline 134
62 schema string(s) added with no catalogue key. They will render
in English inside an otherwise translated form.
Adds Dutch for the field titles and short descriptions a user actually
reads in a form: names, dates, currencies, game master notes, the
requirement-override fields and the experience-point award fields.
en.json takes the identity mapping, which is what the checker requires:
the English string IS the key, so changing it there would stop the schema
matching at all. The Dutch is the part being authored.
The .js catalogues are regenerated with npm run l10n:build rather than
edited, because the .json files are the source and hand-editing the
generated side is how the two drift apart.
Uncovered goes 196 -> 125, which is nine BELOW the previous baseline, so
the baseline is lowered to 125 in the same commit. Leaving it at 134
would let the coverage slip back by nine without the check noticing.
Verified: check:schema-l10n, check:l10n and check:l10n-js all exit 0.
* fix(l10n): translate the 71 schema strings in the other 35 locales
The previous commit added the schema field labels to en.json and nl.json
and left the other 35 catalogues short by the same 71 keys, so
`npm run test:l10n` failed on the parity gate: every required locale must
carry a real translation for every English source key.
Each locale now has all 71. The wording is taken from the terms the
catalogue already uses for the same nouns rather than from a fresh
choice per string: character, skill, event, player, item, condition and
effect all keep the word that locale already picked, and the five keys
that only differ from an existing one by capitalisation ("Start Date"
next to "Start date", the three "Required ..." pairs) reuse the same
translation.
Two schema notes drove specific choices. The `setting` schema is titled
"World", and its own note records that all 35 non-Dutch locales had read
the old title as a UI preference, so "Setting Name" is translated as the
name of the world, not of a setting. "Ability" and "Stat" are separate
schemas, so the locales that had already spent their obvious word on one
of them use a distinct word for the other.
Fifteen locales keep "Status" as-is. It is the actual word in those
languages, and the parity gate counts values identical to English rather
than rejecting them, so nothing needs recording anywhere.
The .js catalogues are regenerated with `npm run l10n:build`. The .json
files are the source; hand-editing the generated side is how the two
drift apart.
Verified: test:l10n, check:l10n-js, check:schema-l10n and format all
exit 0. en.json and nl.json are untouched.
---------
Co-authored-by: Conduction Release Bot
---
l10n/.schema-l10n-baseline.json | 2 +-
l10n/be.js | 73 ++++-
l10n/be.json | 73 ++++-
l10n/bg.js | 73 ++++-
l10n/bg.json | 73 ++++-
l10n/bs.js | 73 ++++-
l10n/bs.json | 73 ++++-
l10n/ca.js | 73 ++++-
l10n/ca.json | 73 ++++-
l10n/cs.js | 73 ++++-
l10n/cs.json | 73 ++++-
l10n/da.js | 73 ++++-
l10n/da.json | 73 ++++-
l10n/de.js | 73 ++++-
l10n/de.json | 73 ++++-
l10n/el.js | 73 ++++-
l10n/el.json | 73 ++++-
l10n/en.js | 335 ++++++++++++---------
l10n/en.json | 335 ++++++++++++---------
l10n/es.js | 73 ++++-
l10n/es.json | 73 ++++-
l10n/et.js | 73 ++++-
l10n/et.json | 73 ++++-
l10n/fi.js | 73 ++++-
l10n/fi.json | 73 ++++-
l10n/fr.js | 73 ++++-
l10n/fr.json | 73 ++++-
l10n/ga.js | 73 ++++-
l10n/ga.json | 73 ++++-
l10n/hr.js | 73 ++++-
l10n/hr.json | 73 ++++-
l10n/hu.js | 73 ++++-
l10n/hu.json | 73 ++++-
l10n/is.js | 73 ++++-
l10n/is.json | 73 ++++-
l10n/it.js | 73 ++++-
l10n/it.json | 73 ++++-
l10n/lb.js | 73 ++++-
l10n/lb.json | 73 ++++-
l10n/lt.js | 73 ++++-
l10n/lt.json | 73 ++++-
l10n/lv.js | 73 ++++-
l10n/lv.json | 73 ++++-
l10n/mk.js | 73 ++++-
l10n/mk.json | 73 ++++-
l10n/mt.js | 73 ++++-
l10n/mt.json | 73 ++++-
l10n/nb.js | 73 ++++-
l10n/nb.json | 73 ++++-
l10n/nl.js | 510 ++++++++++++++++++--------------
l10n/nl.json | 510 ++++++++++++++++++--------------
l10n/pl.js | 73 ++++-
l10n/pl.json | 73 ++++-
l10n/pt.js | 73 ++++-
l10n/pt.json | 73 ++++-
l10n/rm.js | 73 ++++-
l10n/rm.json | 73 ++++-
l10n/ro.js | 73 ++++-
l10n/ro.json | 73 ++++-
l10n/ru.js | 73 ++++-
l10n/ru.json | 73 ++++-
l10n/sk.js | 73 ++++-
l10n/sk.json | 73 ++++-
l10n/sl.js | 73 ++++-
l10n/sl.json | 73 ++++-
l10n/sq.js | 73 ++++-
l10n/sq.json | 73 ++++-
l10n/sr.js | 73 ++++-
l10n/sr.json | 73 ++++-
l10n/sv.js | 73 ++++-
l10n/sv.json | 73 ++++-
l10n/tr.js | 73 ++++-
l10n/tr.json | 73 ++++-
l10n/uk.js | 73 ++++-
l10n/uk.json | 73 ++++-
75 files changed, 6027 insertions(+), 775 deletions(-)
diff --git a/l10n/.schema-l10n-baseline.json b/l10n/.schema-l10n-baseline.json
index d2ee426a..5067a41f 100644
--- a/l10n/.schema-l10n-baseline.json
+++ b/l10n/.schema-l10n-baseline.json
@@ -1,3 +1,3 @@
{
- "uncovered": 134
+ "uncovered": 125
}
diff --git a/l10n/be.js b/l10n/be.js
index b2f2d045..9bfee6d7 100644
--- a/l10n/be.js
+++ b/l10n/be.js
@@ -152,7 +152,78 @@ OC.L10N.register(
"None — this is a root skill.": "Няма — гэта базавы навык.",
"Where the automation lives": "Дзе жыве аўтаматызацыя",
"Flows are what happens without anyone clicking: a reminder before a deadline passes, a confirmation sent on submission. This is where you read and edit them. Nothing to build now.": "Flows — гэта тое, што адбываецца без ніводнага кліку: напамін да заканчэння тэрміну, пацвярджэнне пры падачы. Тут вы іх чытаеце і рэдагуеце — зараз нічога будаваць не трэба.",
- "Open Flows in the menu": "Адкрыйце Flows у меню"
+ "Open Flows in the menu": "Адкрыйце Flows у меню",
+ "Ability Name": "Назва здольнасці",
+ "Affected Characters": "Закранутыя персанажы",
+ "Amount of copper pieces": "Колькасць медных манет",
+ "Amount of gold pieces": "Колькасць залатых манет",
+ "Amount of silver pieces": "Колькасць срэбных манет",
+ "Automatic system notices": "Аўтаматычныя сістэмныя паведамленні",
+ "Award Reason": "Прычына налічэння",
+ "Awarded At": "Налічана",
+ "Awarded By": "Налічыў",
+ "Background Story": "Перадгісторыя персанажа",
+ "Base Value": "Базавае значэнне",
+ "Character Card": "Картка персанажа",
+ "Character Name": "Імя персанажа",
+ "Checked In At": "Прыбыццё зафіксавана",
+ "Checked In By": "Прыбыццё зафіксаваў",
+ "Condition Name": "Назва стану",
+ "Contact email address": "Кантактны адрас электроннай пошты",
+ "Copper Pieces": "Медныя манеты",
+ "Effect Name": "Назва эфекту",
+ "End Date": "Дата заканчэння",
+ "Event Name": "Назва падзеі",
+ "Event description": "Апісанне падзеі",
+ "Event end date and time": "Дата і час заканчэння падзеі",
+ "Event location": "Месца правядзення падзеі",
+ "Event name": "Назва падзеі",
+ "Event start date and time": "Дата і час пачатку падзеі",
+ "Faith": "Вера",
+ "Full name of the player": "Поўнае імя гульца",
+ "Game Master Notes (Private)": "Нататкі вядучага гульні (прыватныя)",
+ "Game Master Notes (Public)": "Нататкі вядучага гульні (публічныя)",
+ "Gold Pieces": "Залатыя манеты",
+ "Item Name": "Назва прадмета",
+ "Items and Money": "Прадметы і грошы",
+ "Mechanical Effect": "Гульнявы эфект",
+ "Modifier Value": "Значэнне мадыфікатара",
+ "Name of the condition": "Назва стану",
+ "Name of the effect": "Назва эфекту",
+ "Name of the event": "Назва падзеі",
+ "Name of the item": "Назва прадмета",
+ "Name of the skill": "Назва навыку",
+ "Name of the stat": "Назва характарыстыкі",
+ "Nextcloud user": "Карыстальнік Nextcloud",
+ "Notes about items and money": "Нататкі пра прадметы і грошы",
+ "Notes about the player": "Нататкі пра гульца",
+ "Overridden At": "Выключэнне дадзена",
+ "Overridden By": "Выключэнне даў",
+ "Override Reason": "Прычына выключэння",
+ "Owner": "Уладальнік",
+ "Owner UID": "UID уладальніка",
+ "Participating Characters": "Персанажы, якія ўдзельнічаюць",
+ "Player Name": "Імя гульца",
+ "Post-Event Effects": "Эфекты пасля падзеі",
+ "Real name of the player": "Сапраўднае імя гульца",
+ "Required Conditions": "Патрэбныя станы",
+ "Required Effects": "Патрэбныя эфекты",
+ "Required Score": "Патрэбнае значэнне",
+ "Required Skills": "Патрэбныя навыкі",
+ "Required Stats": "Патрэбныя характарыстыкі",
+ "Requirement Overrides": "Выключэнні з патрабаванняў",
+ "Setting Name": "Назва свету гульні",
+ "Silver Pieces": "Срэбныя манеты",
+ "Skill Name": "Назва навыку",
+ "Start Date": "Дата пачатку",
+ "Starting value for all characters": "Пачатковае значэнне для ўсіх персанажаў",
+ "Stat": "Характарыстыка",
+ "Status": "Статус",
+ "System Notice": "Сістэмнае паведамленне",
+ "Unique Artifact": "Унікальны артэфакт",
+ "Unique Condition": "Унікальны стан",
+ "XP Amount": "Колькасць пунктаў вопыту",
+ "XP Award": "Налічэнне пунктаў вопыту"
},
"nplurals=2; plural=(n != 1);"
)
diff --git a/l10n/be.json b/l10n/be.json
index 9f66792b..e994ad25 100644
--- a/l10n/be.json
+++ b/l10n/be.json
@@ -151,7 +151,78 @@
"None — this is a root skill.": "Няма — гэта базавы навык.",
"Where the automation lives": "Дзе жыве аўтаматызацыя",
"Flows are what happens without anyone clicking: a reminder before a deadline passes, a confirmation sent on submission. This is where you read and edit them. Nothing to build now.": "Flows — гэта тое, што адбываецца без ніводнага кліку: напамін да заканчэння тэрміну, пацвярджэнне пры падачы. Тут вы іх чытаеце і рэдагуеце — зараз нічога будаваць не трэба.",
- "Open Flows in the menu": "Адкрыйце Flows у меню"
+ "Open Flows in the menu": "Адкрыйце Flows у меню",
+ "Ability Name": "Назва здольнасці",
+ "Affected Characters": "Закранутыя персанажы",
+ "Amount of copper pieces": "Колькасць медных манет",
+ "Amount of gold pieces": "Колькасць залатых манет",
+ "Amount of silver pieces": "Колькасць срэбных манет",
+ "Automatic system notices": "Аўтаматычныя сістэмныя паведамленні",
+ "Award Reason": "Прычына налічэння",
+ "Awarded At": "Налічана",
+ "Awarded By": "Налічыў",
+ "Background Story": "Перадгісторыя персанажа",
+ "Base Value": "Базавае значэнне",
+ "Character Card": "Картка персанажа",
+ "Character Name": "Імя персанажа",
+ "Checked In At": "Прыбыццё зафіксавана",
+ "Checked In By": "Прыбыццё зафіксаваў",
+ "Condition Name": "Назва стану",
+ "Contact email address": "Кантактны адрас электроннай пошты",
+ "Copper Pieces": "Медныя манеты",
+ "Effect Name": "Назва эфекту",
+ "End Date": "Дата заканчэння",
+ "Event Name": "Назва падзеі",
+ "Event description": "Апісанне падзеі",
+ "Event end date and time": "Дата і час заканчэння падзеі",
+ "Event location": "Месца правядзення падзеі",
+ "Event name": "Назва падзеі",
+ "Event start date and time": "Дата і час пачатку падзеі",
+ "Faith": "Вера",
+ "Full name of the player": "Поўнае імя гульца",
+ "Game Master Notes (Private)": "Нататкі вядучага гульні (прыватныя)",
+ "Game Master Notes (Public)": "Нататкі вядучага гульні (публічныя)",
+ "Gold Pieces": "Залатыя манеты",
+ "Item Name": "Назва прадмета",
+ "Items and Money": "Прадметы і грошы",
+ "Mechanical Effect": "Гульнявы эфект",
+ "Modifier Value": "Значэнне мадыфікатара",
+ "Name of the condition": "Назва стану",
+ "Name of the effect": "Назва эфекту",
+ "Name of the event": "Назва падзеі",
+ "Name of the item": "Назва прадмета",
+ "Name of the skill": "Назва навыку",
+ "Name of the stat": "Назва характарыстыкі",
+ "Nextcloud user": "Карыстальнік Nextcloud",
+ "Notes about items and money": "Нататкі пра прадметы і грошы",
+ "Notes about the player": "Нататкі пра гульца",
+ "Overridden At": "Выключэнне дадзена",
+ "Overridden By": "Выключэнне даў",
+ "Override Reason": "Прычына выключэння",
+ "Owner": "Уладальнік",
+ "Owner UID": "UID уладальніка",
+ "Participating Characters": "Персанажы, якія ўдзельнічаюць",
+ "Player Name": "Імя гульца",
+ "Post-Event Effects": "Эфекты пасля падзеі",
+ "Real name of the player": "Сапраўднае імя гульца",
+ "Required Conditions": "Патрэбныя станы",
+ "Required Effects": "Патрэбныя эфекты",
+ "Required Score": "Патрэбнае значэнне",
+ "Required Skills": "Патрэбныя навыкі",
+ "Required Stats": "Патрэбныя характарыстыкі",
+ "Requirement Overrides": "Выключэнні з патрабаванняў",
+ "Setting Name": "Назва свету гульні",
+ "Silver Pieces": "Срэбныя манеты",
+ "Skill Name": "Назва навыку",
+ "Start Date": "Дата пачатку",
+ "Starting value for all characters": "Пачатковае значэнне для ўсіх персанажаў",
+ "Stat": "Характарыстыка",
+ "Status": "Статус",
+ "System Notice": "Сістэмнае паведамленне",
+ "Unique Artifact": "Унікальны артэфакт",
+ "Unique Condition": "Унікальны стан",
+ "XP Amount": "Колькасць пунктаў вопыту",
+ "XP Award": "Налічэнне пунктаў вопыту"
},
"plurals": {}
}
diff --git a/l10n/bg.js b/l10n/bg.js
index 4801cc0f..f7c6dc13 100644
--- a/l10n/bg.js
+++ b/l10n/bg.js
@@ -152,7 +152,78 @@ OC.L10N.register(
"None — this is a root skill.": "Няма — това е основно умение.",
"Where the automation lives": "Къде живее автоматизацията",
"Flows are what happens without anyone clicking: a reminder before a deadline passes, a confirmation sent on submission. This is where you read and edit them. Nothing to build now.": "Flows е това, което се случва, без някой да кликне: напомняне преди да изтече срок, потвърждение при подаване. Тук ги четете и редактирате — сега няма какво да се изгражда.",
- "Open Flows in the menu": "Отворете Flows в менюто"
+ "Open Flows in the menu": "Отворете Flows в менюто",
+ "Ability Name": "Име на способността",
+ "Affected Characters": "Засегнати герои",
+ "Amount of copper pieces": "Брой медни монети",
+ "Amount of gold pieces": "Брой златни монети",
+ "Amount of silver pieces": "Брой сребърни монети",
+ "Automatic system notices": "Автоматични системни съобщения",
+ "Award Reason": "Причина за присъждането",
+ "Awarded At": "Присъдено на",
+ "Awarded By": "Присъдено от",
+ "Background Story": "Предистория на героя",
+ "Base Value": "Базова стойност",
+ "Character Card": "Карта на героя",
+ "Character Name": "Име на героя",
+ "Checked In At": "Пристигането е отбелязано на",
+ "Checked In By": "Пристигането е отбелязано от",
+ "Condition Name": "Име на състоянието",
+ "Contact email address": "Имейл адрес за контакт",
+ "Copper Pieces": "Медни монети",
+ "Effect Name": "Име на ефекта",
+ "End Date": "Крайна дата",
+ "Event Name": "Име на събитието",
+ "Event description": "Описание на събитието",
+ "Event end date and time": "Крайна дата и час на събитието",
+ "Event location": "Място на събитието",
+ "Event name": "Име на събитието",
+ "Event start date and time": "Начална дата и час на събитието",
+ "Faith": "Вяра",
+ "Full name of the player": "Пълно име на играча",
+ "Game Master Notes (Private)": "Бележки на водещия играта (лични)",
+ "Game Master Notes (Public)": "Бележки на водещия играта (публични)",
+ "Gold Pieces": "Златни монети",
+ "Item Name": "Име на предмета",
+ "Items and Money": "Предмети и пари",
+ "Mechanical Effect": "Ефект в играта",
+ "Modifier Value": "Стойност на модификатора",
+ "Name of the condition": "Име на състоянието",
+ "Name of the effect": "Име на ефекта",
+ "Name of the event": "Име на събитието",
+ "Name of the item": "Име на предмета",
+ "Name of the skill": "Име на умението",
+ "Name of the stat": "Име на характеристиката",
+ "Nextcloud user": "Потребител на Nextcloud",
+ "Notes about items and money": "Бележки за предметите и парите",
+ "Notes about the player": "Бележки за играча",
+ "Overridden At": "Изключението е дадено на",
+ "Overridden By": "Изключението е дадено от",
+ "Override Reason": "Причина за изключението",
+ "Owner": "Собственик",
+ "Owner UID": "UID на собственика",
+ "Participating Characters": "Участващи герои",
+ "Player Name": "Име на играча",
+ "Post-Event Effects": "Ефекти след събитието",
+ "Real name of the player": "Истинско име на играча",
+ "Required Conditions": "Необходими състояния",
+ "Required Effects": "Необходими ефекти",
+ "Required Score": "Необходима стойност",
+ "Required Skills": "Необходими умения",
+ "Required Stats": "Необходими характеристики",
+ "Requirement Overrides": "Изключения от изискванията",
+ "Setting Name": "Име на света на играта",
+ "Silver Pieces": "Сребърни монети",
+ "Skill Name": "Име на умението",
+ "Start Date": "Начална дата",
+ "Starting value for all characters": "Начална стойност за всички герои",
+ "Stat": "Характеристика",
+ "Status": "Статус",
+ "System Notice": "Системно съобщение",
+ "Unique Artifact": "Уникален артефакт",
+ "Unique Condition": "Уникално състояние",
+ "XP Amount": "Брой точки опит",
+ "XP Award": "Присъждане на точки опит"
},
"nplurals=2; plural=(n != 1);"
)
diff --git a/l10n/bg.json b/l10n/bg.json
index ecbb13cd..569466c4 100644
--- a/l10n/bg.json
+++ b/l10n/bg.json
@@ -151,7 +151,78 @@
"None — this is a root skill.": "Няма — това е основно умение.",
"Where the automation lives": "Къде живее автоматизацията",
"Flows are what happens without anyone clicking: a reminder before a deadline passes, a confirmation sent on submission. This is where you read and edit them. Nothing to build now.": "Flows е това, което се случва, без някой да кликне: напомняне преди да изтече срок, потвърждение при подаване. Тук ги четете и редактирате — сега няма какво да се изгражда.",
- "Open Flows in the menu": "Отворете Flows в менюто"
+ "Open Flows in the menu": "Отворете Flows в менюто",
+ "Ability Name": "Име на способността",
+ "Affected Characters": "Засегнати герои",
+ "Amount of copper pieces": "Брой медни монети",
+ "Amount of gold pieces": "Брой златни монети",
+ "Amount of silver pieces": "Брой сребърни монети",
+ "Automatic system notices": "Автоматични системни съобщения",
+ "Award Reason": "Причина за присъждането",
+ "Awarded At": "Присъдено на",
+ "Awarded By": "Присъдено от",
+ "Background Story": "Предистория на героя",
+ "Base Value": "Базова стойност",
+ "Character Card": "Карта на героя",
+ "Character Name": "Име на героя",
+ "Checked In At": "Пристигането е отбелязано на",
+ "Checked In By": "Пристигането е отбелязано от",
+ "Condition Name": "Име на състоянието",
+ "Contact email address": "Имейл адрес за контакт",
+ "Copper Pieces": "Медни монети",
+ "Effect Name": "Име на ефекта",
+ "End Date": "Крайна дата",
+ "Event Name": "Име на събитието",
+ "Event description": "Описание на събитието",
+ "Event end date and time": "Крайна дата и час на събитието",
+ "Event location": "Място на събитието",
+ "Event name": "Име на събитието",
+ "Event start date and time": "Начална дата и час на събитието",
+ "Faith": "Вяра",
+ "Full name of the player": "Пълно име на играча",
+ "Game Master Notes (Private)": "Бележки на водещия играта (лични)",
+ "Game Master Notes (Public)": "Бележки на водещия играта (публични)",
+ "Gold Pieces": "Златни монети",
+ "Item Name": "Име на предмета",
+ "Items and Money": "Предмети и пари",
+ "Mechanical Effect": "Ефект в играта",
+ "Modifier Value": "Стойност на модификатора",
+ "Name of the condition": "Име на състоянието",
+ "Name of the effect": "Име на ефекта",
+ "Name of the event": "Име на събитието",
+ "Name of the item": "Име на предмета",
+ "Name of the skill": "Име на умението",
+ "Name of the stat": "Име на характеристиката",
+ "Nextcloud user": "Потребител на Nextcloud",
+ "Notes about items and money": "Бележки за предметите и парите",
+ "Notes about the player": "Бележки за играча",
+ "Overridden At": "Изключението е дадено на",
+ "Overridden By": "Изключението е дадено от",
+ "Override Reason": "Причина за изключението",
+ "Owner": "Собственик",
+ "Owner UID": "UID на собственика",
+ "Participating Characters": "Участващи герои",
+ "Player Name": "Име на играча",
+ "Post-Event Effects": "Ефекти след събитието",
+ "Real name of the player": "Истинско име на играча",
+ "Required Conditions": "Необходими състояния",
+ "Required Effects": "Необходими ефекти",
+ "Required Score": "Необходима стойност",
+ "Required Skills": "Необходими умения",
+ "Required Stats": "Необходими характеристики",
+ "Requirement Overrides": "Изключения от изискванията",
+ "Setting Name": "Име на света на играта",
+ "Silver Pieces": "Сребърни монети",
+ "Skill Name": "Име на умението",
+ "Start Date": "Начална дата",
+ "Starting value for all characters": "Начална стойност за всички герои",
+ "Stat": "Характеристика",
+ "Status": "Статус",
+ "System Notice": "Системно съобщение",
+ "Unique Artifact": "Уникален артефакт",
+ "Unique Condition": "Уникално състояние",
+ "XP Amount": "Брой точки опит",
+ "XP Award": "Присъждане на точки опит"
},
"plurals": {}
}
diff --git a/l10n/bs.js b/l10n/bs.js
index 9afa20d2..1f1e42b4 100644
--- a/l10n/bs.js
+++ b/l10n/bs.js
@@ -152,7 +152,78 @@ OC.L10N.register(
"None — this is a root skill.": "Nema — ovo je osnovna vještina.",
"Where the automation lives": "Gdje živi automatizacija",
"Flows are what happens without anyone clicking: a reminder before a deadline passes, a confirmation sent on submission. This is where you read and edit them. Nothing to build now.": "Flows je ono što se dešava bez ičijeg klika: podsjetnik prije isteka roka, potvrda pri predaji. Ovdje ih čitaš i uređuješ — sada nema šta da se gradi.",
- "Open Flows in the menu": "Otvori Flows u meniju"
+ "Open Flows in the menu": "Otvori Flows u meniju",
+ "Ability Name": "Naziv sposobnosti",
+ "Affected Characters": "Zahvaćeni likovi",
+ "Amount of copper pieces": "Broj bakrenih novčića",
+ "Amount of gold pieces": "Broj zlatnih novčića",
+ "Amount of silver pieces": "Broj srebrnih novčića",
+ "Automatic system notices": "Automatska sistemska obavještenja",
+ "Award Reason": "Razlog dodjele",
+ "Awarded At": "Dodijeljeno",
+ "Awarded By": "Dodijelio",
+ "Background Story": "Pozadinska priča",
+ "Base Value": "Osnovna vrijednost",
+ "Character Card": "Kartica lika",
+ "Character Name": "Ime lika",
+ "Checked In At": "Dolazak zabilježen",
+ "Checked In By": "Dolazak zabilježio",
+ "Condition Name": "Naziv stanja",
+ "Contact email address": "Kontakt e-mail adresa",
+ "Copper Pieces": "Bakreni novčići",
+ "Effect Name": "Naziv efekta",
+ "End Date": "Datum završetka",
+ "Event Name": "Naziv događaja",
+ "Event description": "Opis događaja",
+ "Event end date and time": "Datum i vrijeme završetka događaja",
+ "Event location": "Mjesto događaja",
+ "Event name": "Naziv događaja",
+ "Event start date and time": "Datum i vrijeme početka događaja",
+ "Faith": "Vjera",
+ "Full name of the player": "Puno ime igrača",
+ "Game Master Notes (Private)": "Bilješke voditelja igre (privatne)",
+ "Game Master Notes (Public)": "Bilješke voditelja igre (javne)",
+ "Gold Pieces": "Zlatni novčići",
+ "Item Name": "Naziv predmeta",
+ "Items and Money": "Predmeti i novac",
+ "Mechanical Effect": "Efekat u igri",
+ "Modifier Value": "Vrijednost modifikatora",
+ "Name of the condition": "Naziv stanja",
+ "Name of the effect": "Naziv efekta",
+ "Name of the event": "Naziv događaja",
+ "Name of the item": "Naziv predmeta",
+ "Name of the skill": "Naziv vještine",
+ "Name of the stat": "Naziv svojstva",
+ "Nextcloud user": "Nextcloud korisnik",
+ "Notes about items and money": "Bilješke o predmetima i novcu",
+ "Notes about the player": "Bilješke o igraču",
+ "Overridden At": "Izuzetak odobren",
+ "Overridden By": "Izuzetak odobrio",
+ "Override Reason": "Razlog izuzetka",
+ "Owner": "Vlasnik",
+ "Owner UID": "UID vlasnika",
+ "Participating Characters": "Učestvujući likovi",
+ "Player Name": "Ime igrača",
+ "Post-Event Effects": "Efekti nakon događaja",
+ "Real name of the player": "Pravo ime igrača",
+ "Required Conditions": "Potrebna stanja",
+ "Required Effects": "Potrebni efekti",
+ "Required Score": "Potrebna vrijednost",
+ "Required Skills": "Potrebne vještine",
+ "Required Stats": "Potrebna svojstva",
+ "Requirement Overrides": "Izuzeci od preduslova",
+ "Setting Name": "Naziv svijeta igre",
+ "Silver Pieces": "Srebrni novčići",
+ "Skill Name": "Naziv vještine",
+ "Start Date": "Datum početka",
+ "Starting value for all characters": "Početna vrijednost za sve likove",
+ "Stat": "Svojstvo",
+ "Status": "Status",
+ "System Notice": "Sistemsko obavještenje",
+ "Unique Artifact": "Jedinstveni artefakt",
+ "Unique Condition": "Jedinstveno stanje",
+ "XP Amount": "Broj bodova iskustva",
+ "XP Award": "Dodjela bodova iskustva"
},
"nplurals=2; plural=(n != 1);"
)
diff --git a/l10n/bs.json b/l10n/bs.json
index 4b3d4b2e..56787d60 100644
--- a/l10n/bs.json
+++ b/l10n/bs.json
@@ -151,7 +151,78 @@
"None — this is a root skill.": "Nema — ovo je osnovna vještina.",
"Where the automation lives": "Gdje živi automatizacija",
"Flows are what happens without anyone clicking: a reminder before a deadline passes, a confirmation sent on submission. This is where you read and edit them. Nothing to build now.": "Flows je ono što se dešava bez ičijeg klika: podsjetnik prije isteka roka, potvrda pri predaji. Ovdje ih čitaš i uređuješ — sada nema šta da se gradi.",
- "Open Flows in the menu": "Otvori Flows u meniju"
+ "Open Flows in the menu": "Otvori Flows u meniju",
+ "Ability Name": "Naziv sposobnosti",
+ "Affected Characters": "Zahvaćeni likovi",
+ "Amount of copper pieces": "Broj bakrenih novčića",
+ "Amount of gold pieces": "Broj zlatnih novčića",
+ "Amount of silver pieces": "Broj srebrnih novčića",
+ "Automatic system notices": "Automatska sistemska obavještenja",
+ "Award Reason": "Razlog dodjele",
+ "Awarded At": "Dodijeljeno",
+ "Awarded By": "Dodijelio",
+ "Background Story": "Pozadinska priča",
+ "Base Value": "Osnovna vrijednost",
+ "Character Card": "Kartica lika",
+ "Character Name": "Ime lika",
+ "Checked In At": "Dolazak zabilježen",
+ "Checked In By": "Dolazak zabilježio",
+ "Condition Name": "Naziv stanja",
+ "Contact email address": "Kontakt e-mail adresa",
+ "Copper Pieces": "Bakreni novčići",
+ "Effect Name": "Naziv efekta",
+ "End Date": "Datum završetka",
+ "Event Name": "Naziv događaja",
+ "Event description": "Opis događaja",
+ "Event end date and time": "Datum i vrijeme završetka događaja",
+ "Event location": "Mjesto događaja",
+ "Event name": "Naziv događaja",
+ "Event start date and time": "Datum i vrijeme početka događaja",
+ "Faith": "Vjera",
+ "Full name of the player": "Puno ime igrača",
+ "Game Master Notes (Private)": "Bilješke voditelja igre (privatne)",
+ "Game Master Notes (Public)": "Bilješke voditelja igre (javne)",
+ "Gold Pieces": "Zlatni novčići",
+ "Item Name": "Naziv predmeta",
+ "Items and Money": "Predmeti i novac",
+ "Mechanical Effect": "Efekat u igri",
+ "Modifier Value": "Vrijednost modifikatora",
+ "Name of the condition": "Naziv stanja",
+ "Name of the effect": "Naziv efekta",
+ "Name of the event": "Naziv događaja",
+ "Name of the item": "Naziv predmeta",
+ "Name of the skill": "Naziv vještine",
+ "Name of the stat": "Naziv svojstva",
+ "Nextcloud user": "Nextcloud korisnik",
+ "Notes about items and money": "Bilješke o predmetima i novcu",
+ "Notes about the player": "Bilješke o igraču",
+ "Overridden At": "Izuzetak odobren",
+ "Overridden By": "Izuzetak odobrio",
+ "Override Reason": "Razlog izuzetka",
+ "Owner": "Vlasnik",
+ "Owner UID": "UID vlasnika",
+ "Participating Characters": "Učestvujući likovi",
+ "Player Name": "Ime igrača",
+ "Post-Event Effects": "Efekti nakon događaja",
+ "Real name of the player": "Pravo ime igrača",
+ "Required Conditions": "Potrebna stanja",
+ "Required Effects": "Potrebni efekti",
+ "Required Score": "Potrebna vrijednost",
+ "Required Skills": "Potrebne vještine",
+ "Required Stats": "Potrebna svojstva",
+ "Requirement Overrides": "Izuzeci od preduslova",
+ "Setting Name": "Naziv svijeta igre",
+ "Silver Pieces": "Srebrni novčići",
+ "Skill Name": "Naziv vještine",
+ "Start Date": "Datum početka",
+ "Starting value for all characters": "Početna vrijednost za sve likove",
+ "Stat": "Svojstvo",
+ "Status": "Status",
+ "System Notice": "Sistemsko obavještenje",
+ "Unique Artifact": "Jedinstveni artefakt",
+ "Unique Condition": "Jedinstveno stanje",
+ "XP Amount": "Broj bodova iskustva",
+ "XP Award": "Dodjela bodova iskustva"
},
"plurals": {}
}
diff --git a/l10n/ca.js b/l10n/ca.js
index ea325fac..4c64d895 100644
--- a/l10n/ca.js
+++ b/l10n/ca.js
@@ -152,7 +152,78 @@ OC.L10N.register(
"None — this is a root skill.": "Cap — aquesta és una aptitud arrel.",
"Where the automation lives": "On viu l'automatització",
"Flows are what happens without anyone clicking: a reminder before a deadline passes, a confirmation sent on submission. This is where you read and edit them. Nothing to build now.": "Els Flows són el que passa sense que ningú faci clic: un recordatori abans que venci un termini, una confirmació en enviar. Aquí els llegeixes i els edites — ara no cal construir res.",
- "Open Flows in the menu": "Obre Flows al menú"
+ "Open Flows in the menu": "Obre Flows al menú",
+ "Ability Name": "Nom de l'habilitat",
+ "Affected Characters": "Personatges afectats",
+ "Amount of copper pieces": "Quantitat de monedes de coure",
+ "Amount of gold pieces": "Quantitat de monedes d'or",
+ "Amount of silver pieces": "Quantitat de monedes de plata",
+ "Automatic system notices": "Avisos automàtics del sistema",
+ "Award Reason": "Motiu de la concessió",
+ "Awarded At": "Concedit el",
+ "Awarded By": "Concedit per",
+ "Background Story": "Història de rerefons",
+ "Base Value": "Valor base",
+ "Character Card": "Fitxa de personatge",
+ "Character Name": "Nom del personatge",
+ "Checked In At": "Entrada registrada el",
+ "Checked In By": "Entrada registrada per",
+ "Condition Name": "Nom de la condició",
+ "Contact email address": "Adreça electrònica de contacte",
+ "Copper Pieces": "Monedes de coure",
+ "Effect Name": "Nom de l'efecte",
+ "End Date": "Data de finalització",
+ "Event Name": "Nom de l'esdeveniment",
+ "Event description": "Descripció de l'esdeveniment",
+ "Event end date and time": "Data i hora de finalització de l'esdeveniment",
+ "Event location": "Ubicació de l'esdeveniment",
+ "Event name": "Nom de l'esdeveniment",
+ "Event start date and time": "Data i hora d'inici de l'esdeveniment",
+ "Faith": "Fe",
+ "Full name of the player": "Nom complet del jugador",
+ "Game Master Notes (Private)": "Notes del narrador (privades)",
+ "Game Master Notes (Public)": "Notes del narrador (públiques)",
+ "Gold Pieces": "Monedes d'or",
+ "Item Name": "Nom de l'objecte",
+ "Items and Money": "Objectes i diners",
+ "Mechanical Effect": "Efecte de joc",
+ "Modifier Value": "Valor del modificador",
+ "Name of the condition": "Nom de la condició",
+ "Name of the effect": "Nom de l'efecte",
+ "Name of the event": "Nom de l'esdeveniment",
+ "Name of the item": "Nom de l'objecte",
+ "Name of the skill": "Nom de l'aptitud",
+ "Name of the stat": "Nom de la característica",
+ "Nextcloud user": "Usuari de Nextcloud",
+ "Notes about items and money": "Notes sobre els objectes i els diners",
+ "Notes about the player": "Notes sobre el jugador",
+ "Overridden At": "Excepció concedida el",
+ "Overridden By": "Excepció concedida per",
+ "Override Reason": "Motiu de l'excepció",
+ "Owner": "Propietari",
+ "Owner UID": "UID del propietari",
+ "Participating Characters": "Personatges participants",
+ "Player Name": "Nom del jugador",
+ "Post-Event Effects": "Efectes posteriors a l'esdeveniment",
+ "Real name of the player": "Nom real del jugador",
+ "Required Conditions": "Condicions requerides",
+ "Required Effects": "Efectes requerits",
+ "Required Score": "Valor requerit",
+ "Required Skills": "Aptituds requerides",
+ "Required Stats": "Característiques requerides",
+ "Requirement Overrides": "Excepcions als prerequisits",
+ "Setting Name": "Nom de l'ambientació",
+ "Silver Pieces": "Monedes de plata",
+ "Skill Name": "Nom de l'aptitud",
+ "Start Date": "Data d'inici",
+ "Starting value for all characters": "Valor inicial per a tots els personatges",
+ "Stat": "Característica",
+ "Status": "Estat",
+ "System Notice": "Avís del sistema",
+ "Unique Artifact": "Artefacte únic",
+ "Unique Condition": "Condició única",
+ "XP Amount": "Quantitat de punts d'experiència",
+ "XP Award": "Concessió de punts d'experiència"
},
"nplurals=2; plural=(n != 1);"
)
diff --git a/l10n/ca.json b/l10n/ca.json
index 0ccf9393..12afcf5d 100644
--- a/l10n/ca.json
+++ b/l10n/ca.json
@@ -151,7 +151,78 @@
"None — this is a root skill.": "Cap — aquesta és una aptitud arrel.",
"Where the automation lives": "On viu l'automatització",
"Flows are what happens without anyone clicking: a reminder before a deadline passes, a confirmation sent on submission. This is where you read and edit them. Nothing to build now.": "Els Flows són el que passa sense que ningú faci clic: un recordatori abans que venci un termini, una confirmació en enviar. Aquí els llegeixes i els edites — ara no cal construir res.",
- "Open Flows in the menu": "Obre Flows al menú"
+ "Open Flows in the menu": "Obre Flows al menú",
+ "Ability Name": "Nom de l'habilitat",
+ "Affected Characters": "Personatges afectats",
+ "Amount of copper pieces": "Quantitat de monedes de coure",
+ "Amount of gold pieces": "Quantitat de monedes d'or",
+ "Amount of silver pieces": "Quantitat de monedes de plata",
+ "Automatic system notices": "Avisos automàtics del sistema",
+ "Award Reason": "Motiu de la concessió",
+ "Awarded At": "Concedit el",
+ "Awarded By": "Concedit per",
+ "Background Story": "Història de rerefons",
+ "Base Value": "Valor base",
+ "Character Card": "Fitxa de personatge",
+ "Character Name": "Nom del personatge",
+ "Checked In At": "Entrada registrada el",
+ "Checked In By": "Entrada registrada per",
+ "Condition Name": "Nom de la condició",
+ "Contact email address": "Adreça electrònica de contacte",
+ "Copper Pieces": "Monedes de coure",
+ "Effect Name": "Nom de l'efecte",
+ "End Date": "Data de finalització",
+ "Event Name": "Nom de l'esdeveniment",
+ "Event description": "Descripció de l'esdeveniment",
+ "Event end date and time": "Data i hora de finalització de l'esdeveniment",
+ "Event location": "Ubicació de l'esdeveniment",
+ "Event name": "Nom de l'esdeveniment",
+ "Event start date and time": "Data i hora d'inici de l'esdeveniment",
+ "Faith": "Fe",
+ "Full name of the player": "Nom complet del jugador",
+ "Game Master Notes (Private)": "Notes del narrador (privades)",
+ "Game Master Notes (Public)": "Notes del narrador (públiques)",
+ "Gold Pieces": "Monedes d'or",
+ "Item Name": "Nom de l'objecte",
+ "Items and Money": "Objectes i diners",
+ "Mechanical Effect": "Efecte de joc",
+ "Modifier Value": "Valor del modificador",
+ "Name of the condition": "Nom de la condició",
+ "Name of the effect": "Nom de l'efecte",
+ "Name of the event": "Nom de l'esdeveniment",
+ "Name of the item": "Nom de l'objecte",
+ "Name of the skill": "Nom de l'aptitud",
+ "Name of the stat": "Nom de la característica",
+ "Nextcloud user": "Usuari de Nextcloud",
+ "Notes about items and money": "Notes sobre els objectes i els diners",
+ "Notes about the player": "Notes sobre el jugador",
+ "Overridden At": "Excepció concedida el",
+ "Overridden By": "Excepció concedida per",
+ "Override Reason": "Motiu de l'excepció",
+ "Owner": "Propietari",
+ "Owner UID": "UID del propietari",
+ "Participating Characters": "Personatges participants",
+ "Player Name": "Nom del jugador",
+ "Post-Event Effects": "Efectes posteriors a l'esdeveniment",
+ "Real name of the player": "Nom real del jugador",
+ "Required Conditions": "Condicions requerides",
+ "Required Effects": "Efectes requerits",
+ "Required Score": "Valor requerit",
+ "Required Skills": "Aptituds requerides",
+ "Required Stats": "Característiques requerides",
+ "Requirement Overrides": "Excepcions als prerequisits",
+ "Setting Name": "Nom de l'ambientació",
+ "Silver Pieces": "Monedes de plata",
+ "Skill Name": "Nom de l'aptitud",
+ "Start Date": "Data d'inici",
+ "Starting value for all characters": "Valor inicial per a tots els personatges",
+ "Stat": "Característica",
+ "Status": "Estat",
+ "System Notice": "Avís del sistema",
+ "Unique Artifact": "Artefacte únic",
+ "Unique Condition": "Condició única",
+ "XP Amount": "Quantitat de punts d'experiència",
+ "XP Award": "Concessió de punts d'experiència"
},
"plurals": {}
}
diff --git a/l10n/cs.js b/l10n/cs.js
index 08c0f281..75ba4a52 100644
--- a/l10n/cs.js
+++ b/l10n/cs.js
@@ -152,7 +152,78 @@ OC.L10N.register(
"None — this is a root skill.": "Žádné — toto je kořenová dovednost.",
"Where the automation lives": "Kde bydlí automatizace",
"Flows are what happens without anyone clicking: a reminder before a deadline passes, a confirmation sent on submission. This is where you read and edit them. Nothing to build now.": "Flows je to, co se děje, aniž by někdo klikl: připomínka před vypršením lhůty, potvrzení při odeslání. Tady je čteš a upravuješ — teď není co stavět.",
- "Open Flows in the menu": "Otevři Flows v nabídce"
+ "Open Flows in the menu": "Otevři Flows v nabídce",
+ "Ability Name": "Název schopnosti",
+ "Affected Characters": "Dotčené postavy",
+ "Amount of copper pieces": "Počet měděných mincí",
+ "Amount of gold pieces": "Počet zlatých mincí",
+ "Amount of silver pieces": "Počet stříbrných mincí",
+ "Automatic system notices": "Automatická systémová oznámení",
+ "Award Reason": "Důvod udělení",
+ "Awarded At": "Uděleno dne",
+ "Awarded By": "Udělil",
+ "Background Story": "Příběh postavy",
+ "Base Value": "Základní hodnota",
+ "Character Card": "Karta postavy",
+ "Character Name": "Jméno postavy",
+ "Checked In At": "Příchod zaregistrován dne",
+ "Checked In By": "Příchod zaregistroval",
+ "Condition Name": "Název stavu",
+ "Contact email address": "Kontaktní e-mailová adresa",
+ "Copper Pieces": "Měděné mince",
+ "Effect Name": "Název efektu",
+ "End Date": "Datum konce",
+ "Event Name": "Název události",
+ "Event description": "Popis události",
+ "Event end date and time": "Datum a čas konce události",
+ "Event location": "Místo konání události",
+ "Event name": "Název události",
+ "Event start date and time": "Datum a čas začátku události",
+ "Faith": "Víra",
+ "Full name of the player": "Celé jméno hráče",
+ "Game Master Notes (Private)": "Poznámky vypravěče (soukromé)",
+ "Game Master Notes (Public)": "Poznámky vypravěče (veřejné)",
+ "Gold Pieces": "Zlaté mince",
+ "Item Name": "Název předmětu",
+ "Items and Money": "Předměty a peníze",
+ "Mechanical Effect": "Herní efekt",
+ "Modifier Value": "Hodnota modifikátoru",
+ "Name of the condition": "Název stavu",
+ "Name of the effect": "Název efektu",
+ "Name of the event": "Název události",
+ "Name of the item": "Název předmětu",
+ "Name of the skill": "Název dovednosti",
+ "Name of the stat": "Název vlastnosti",
+ "Nextcloud user": "Uživatel Nextcloudu",
+ "Notes about items and money": "Poznámky k předmětům a penězům",
+ "Notes about the player": "Poznámky k hráči",
+ "Overridden At": "Výjimka udělena dne",
+ "Overridden By": "Výjimku udělil",
+ "Override Reason": "Důvod výjimky",
+ "Owner": "Vlastník",
+ "Owner UID": "UID vlastníka",
+ "Participating Characters": "Zúčastněné postavy",
+ "Player Name": "Jméno hráče",
+ "Post-Event Effects": "Efekty po události",
+ "Real name of the player": "Skutečné jméno hráče",
+ "Required Conditions": "Požadované stavy",
+ "Required Effects": "Požadované efekty",
+ "Required Score": "Požadovaná hodnota",
+ "Required Skills": "Požadované dovednosti",
+ "Required Stats": "Požadované vlastnosti",
+ "Requirement Overrides": "Výjimky z předpokladů",
+ "Setting Name": "Název herního světa",
+ "Silver Pieces": "Stříbrné mince",
+ "Skill Name": "Název dovednosti",
+ "Start Date": "Datum začátku",
+ "Starting value for all characters": "Počáteční hodnota pro všechny postavy",
+ "Stat": "Vlastnost",
+ "Status": "Status",
+ "System Notice": "Systémové oznámení",
+ "Unique Artifact": "Jedinečný artefakt",
+ "Unique Condition": "Jedinečný stav",
+ "XP Amount": "Počet zkušenostních bodů",
+ "XP Award": "Udělení zkušenostních bodů"
},
"nplurals=2; plural=(n != 1);"
)
diff --git a/l10n/cs.json b/l10n/cs.json
index 2b4a929e..52f281fb 100644
--- a/l10n/cs.json
+++ b/l10n/cs.json
@@ -151,7 +151,78 @@
"None — this is a root skill.": "Žádné — toto je kořenová dovednost.",
"Where the automation lives": "Kde bydlí automatizace",
"Flows are what happens without anyone clicking: a reminder before a deadline passes, a confirmation sent on submission. This is where you read and edit them. Nothing to build now.": "Flows je to, co se děje, aniž by někdo klikl: připomínka před vypršením lhůty, potvrzení při odeslání. Tady je čteš a upravuješ — teď není co stavět.",
- "Open Flows in the menu": "Otevři Flows v nabídce"
+ "Open Flows in the menu": "Otevři Flows v nabídce",
+ "Ability Name": "Název schopnosti",
+ "Affected Characters": "Dotčené postavy",
+ "Amount of copper pieces": "Počet měděných mincí",
+ "Amount of gold pieces": "Počet zlatých mincí",
+ "Amount of silver pieces": "Počet stříbrných mincí",
+ "Automatic system notices": "Automatická systémová oznámení",
+ "Award Reason": "Důvod udělení",
+ "Awarded At": "Uděleno dne",
+ "Awarded By": "Udělil",
+ "Background Story": "Příběh postavy",
+ "Base Value": "Základní hodnota",
+ "Character Card": "Karta postavy",
+ "Character Name": "Jméno postavy",
+ "Checked In At": "Příchod zaregistrován dne",
+ "Checked In By": "Příchod zaregistroval",
+ "Condition Name": "Název stavu",
+ "Contact email address": "Kontaktní e-mailová adresa",
+ "Copper Pieces": "Měděné mince",
+ "Effect Name": "Název efektu",
+ "End Date": "Datum konce",
+ "Event Name": "Název události",
+ "Event description": "Popis události",
+ "Event end date and time": "Datum a čas konce události",
+ "Event location": "Místo konání události",
+ "Event name": "Název události",
+ "Event start date and time": "Datum a čas začátku události",
+ "Faith": "Víra",
+ "Full name of the player": "Celé jméno hráče",
+ "Game Master Notes (Private)": "Poznámky vypravěče (soukromé)",
+ "Game Master Notes (Public)": "Poznámky vypravěče (veřejné)",
+ "Gold Pieces": "Zlaté mince",
+ "Item Name": "Název předmětu",
+ "Items and Money": "Předměty a peníze",
+ "Mechanical Effect": "Herní efekt",
+ "Modifier Value": "Hodnota modifikátoru",
+ "Name of the condition": "Název stavu",
+ "Name of the effect": "Název efektu",
+ "Name of the event": "Název události",
+ "Name of the item": "Název předmětu",
+ "Name of the skill": "Název dovednosti",
+ "Name of the stat": "Název vlastnosti",
+ "Nextcloud user": "Uživatel Nextcloudu",
+ "Notes about items and money": "Poznámky k předmětům a penězům",
+ "Notes about the player": "Poznámky k hráči",
+ "Overridden At": "Výjimka udělena dne",
+ "Overridden By": "Výjimku udělil",
+ "Override Reason": "Důvod výjimky",
+ "Owner": "Vlastník",
+ "Owner UID": "UID vlastníka",
+ "Participating Characters": "Zúčastněné postavy",
+ "Player Name": "Jméno hráče",
+ "Post-Event Effects": "Efekty po události",
+ "Real name of the player": "Skutečné jméno hráče",
+ "Required Conditions": "Požadované stavy",
+ "Required Effects": "Požadované efekty",
+ "Required Score": "Požadovaná hodnota",
+ "Required Skills": "Požadované dovednosti",
+ "Required Stats": "Požadované vlastnosti",
+ "Requirement Overrides": "Výjimky z předpokladů",
+ "Setting Name": "Název herního světa",
+ "Silver Pieces": "Stříbrné mince",
+ "Skill Name": "Název dovednosti",
+ "Start Date": "Datum začátku",
+ "Starting value for all characters": "Počáteční hodnota pro všechny postavy",
+ "Stat": "Vlastnost",
+ "Status": "Status",
+ "System Notice": "Systémové oznámení",
+ "Unique Artifact": "Jedinečný artefakt",
+ "Unique Condition": "Jedinečný stav",
+ "XP Amount": "Počet zkušenostních bodů",
+ "XP Award": "Udělení zkušenostních bodů"
},
"plurals": {}
}
diff --git a/l10n/da.js b/l10n/da.js
index 959db1eb..b174a399 100644
--- a/l10n/da.js
+++ b/l10n/da.js
@@ -152,7 +152,78 @@ OC.L10N.register(
"None — this is a root skill.": "Ingen — dette er en grundfærdighed.",
"Where the automation lives": "Hvor automatiseringen bor",
"Flows are what happens without anyone clicking: a reminder before a deadline passes, a confirmation sent on submission. This is where you read and edit them. Nothing to build now.": "Flows er det, der sker, uden at nogen klikker: en påmindelse, før en frist udløber, en bekræftelse ved indsendelse. Her læser og redigerer du dem — der er ikke noget at bygge nu.",
- "Open Flows in the menu": "Åbn Flows i menuen"
+ "Open Flows in the menu": "Åbn Flows i menuen",
+ "Ability Name": "Navn på evnen",
+ "Affected Characters": "Berørte karakterer",
+ "Amount of copper pieces": "Antal kobberstykker",
+ "Amount of gold pieces": "Antal guldstykker",
+ "Amount of silver pieces": "Antal sølvstykker",
+ "Automatic system notices": "Automatiske systemmeddelelser",
+ "Award Reason": "Årsag til tildelingen",
+ "Awarded At": "Tildelt den",
+ "Awarded By": "Tildelt af",
+ "Background Story": "Baggrundshistorie",
+ "Base Value": "Basisværdi",
+ "Character Card": "Karakterkort",
+ "Character Name": "Navn på karakteren",
+ "Checked In At": "Tjekket ind den",
+ "Checked In By": "Tjekket ind af",
+ "Condition Name": "Navn på tilstanden",
+ "Contact email address": "E-mailadresse til kontakt",
+ "Copper Pieces": "Kobberstykker",
+ "Effect Name": "Navn på effekten",
+ "End Date": "Slutdato",
+ "Event Name": "Navn på begivenheden",
+ "Event description": "Beskrivelse af begivenheden",
+ "Event end date and time": "Slutdato og -tidspunkt for begivenheden",
+ "Event location": "Sted for begivenheden",
+ "Event name": "Navn på begivenheden",
+ "Event start date and time": "Startdato og -tidspunkt for begivenheden",
+ "Faith": "Tro",
+ "Full name of the player": "Spillerens fulde navn",
+ "Game Master Notes (Private)": "Spillederens noter (private)",
+ "Game Master Notes (Public)": "Spillederens noter (offentlige)",
+ "Gold Pieces": "Guldstykker",
+ "Item Name": "Navn på genstanden",
+ "Items and Money": "Genstande og penge",
+ "Mechanical Effect": "Spilteknisk effekt",
+ "Modifier Value": "Modifikatorens værdi",
+ "Name of the condition": "Navn på tilstanden",
+ "Name of the effect": "Navn på effekten",
+ "Name of the event": "Navn på begivenheden",
+ "Name of the item": "Navn på genstanden",
+ "Name of the skill": "Navn på færdigheden",
+ "Name of the stat": "Navn på egenskaben",
+ "Nextcloud user": "Nextcloud-bruger",
+ "Notes about items and money": "Noter om genstande og penge",
+ "Notes about the player": "Noter om spilleren",
+ "Overridden At": "Tilsidesat den",
+ "Overridden By": "Tilsidesat af",
+ "Override Reason": "Årsag til tilsidesættelsen",
+ "Owner": "Ejer",
+ "Owner UID": "Ejerens UID",
+ "Participating Characters": "Deltagende karakterer",
+ "Player Name": "Navn på spilleren",
+ "Post-Event Effects": "Effekter efter begivenheden",
+ "Real name of the player": "Spillerens rigtige navn",
+ "Required Conditions": "Krævede tilstande",
+ "Required Effects": "Krævede effekter",
+ "Required Score": "Krævet værdi",
+ "Required Skills": "Krævede færdigheder",
+ "Required Stats": "Krævede egenskaber",
+ "Requirement Overrides": "Tilsidesatte forudsætninger",
+ "Setting Name": "Navn på spilverdenen",
+ "Silver Pieces": "Sølvstykker",
+ "Skill Name": "Navn på færdigheden",
+ "Start Date": "Startdato",
+ "Starting value for all characters": "Startværdi for alle karakterer",
+ "Stat": "Egenskab",
+ "Status": "Status",
+ "System Notice": "Systemmeddelelse",
+ "Unique Artifact": "Unik artefakt",
+ "Unique Condition": "Unik tilstand",
+ "XP Amount": "Antal erfaringspoint",
+ "XP Award": "XP-tildeling"
},
"nplurals=2; plural=(n != 1);"
)
diff --git a/l10n/da.json b/l10n/da.json
index bbe90a29..752a061c 100644
--- a/l10n/da.json
+++ b/l10n/da.json
@@ -151,7 +151,78 @@
"None — this is a root skill.": "Ingen — dette er en grundfærdighed.",
"Where the automation lives": "Hvor automatiseringen bor",
"Flows are what happens without anyone clicking: a reminder before a deadline passes, a confirmation sent on submission. This is where you read and edit them. Nothing to build now.": "Flows er det, der sker, uden at nogen klikker: en påmindelse, før en frist udløber, en bekræftelse ved indsendelse. Her læser og redigerer du dem — der er ikke noget at bygge nu.",
- "Open Flows in the menu": "Åbn Flows i menuen"
+ "Open Flows in the menu": "Åbn Flows i menuen",
+ "Ability Name": "Navn på evnen",
+ "Affected Characters": "Berørte karakterer",
+ "Amount of copper pieces": "Antal kobberstykker",
+ "Amount of gold pieces": "Antal guldstykker",
+ "Amount of silver pieces": "Antal sølvstykker",
+ "Automatic system notices": "Automatiske systemmeddelelser",
+ "Award Reason": "Årsag til tildelingen",
+ "Awarded At": "Tildelt den",
+ "Awarded By": "Tildelt af",
+ "Background Story": "Baggrundshistorie",
+ "Base Value": "Basisværdi",
+ "Character Card": "Karakterkort",
+ "Character Name": "Navn på karakteren",
+ "Checked In At": "Tjekket ind den",
+ "Checked In By": "Tjekket ind af",
+ "Condition Name": "Navn på tilstanden",
+ "Contact email address": "E-mailadresse til kontakt",
+ "Copper Pieces": "Kobberstykker",
+ "Effect Name": "Navn på effekten",
+ "End Date": "Slutdato",
+ "Event Name": "Navn på begivenheden",
+ "Event description": "Beskrivelse af begivenheden",
+ "Event end date and time": "Slutdato og -tidspunkt for begivenheden",
+ "Event location": "Sted for begivenheden",
+ "Event name": "Navn på begivenheden",
+ "Event start date and time": "Startdato og -tidspunkt for begivenheden",
+ "Faith": "Tro",
+ "Full name of the player": "Spillerens fulde navn",
+ "Game Master Notes (Private)": "Spillederens noter (private)",
+ "Game Master Notes (Public)": "Spillederens noter (offentlige)",
+ "Gold Pieces": "Guldstykker",
+ "Item Name": "Navn på genstanden",
+ "Items and Money": "Genstande og penge",
+ "Mechanical Effect": "Spilteknisk effekt",
+ "Modifier Value": "Modifikatorens værdi",
+ "Name of the condition": "Navn på tilstanden",
+ "Name of the effect": "Navn på effekten",
+ "Name of the event": "Navn på begivenheden",
+ "Name of the item": "Navn på genstanden",
+ "Name of the skill": "Navn på færdigheden",
+ "Name of the stat": "Navn på egenskaben",
+ "Nextcloud user": "Nextcloud-bruger",
+ "Notes about items and money": "Noter om genstande og penge",
+ "Notes about the player": "Noter om spilleren",
+ "Overridden At": "Tilsidesat den",
+ "Overridden By": "Tilsidesat af",
+ "Override Reason": "Årsag til tilsidesættelsen",
+ "Owner": "Ejer",
+ "Owner UID": "Ejerens UID",
+ "Participating Characters": "Deltagende karakterer",
+ "Player Name": "Navn på spilleren",
+ "Post-Event Effects": "Effekter efter begivenheden",
+ "Real name of the player": "Spillerens rigtige navn",
+ "Required Conditions": "Krævede tilstande",
+ "Required Effects": "Krævede effekter",
+ "Required Score": "Krævet værdi",
+ "Required Skills": "Krævede færdigheder",
+ "Required Stats": "Krævede egenskaber",
+ "Requirement Overrides": "Tilsidesatte forudsætninger",
+ "Setting Name": "Navn på spilverdenen",
+ "Silver Pieces": "Sølvstykker",
+ "Skill Name": "Navn på færdigheden",
+ "Start Date": "Startdato",
+ "Starting value for all characters": "Startværdi for alle karakterer",
+ "Stat": "Egenskab",
+ "Status": "Status",
+ "System Notice": "Systemmeddelelse",
+ "Unique Artifact": "Unik artefakt",
+ "Unique Condition": "Unik tilstand",
+ "XP Amount": "Antal erfaringspoint",
+ "XP Award": "XP-tildeling"
},
"plurals": {}
}
diff --git a/l10n/de.js b/l10n/de.js
index 3b59a7a4..b4f22fe5 100644
--- a/l10n/de.js
+++ b/l10n/de.js
@@ -152,7 +152,78 @@ OC.L10N.register(
"None — this is a root skill.": "Keine — dies ist eine Grundfähigkeit.",
"Where the automation lives": "Wo die Automatisierung wohnt",
"Flows are what happens without anyone clicking: a reminder before a deadline passes, a confirmation sent on submission. This is where you read and edit them. Nothing to build now.": "Flows sind das, was ohne Klick geschieht: eine Erinnerung, bevor eine Frist abläuft, eine Bestätigung beim Einreichen. Hier liest und bearbeitest du sie — jetzt ist nichts zu bauen.",
- "Open Flows in the menu": "Öffne Flows im Menü"
+ "Open Flows in the menu": "Öffne Flows im Menü",
+ "Ability Name": "Name der Fertigkeit",
+ "Affected Characters": "Betroffene Charaktere",
+ "Amount of copper pieces": "Anzahl der Kupferstücke",
+ "Amount of gold pieces": "Anzahl der Goldstücke",
+ "Amount of silver pieces": "Anzahl der Silberstücke",
+ "Automatic system notices": "Automatische Systemhinweise",
+ "Award Reason": "Grund der Vergabe",
+ "Awarded At": "Vergeben am",
+ "Awarded By": "Vergeben von",
+ "Background Story": "Hintergrundgeschichte",
+ "Base Value": "Basiswert",
+ "Character Card": "Charakterkarte",
+ "Character Name": "Name des Charakters",
+ "Checked In At": "Eingecheckt am",
+ "Checked In By": "Eingecheckt von",
+ "Condition Name": "Name des Zustands",
+ "Contact email address": "E-Mail-Adresse für Kontakt",
+ "Copper Pieces": "Kupferstücke",
+ "Effect Name": "Name des Effekts",
+ "End Date": "Enddatum",
+ "Event Name": "Name der Veranstaltung",
+ "Event description": "Beschreibung der Veranstaltung",
+ "Event end date and time": "Enddatum und -zeit der Veranstaltung",
+ "Event location": "Ort der Veranstaltung",
+ "Event name": "Name der Veranstaltung",
+ "Event start date and time": "Startdatum und -zeit der Veranstaltung",
+ "Faith": "Glaube",
+ "Full name of the player": "Vollständiger Name des Spielers",
+ "Game Master Notes (Private)": "Notizen der Spielleitung (privat)",
+ "Game Master Notes (Public)": "Notizen der Spielleitung (öffentlich)",
+ "Gold Pieces": "Goldstücke",
+ "Item Name": "Name des Gegenstands",
+ "Items and Money": "Gegenstände und Geld",
+ "Mechanical Effect": "Spielmechanischer Effekt",
+ "Modifier Value": "Wert des Modifikators",
+ "Name of the condition": "Name des Zustands",
+ "Name of the effect": "Name des Effekts",
+ "Name of the event": "Name der Veranstaltung",
+ "Name of the item": "Name des Gegenstands",
+ "Name of the skill": "Name der Fähigkeit",
+ "Name of the stat": "Name des Attributs",
+ "Nextcloud user": "Nextcloud-Benutzer",
+ "Notes about items and money": "Notizen zu Gegenständen und Geld",
+ "Notes about the player": "Notizen zum Spieler",
+ "Overridden At": "Überschrieben am",
+ "Overridden By": "Überschrieben von",
+ "Override Reason": "Grund der Überschreibung",
+ "Owner": "Eigentümer",
+ "Owner UID": "UID des Eigentümers",
+ "Participating Characters": "Teilnehmende Charaktere",
+ "Player Name": "Name des Spielers",
+ "Post-Event Effects": "Effekte nach der Veranstaltung",
+ "Real name of the player": "Echter Name des Spielers",
+ "Required Conditions": "Erforderliche Zustände",
+ "Required Effects": "Erforderliche Effekte",
+ "Required Score": "Erforderlicher Wert",
+ "Required Skills": "Erforderliche Fähigkeiten",
+ "Required Stats": "Erforderliche Attribute",
+ "Requirement Overrides": "Überschriebene Voraussetzungen",
+ "Setting Name": "Name der Spielwelt",
+ "Silver Pieces": "Silberstücke",
+ "Skill Name": "Name der Fähigkeit",
+ "Start Date": "Startdatum",
+ "Starting value for all characters": "Startwert für alle Charaktere",
+ "Stat": "Attribut",
+ "Status": "Status",
+ "System Notice": "Systemhinweis",
+ "Unique Artifact": "Einzigartiges Artefakt",
+ "Unique Condition": "Einzigartiger Zustand",
+ "XP Amount": "Anzahl der Erfahrungspunkte",
+ "XP Award": "XP-Vergabe"
},
"nplurals=2; plural=(n != 1);"
)
diff --git a/l10n/de.json b/l10n/de.json
index 081373fa..2dc2f52f 100644
--- a/l10n/de.json
+++ b/l10n/de.json
@@ -151,7 +151,78 @@
"None — this is a root skill.": "Keine — dies ist eine Grundfähigkeit.",
"Where the automation lives": "Wo die Automatisierung wohnt",
"Flows are what happens without anyone clicking: a reminder before a deadline passes, a confirmation sent on submission. This is where you read and edit them. Nothing to build now.": "Flows sind das, was ohne Klick geschieht: eine Erinnerung, bevor eine Frist abläuft, eine Bestätigung beim Einreichen. Hier liest und bearbeitest du sie — jetzt ist nichts zu bauen.",
- "Open Flows in the menu": "Öffne Flows im Menü"
+ "Open Flows in the menu": "Öffne Flows im Menü",
+ "Ability Name": "Name der Fertigkeit",
+ "Affected Characters": "Betroffene Charaktere",
+ "Amount of copper pieces": "Anzahl der Kupferstücke",
+ "Amount of gold pieces": "Anzahl der Goldstücke",
+ "Amount of silver pieces": "Anzahl der Silberstücke",
+ "Automatic system notices": "Automatische Systemhinweise",
+ "Award Reason": "Grund der Vergabe",
+ "Awarded At": "Vergeben am",
+ "Awarded By": "Vergeben von",
+ "Background Story": "Hintergrundgeschichte",
+ "Base Value": "Basiswert",
+ "Character Card": "Charakterkarte",
+ "Character Name": "Name des Charakters",
+ "Checked In At": "Eingecheckt am",
+ "Checked In By": "Eingecheckt von",
+ "Condition Name": "Name des Zustands",
+ "Contact email address": "E-Mail-Adresse für Kontakt",
+ "Copper Pieces": "Kupferstücke",
+ "Effect Name": "Name des Effekts",
+ "End Date": "Enddatum",
+ "Event Name": "Name der Veranstaltung",
+ "Event description": "Beschreibung der Veranstaltung",
+ "Event end date and time": "Enddatum und -zeit der Veranstaltung",
+ "Event location": "Ort der Veranstaltung",
+ "Event name": "Name der Veranstaltung",
+ "Event start date and time": "Startdatum und -zeit der Veranstaltung",
+ "Faith": "Glaube",
+ "Full name of the player": "Vollständiger Name des Spielers",
+ "Game Master Notes (Private)": "Notizen der Spielleitung (privat)",
+ "Game Master Notes (Public)": "Notizen der Spielleitung (öffentlich)",
+ "Gold Pieces": "Goldstücke",
+ "Item Name": "Name des Gegenstands",
+ "Items and Money": "Gegenstände und Geld",
+ "Mechanical Effect": "Spielmechanischer Effekt",
+ "Modifier Value": "Wert des Modifikators",
+ "Name of the condition": "Name des Zustands",
+ "Name of the effect": "Name des Effekts",
+ "Name of the event": "Name der Veranstaltung",
+ "Name of the item": "Name des Gegenstands",
+ "Name of the skill": "Name der Fähigkeit",
+ "Name of the stat": "Name des Attributs",
+ "Nextcloud user": "Nextcloud-Benutzer",
+ "Notes about items and money": "Notizen zu Gegenständen und Geld",
+ "Notes about the player": "Notizen zum Spieler",
+ "Overridden At": "Überschrieben am",
+ "Overridden By": "Überschrieben von",
+ "Override Reason": "Grund der Überschreibung",
+ "Owner": "Eigentümer",
+ "Owner UID": "UID des Eigentümers",
+ "Participating Characters": "Teilnehmende Charaktere",
+ "Player Name": "Name des Spielers",
+ "Post-Event Effects": "Effekte nach der Veranstaltung",
+ "Real name of the player": "Echter Name des Spielers",
+ "Required Conditions": "Erforderliche Zustände",
+ "Required Effects": "Erforderliche Effekte",
+ "Required Score": "Erforderlicher Wert",
+ "Required Skills": "Erforderliche Fähigkeiten",
+ "Required Stats": "Erforderliche Attribute",
+ "Requirement Overrides": "Überschriebene Voraussetzungen",
+ "Setting Name": "Name der Spielwelt",
+ "Silver Pieces": "Silberstücke",
+ "Skill Name": "Name der Fähigkeit",
+ "Start Date": "Startdatum",
+ "Starting value for all characters": "Startwert für alle Charaktere",
+ "Stat": "Attribut",
+ "Status": "Status",
+ "System Notice": "Systemhinweis",
+ "Unique Artifact": "Einzigartiges Artefakt",
+ "Unique Condition": "Einzigartiger Zustand",
+ "XP Amount": "Anzahl der Erfahrungspunkte",
+ "XP Award": "XP-Vergabe"
},
"plurals": {}
}
diff --git a/l10n/el.js b/l10n/el.js
index f0cc831c..92729475 100644
--- a/l10n/el.js
+++ b/l10n/el.js
@@ -152,7 +152,78 @@ OC.L10N.register(
"None — this is a root skill.": "Καμία — αυτή είναι ριζική δεξιότητα.",
"Where the automation lives": "Πού ζει η αυτοματοποίηση",
"Flows are what happens without anyone clicking: a reminder before a deadline passes, a confirmation sent on submission. This is where you read and edit them. Nothing to build now.": "Τα Flows είναι αυτό που συμβαίνει χωρίς να κάνει κανείς κλικ: μια υπενθύμιση πριν λήξει μια προθεσμία, μια επιβεβαίωση κατά την υποβολή. Εδώ τα διαβάζετε και τα επεξεργάζεστε — δεν χρειάζεται να φτιάξετε τίποτα τώρα.",
- "Open Flows in the menu": "Ανοίξτε τα Flows στο μενού"
+ "Open Flows in the menu": "Ανοίξτε τα Flows στο μενού",
+ "Ability Name": "Όνομα της ικανότητας",
+ "Affected Characters": "Επηρεαζόμενοι χαρακτήρες",
+ "Amount of copper pieces": "Αριθμός χάλκινων νομισμάτων",
+ "Amount of gold pieces": "Αριθμός χρυσών νομισμάτων",
+ "Amount of silver pieces": "Αριθμός ασημένιων νομισμάτων",
+ "Automatic system notices": "Αυτόματες ειδοποιήσεις συστήματος",
+ "Award Reason": "Αιτιολογία της απονομής",
+ "Awarded At": "Απονεμήθηκε στις",
+ "Awarded By": "Απονεμήθηκε από",
+ "Background Story": "Ιστορία υποβάθρου",
+ "Base Value": "Βασική τιμή",
+ "Character Card": "Κάρτα χαρακτήρα",
+ "Character Name": "Όνομα του χαρακτήρα",
+ "Checked In At": "Η προσέλευση καταγράφηκε στις",
+ "Checked In By": "Η προσέλευση καταγράφηκε από",
+ "Condition Name": "Όνομα της κατάστασης",
+ "Contact email address": "Διεύθυνση email επικοινωνίας",
+ "Copper Pieces": "Χάλκινα νομίσματα",
+ "Effect Name": "Όνομα της επίδρασης",
+ "End Date": "Ημερομηνία λήξης",
+ "Event Name": "Όνομα της εκδήλωσης",
+ "Event description": "Περιγραφή της εκδήλωσης",
+ "Event end date and time": "Ημερομηνία και ώρα λήξης της εκδήλωσης",
+ "Event location": "Τοποθεσία της εκδήλωσης",
+ "Event name": "Όνομα της εκδήλωσης",
+ "Event start date and time": "Ημερομηνία και ώρα έναρξης της εκδήλωσης",
+ "Faith": "Πίστη",
+ "Full name of the player": "Πλήρες όνομα του παίκτη",
+ "Game Master Notes (Private)": "Σημειώσεις του αρχηγού παιχνιδιού (ιδιωτικές)",
+ "Game Master Notes (Public)": "Σημειώσεις του αρχηγού παιχνιδιού (δημόσιες)",
+ "Gold Pieces": "Χρυσά νομίσματα",
+ "Item Name": "Όνομα του αντικειμένου",
+ "Items and Money": "Αντικείμενα και χρήματα",
+ "Mechanical Effect": "Επίδραση στο παιχνίδι",
+ "Modifier Value": "Τιμή του τροποποιητή",
+ "Name of the condition": "Όνομα της κατάστασης",
+ "Name of the effect": "Όνομα της επίδρασης",
+ "Name of the event": "Όνομα της εκδήλωσης",
+ "Name of the item": "Όνομα του αντικειμένου",
+ "Name of the skill": "Όνομα της δεξιότητας",
+ "Name of the stat": "Όνομα του χαρακτηριστικού",
+ "Nextcloud user": "Χρήστης Nextcloud",
+ "Notes about items and money": "Σημειώσεις για τα αντικείμενα και τα χρήματα",
+ "Notes about the player": "Σημειώσεις για τον παίκτη",
+ "Overridden At": "Η εξαίρεση δόθηκε στις",
+ "Overridden By": "Η εξαίρεση δόθηκε από",
+ "Override Reason": "Αιτιολογία της εξαίρεσης",
+ "Owner": "Κάτοχος",
+ "Owner UID": "UID του κατόχου",
+ "Participating Characters": "Συμμετέχοντες χαρακτήρες",
+ "Player Name": "Όνομα του παίκτη",
+ "Post-Event Effects": "Επιδράσεις μετά την εκδήλωση",
+ "Real name of the player": "Πραγματικό όνομα του παίκτη",
+ "Required Conditions": "Απαιτούμενες καταστάσεις",
+ "Required Effects": "Απαιτούμενες επιδράσεις",
+ "Required Score": "Απαιτούμενη τιμή",
+ "Required Skills": "Απαιτούμενες δεξιότητες",
+ "Required Stats": "Απαιτούμενα χαρακτηριστικά",
+ "Requirement Overrides": "Εξαιρέσεις από τις προϋποθέσεις",
+ "Setting Name": "Όνομα του κόσμου παιχνιδιού",
+ "Silver Pieces": "Ασημένια νομίσματα",
+ "Skill Name": "Όνομα της δεξιότητας",
+ "Start Date": "Ημερομηνία έναρξης",
+ "Starting value for all characters": "Αρχική τιμή για όλους τους χαρακτήρες",
+ "Stat": "Χαρακτηριστικό",
+ "Status": "Κατάσταση",
+ "System Notice": "Ειδοποίηση συστήματος",
+ "Unique Artifact": "Μοναδικό τεχνούργημα",
+ "Unique Condition": "Μοναδική κατάσταση",
+ "XP Amount": "Αριθμός πόντων εμπειρίας",
+ "XP Award": "Απονομή πόντων εμπειρίας"
},
"nplurals=2; plural=(n != 1);"
)
diff --git a/l10n/el.json b/l10n/el.json
index 7cbfe410..9ecfe59e 100644
--- a/l10n/el.json
+++ b/l10n/el.json
@@ -151,7 +151,78 @@
"None — this is a root skill.": "Καμία — αυτή είναι ριζική δεξιότητα.",
"Where the automation lives": "Πού ζει η αυτοματοποίηση",
"Flows are what happens without anyone clicking: a reminder before a deadline passes, a confirmation sent on submission. This is where you read and edit them. Nothing to build now.": "Τα Flows είναι αυτό που συμβαίνει χωρίς να κάνει κανείς κλικ: μια υπενθύμιση πριν λήξει μια προθεσμία, μια επιβεβαίωση κατά την υποβολή. Εδώ τα διαβάζετε και τα επεξεργάζεστε — δεν χρειάζεται να φτιάξετε τίποτα τώρα.",
- "Open Flows in the menu": "Ανοίξτε τα Flows στο μενού"
+ "Open Flows in the menu": "Ανοίξτε τα Flows στο μενού",
+ "Ability Name": "Όνομα της ικανότητας",
+ "Affected Characters": "Επηρεαζόμενοι χαρακτήρες",
+ "Amount of copper pieces": "Αριθμός χάλκινων νομισμάτων",
+ "Amount of gold pieces": "Αριθμός χρυσών νομισμάτων",
+ "Amount of silver pieces": "Αριθμός ασημένιων νομισμάτων",
+ "Automatic system notices": "Αυτόματες ειδοποιήσεις συστήματος",
+ "Award Reason": "Αιτιολογία της απονομής",
+ "Awarded At": "Απονεμήθηκε στις",
+ "Awarded By": "Απονεμήθηκε από",
+ "Background Story": "Ιστορία υποβάθρου",
+ "Base Value": "Βασική τιμή",
+ "Character Card": "Κάρτα χαρακτήρα",
+ "Character Name": "Όνομα του χαρακτήρα",
+ "Checked In At": "Η προσέλευση καταγράφηκε στις",
+ "Checked In By": "Η προσέλευση καταγράφηκε από",
+ "Condition Name": "Όνομα της κατάστασης",
+ "Contact email address": "Διεύθυνση email επικοινωνίας",
+ "Copper Pieces": "Χάλκινα νομίσματα",
+ "Effect Name": "Όνομα της επίδρασης",
+ "End Date": "Ημερομηνία λήξης",
+ "Event Name": "Όνομα της εκδήλωσης",
+ "Event description": "Περιγραφή της εκδήλωσης",
+ "Event end date and time": "Ημερομηνία και ώρα λήξης της εκδήλωσης",
+ "Event location": "Τοποθεσία της εκδήλωσης",
+ "Event name": "Όνομα της εκδήλωσης",
+ "Event start date and time": "Ημερομηνία και ώρα έναρξης της εκδήλωσης",
+ "Faith": "Πίστη",
+ "Full name of the player": "Πλήρες όνομα του παίκτη",
+ "Game Master Notes (Private)": "Σημειώσεις του αρχηγού παιχνιδιού (ιδιωτικές)",
+ "Game Master Notes (Public)": "Σημειώσεις του αρχηγού παιχνιδιού (δημόσιες)",
+ "Gold Pieces": "Χρυσά νομίσματα",
+ "Item Name": "Όνομα του αντικειμένου",
+ "Items and Money": "Αντικείμενα και χρήματα",
+ "Mechanical Effect": "Επίδραση στο παιχνίδι",
+ "Modifier Value": "Τιμή του τροποποιητή",
+ "Name of the condition": "Όνομα της κατάστασης",
+ "Name of the effect": "Όνομα της επίδρασης",
+ "Name of the event": "Όνομα της εκδήλωσης",
+ "Name of the item": "Όνομα του αντικειμένου",
+ "Name of the skill": "Όνομα της δεξιότητας",
+ "Name of the stat": "Όνομα του χαρακτηριστικού",
+ "Nextcloud user": "Χρήστης Nextcloud",
+ "Notes about items and money": "Σημειώσεις για τα αντικείμενα και τα χρήματα",
+ "Notes about the player": "Σημειώσεις για τον παίκτη",
+ "Overridden At": "Η εξαίρεση δόθηκε στις",
+ "Overridden By": "Η εξαίρεση δόθηκε από",
+ "Override Reason": "Αιτιολογία της εξαίρεσης",
+ "Owner": "Κάτοχος",
+ "Owner UID": "UID του κατόχου",
+ "Participating Characters": "Συμμετέχοντες χαρακτήρες",
+ "Player Name": "Όνομα του παίκτη",
+ "Post-Event Effects": "Επιδράσεις μετά την εκδήλωση",
+ "Real name of the player": "Πραγματικό όνομα του παίκτη",
+ "Required Conditions": "Απαιτούμενες καταστάσεις",
+ "Required Effects": "Απαιτούμενες επιδράσεις",
+ "Required Score": "Απαιτούμενη τιμή",
+ "Required Skills": "Απαιτούμενες δεξιότητες",
+ "Required Stats": "Απαιτούμενα χαρακτηριστικά",
+ "Requirement Overrides": "Εξαιρέσεις από τις προϋποθέσεις",
+ "Setting Name": "Όνομα του κόσμου παιχνιδιού",
+ "Silver Pieces": "Ασημένια νομίσματα",
+ "Skill Name": "Όνομα της δεξιότητας",
+ "Start Date": "Ημερομηνία έναρξης",
+ "Starting value for all characters": "Αρχική τιμή για όλους τους χαρακτήρες",
+ "Stat": "Χαρακτηριστικό",
+ "Status": "Κατάσταση",
+ "System Notice": "Ειδοποίηση συστήματος",
+ "Unique Artifact": "Μοναδικό τεχνούργημα",
+ "Unique Condition": "Μοναδική κατάσταση",
+ "XP Amount": "Αριθμός πόντων εμπειρίας",
+ "XP Award": "Απονομή πόντων εμπειρίας"
},
"plurals": {}
}
diff --git a/l10n/en.js b/l10n/en.js
index 4c39b72c..01fbacd5 100644
--- a/l10n/en.js
+++ b/l10n/en.js
@@ -1,158 +1,229 @@
OC.L10N.register(
"larpinq",
{
- "Larpinq": "Larpinq",
- "Dashboard": "Dashboard",
- "Characters": "Characters",
- "Character": "Character",
- "Players": "Players",
- "Player": "Player",
+ "(score ≥ {n})": "(score ≥ {n})",
"Abilities": "Abilities",
"Ability": "Ability",
- "Skills": "Skills",
- "Skill": "Skill",
- "Items": "Items",
- "Item": "Item",
- "Conditions": "Conditions",
- "Condition": "Condition",
- "Effects": "Effects",
- "Effect": "Effect",
- "Events": "Events",
- "Event": "Event",
- "Settings": "Settings",
- "Worlds": "Worlds",
- "Setting": "Setting",
- "World": "World",
- "Documentation": "Documentation",
- "New character": "New character",
- "New player": "New player",
- "New ability": "New ability",
- "New skill": "New skill",
- "New item": "New item",
- "New condition": "New condition",
- "New effect": "New effect",
- "New event": "New event",
- "Name": "Name",
- "Description": "Description",
- "Type": "Type",
+ "Ability Name": "Ability Name",
+ "Advanced settings": "Advanced settings",
+ "Affected Characters": "Affected Characters",
+ "All worlds": "All settings",
+ "Amount of copper pieces": "Amount of copper pieces",
+ "Amount of gold pieces": "Amount of gold pieces",
+ "Amount of silver pieces": "Amount of silver pieces",
"Approved": "Approved",
- "Gold": "Gold",
- "Silver": "Silver",
- "Copper": "Copper",
+ "Are you sure you want to delete this?": "Are you sure you want to delete this?",
+ "Attendance": "Attendance",
+ "Attendance tracking is unavailable — showing the participant list read-only.": "Attendance tracking is unavailable — showing the participant list read-only.",
+ "Automatic system notices": "Automatic system notices",
+ "Available": "Available",
+ "Award Reason": "Award Reason",
+ "Awarded At": "Awarded At",
+ "Awarded By": "Awarded By",
+ "Back to list": "Back to list",
+ "Background": "Background",
+ "Background Story": "Background Story",
"Base": "Base",
- "Modifier": "Modifier",
- "Modification": "Modification",
- "Cumulative": "Cumulative",
- "Location": "Location",
- "Start date": "Start date",
- "End date": "End date",
- "Unique": "Unique",
- "Value": "Value",
- "player": "player",
- "npc": "npc",
- "other": "other",
- "no": "no",
- "approved": "approved",
- "positive": "positive",
- "negative": "negative",
- "cumulative": "cumulative",
- "non-cumulative": "non-cumulative",
- "Save": "Save",
+ "Base Value": "Base Value",
"Cancel": "Cancel",
- "Delete": "Delete",
- "Edit": "Edit",
- "Search": "Search",
- "Loading...": "Loading...",
- "Back to list": "Back to list",
- "Are you sure you want to delete this?": "Are you sure you want to delete this?",
- "Download PDF": "Download PDF",
- "Select a template to generate a PDF from this character": "Select a template to generate a PDF from this character",
- "PDF generation requires the DocuDesk app to be installed and enabled": "PDF generation requires the DocuDesk app to be installed and enabled",
- "Configuration saved": "Configuration saved",
+ "Character": "Character",
+ "Character Card": "Character Card",
+ "Character Name": "Character Name",
+ "Characters": "Characters",
+ "Check in": "Check in",
+ "Check-in": "Check-in",
+ "Checked In At": "Checked In At",
+ "Checked In By": "Checked In By",
+ "Checked in": "Checked in",
+ "Condition": "Condition",
+ "Condition Name": "Condition Name",
+ "Conditions": "Conditions",
+ "Configuration": "Configuration",
"Configuration re-imported successfully": "Configuration re-imported successfully",
- "Re-import configuration": "Re-import configuration",
- "Game setup": "Game setup",
- "Advanced settings": "Advanced settings",
+ "Configuration saved": "Configuration saved",
+ "Configure": "Configure",
"Configure OpenRegister data source to enable this widget": "Configure OpenRegister data source to enable this widget",
- "Loading skill data...": "Loading skill data...",
- "Retry": "Retry",
- "No skill data available": "No skill data available",
- "characters": "characters",
- "Other": "Other",
- "Failed to load skill data": "Failed to load skill data",
- "Data storage": "Data storage",
"Configure where to store your LARP data": "Configure where to store your LARP data",
- "Open Register is not installed. Some features might be unavailable.": "Open Register is not installed. Some features might be unavailable.",
- "Source": "Source",
- "Register": "Register",
- "Schema": "Schema",
+ "Configure your Larpinq installation": "Configure your Larpinq installation",
+ "Configure your Larpinq settings here.": "Configure your Larpinq settings here.",
+ "Contact email address": "Contact email address",
+ "Copper": "Copper",
+ "Copper Pieces": "Copper Pieces",
+ "Create": "Create",
+ "Cumulative": "Cumulative",
+ "Dashboard": "Dashboard",
+ "Data storage": "Data storage",
+ "Delete": "Delete",
+ "Description": "Description",
+ "Documentation": "Documentation",
+ "Download PDF": "Download PDF",
+ "Edit": "Edit",
+ "Effect": "Effect",
+ "Effect Name": "Effect Name",
+ "Effects": "Effects",
+ "End Date": "End Date",
+ "End date": "End date",
+ "Event": "Event",
+ "Event Name": "Event Name",
+ "Event description": "Event description",
+ "Event end date and time": "Event end date and time",
+ "Event location": "Event location",
+ "Event name": "Event name",
+ "Event start date and time": "Event start date and time",
+ "Events": "Events",
+ "Failed to delete.": "Failed to delete.",
+ "Failed to load skill data": "Failed to load skill data",
+ "Failed to save settings": "Failed to save settings",
+ "Failed to save. Please try again.": "Failed to save. Please try again.",
+ "Faith": "Faith",
+ "Flows are what happens without anyone clicking: a reminder before a deadline passes, a confirmation sent on submission. This is where you read and edit them. Nothing to build now.": "Flows are what happens without anyone clicking: a reminder before a deadline passes, a confirmation sent on submission. This is where you read and edit them. Nothing to build now.",
+ "For a Service Level Agreement (SLA), contact": "For a Service Level Agreement (SLA), contact",
+ "For support, contact us at": "For support, contact us at",
+ "Full name of the player": "Full name of the player",
+ "Game Master Notes (Private)": "Game Master Notes (Private)",
+ "Game Master Notes (Public)": "Game Master Notes (Public)",
+ "Game setup": "Game setup",
+ "General": "General",
+ "Gold": "Gold",
+ "Gold Pieces": "Gold Pieces",
+ "Importing...": "Importing...",
+ "Information about the current Larpinq installation": "Information about the current Larpinq installation",
"Internal": "Internal",
- "Open Register": "Open Register",
- "Yes": "Yes",
+ "Item": "Item",
+ "Item Name": "Item Name",
+ "Items": "Items",
+ "Items and Money": "Items and Money",
+ "Larpinq": "Larpinq",
+ "Larpinq Settings": "Larpinq Settings",
+ "Larpinq settings": "Larpinq settings",
+ "Loading skill data...": "Loading skill data...",
+ "Loading...": "Loading...",
+ "Location": "Location",
+ "Locked": "Locked",
+ "Mechanical Effect": "Mechanical Effect",
+ "Modification": "Modification",
+ "Modifier": "Modifier",
+ "Modifier Value": "Modifier Value",
+ "Name": "Name",
+ "Name of the condition": "Name of the condition",
+ "Name of the effect": "Name of the effect",
+ "Name of the event": "Name of the event",
+ "Name of the item": "Name of the item",
+ "Name of the skill": "Name of the skill",
+ "Name of the stat": "Name of the stat",
+ "New ability": "New ability",
+ "New character": "New character",
+ "New condition": "New condition",
+ "New effect": "New effect",
+ "New event": "New event",
+ "New item": "New item",
+ "New player": "New player",
+ "New skill": "New skill",
+ "Nextcloud user": "Nextcloud user",
"No": "No",
- "Create": "Create",
+ "No character (uncoloured)": "No character (uncoloured)",
"No characters yet": "No characters yet",
+ "No confirmed participants for this event yet.": "No confirmed participants for this event yet.",
"No events yet": "No events yet",
- "View all ({count})": "View all ({count})",
+ "No prerequisites": "No prerequisites",
+ "No skill data available": "No skill data available",
+ "No skills exist yet for the selected world.": "No skills exist yet for the selected setting.",
+ "No skills to show": "No skills to show",
+ "No-show": "No-show",
+ "None — this is a root skill.": "None — this is a root skill.",
+ "Notes about items and money": "Notes about items and money",
+ "Notes about the player": "Notes about the player",
+ "Open Flows in the menu": "Open Flows in the menu",
+ "Open Register": "Open Register",
+ "Open Register is not installed. Some features might be unavailable.": "Open Register is not installed. Some features might be unavailable.",
+ "OpenRegister is not configured. Some features may be limited.": "OpenRegister is not configured. Some features may be limited.",
+ "Other": "Other",
+ "Overridden At": "Overridden At",
+ "Overridden By": "Overridden By",
+ "Override Reason": "Override Reason",
+ "Owned": "Owned",
+ "Owner": "Owner",
+ "Owner UID": "Owner UID",
+ "PDF generation requires the DocuDesk app to be installed and enabled": "PDF generation requires the DocuDesk app to be installed and enabled",
+ "Participating Characters": "Participating Characters",
+ "Player": "Player",
+ "Player Name": "Player Name",
+ "Players": "Players",
+ "Post-Event Effects": "Post-Event Effects",
+ "Prerequisites": "Prerequisites",
+ "Re-import configuration": "Re-import configuration",
+ "Re-import failed": "Re-import failed",
+ "Real name of the player": "Real name of the player",
"Recent characters": "Recent characters",
"Recent events": "Recent events",
- "Skill usage by characters": "Skill usage by characters",
"Refresh dashboard": "Refresh dashboard",
- "Larpinq settings": "Larpinq settings",
- "Configure your Larpinq installation": "Configure your Larpinq installation",
- "Version information": "Version information",
- "Information about the current Larpinq installation": "Information about the current Larpinq installation",
- "Support": "Support",
- "For support, contact us at": "For support, contact us at",
- "For a Service Level Agreement (SLA), contact": "For a Service Level Agreement (SLA), contact",
- "Importing...": "Importing...",
- "Re-import failed": "Re-import failed",
- "Configuration": "Configuration",
- "OpenRegister is not configured. Some features may be limited.": "OpenRegister is not configured. Some features may be limited.",
- "Configure": "Configure",
- "Failed to save. Please try again.": "Failed to save. Please try again.",
- "Failed to delete.": "Failed to delete.",
- "Background": "Background",
- "Save all": "Save All",
- "Unnamed character": "Unnamed Character",
- "Unnamed event": "Unnamed Event",
- "Welcome to Larpinq!": "Welcome to Larpinq!",
- "Configure your Larpinq settings here.": "Configure your Larpinq settings here.",
- "Failed to save settings": "Failed to save settings",
- "General": "General",
- "Larpinq Settings": "Larpinq Settings",
- "Save All": "Save All",
- "Settings saved successfully": "Settings saved successfully",
- "Version Information": "Version Information",
- "Check-in": "Check-in",
- "Attendance": "Attendance",
- "Check in": "Check in",
- "No-show": "No-show",
+ "Register": "Register",
"Registered": "Registered",
- "Checked in": "Checked in",
- "No confirmed participants for this event yet.": "No confirmed participants for this event yet.",
- "Attendance tracking is unavailable — showing the participant list read-only.": "Attendance tracking is unavailable — showing the participant list read-only.",
- "Skill tree": "Skill tree",
- "No character (uncoloured)": "No character (uncoloured)",
- "All worlds": "All settings",
- "Owned": "Owned",
- "Available": "Available",
- "Locked": "Locked",
- "Unknown": "Unknown",
- "No skills to show": "No skills to show",
- "No skills exist yet for the selected world.": "No skills exist yet for the selected setting.",
- "Requires: {list}": "Requires: {list}",
- "No prerequisites": "No prerequisites",
- "Required skills": "Required skills",
+ "Required Conditions": "Required Conditions",
+ "Required Effects": "Required Effects",
+ "Required Score": "Required Score",
+ "Required Skills": "Required Skills",
+ "Required Stats": "Required Stats",
"Required abilities": "Required abilities",
- "(score ≥ {n})": "(score ≥ {n})",
"Required conditions": "Required conditions",
"Required effects": "Required effects",
- "Prerequisites": "Prerequisites",
- "None — this is a root skill.": "None — this is a root skill.",
+ "Required skills": "Required skills",
+ "Requirement Overrides": "Requirement Overrides",
+ "Requires: {list}": "Requires: {list}",
+ "Retry": "Retry",
+ "Save": "Save",
+ "Save All": "Save All",
+ "Save all": "Save All",
+ "Schema": "Schema",
+ "Search": "Search",
+ "Select a template to generate a PDF from this character": "Select a template to generate a PDF from this character",
+ "Setting": "Setting",
+ "Setting Name": "Setting Name",
+ "Settings": "Settings",
+ "Settings saved successfully": "Settings saved successfully",
+ "Silver": "Silver",
+ "Silver Pieces": "Silver Pieces",
+ "Skill": "Skill",
+ "Skill Name": "Skill Name",
+ "Skill tree": "Skill tree",
+ "Skill usage by characters": "Skill usage by characters",
+ "Skills": "Skills",
+ "Source": "Source",
+ "Start Date": "Start Date",
+ "Start date": "Start date",
+ "Starting value for all characters": "Starting value for all characters",
+ "Stat": "Stat",
+ "Status": "Status",
+ "Support": "Support",
+ "System Notice": "System Notice",
+ "Type": "Type",
+ "Unique": "Unique",
+ "Unique Artifact": "Unique Artifact",
+ "Unique Condition": "Unique Condition",
+ "Unknown": "Unknown",
+ "Unnamed character": "Unnamed Character",
+ "Unnamed event": "Unnamed Event",
+ "Value": "Value",
+ "Version Information": "Version Information",
+ "Version information": "Version information",
+ "View all ({count})": "View all ({count})",
+ "Welcome to Larpinq!": "Welcome to Larpinq!",
"Where the automation lives": "Where the automation lives",
- "Flows are what happens without anyone clicking: a reminder before a deadline passes, a confirmation sent on submission. This is where you read and edit them. Nothing to build now.": "Flows are what happens without anyone clicking: a reminder before a deadline passes, a confirmation sent on submission. This is where you read and edit them. Nothing to build now.",
- "Open Flows in the menu": "Open Flows in the menu"
+ "World": "World",
+ "Worlds": "Worlds",
+ "XP Amount": "XP Amount",
+ "XP Award": "XP Award",
+ "Yes": "Yes",
+ "approved": "approved",
+ "characters": "characters",
+ "cumulative": "cumulative",
+ "negative": "negative",
+ "no": "no",
+ "non-cumulative": "non-cumulative",
+ "npc": "npc",
+ "other": "other",
+ "player": "player",
+ "positive": "positive"
},
"nplurals=2; plural=(n != 1);"
)
diff --git a/l10n/en.json b/l10n/en.json
index a331fcfa..64726122 100644
--- a/l10n/en.json
+++ b/l10n/en.json
@@ -1,157 +1,228 @@
{
"translations": {
- "Larpinq": "Larpinq",
- "Dashboard": "Dashboard",
- "Characters": "Characters",
- "Character": "Character",
- "Players": "Players",
- "Player": "Player",
+ "(score ≥ {n})": "(score ≥ {n})",
"Abilities": "Abilities",
"Ability": "Ability",
- "Skills": "Skills",
- "Skill": "Skill",
- "Items": "Items",
- "Item": "Item",
- "Conditions": "Conditions",
- "Condition": "Condition",
- "Effects": "Effects",
- "Effect": "Effect",
- "Events": "Events",
- "Event": "Event",
- "Settings": "Settings",
- "Worlds": "Worlds",
- "Setting": "Setting",
- "World": "World",
- "Documentation": "Documentation",
- "New character": "New character",
- "New player": "New player",
- "New ability": "New ability",
- "New skill": "New skill",
- "New item": "New item",
- "New condition": "New condition",
- "New effect": "New effect",
- "New event": "New event",
- "Name": "Name",
- "Description": "Description",
- "Type": "Type",
+ "Ability Name": "Ability Name",
+ "Advanced settings": "Advanced settings",
+ "Affected Characters": "Affected Characters",
+ "All worlds": "All settings",
+ "Amount of copper pieces": "Amount of copper pieces",
+ "Amount of gold pieces": "Amount of gold pieces",
+ "Amount of silver pieces": "Amount of silver pieces",
"Approved": "Approved",
- "Gold": "Gold",
- "Silver": "Silver",
- "Copper": "Copper",
+ "Are you sure you want to delete this?": "Are you sure you want to delete this?",
+ "Attendance": "Attendance",
+ "Attendance tracking is unavailable — showing the participant list read-only.": "Attendance tracking is unavailable — showing the participant list read-only.",
+ "Automatic system notices": "Automatic system notices",
+ "Available": "Available",
+ "Award Reason": "Award Reason",
+ "Awarded At": "Awarded At",
+ "Awarded By": "Awarded By",
+ "Back to list": "Back to list",
+ "Background": "Background",
+ "Background Story": "Background Story",
"Base": "Base",
- "Modifier": "Modifier",
- "Modification": "Modification",
- "Cumulative": "Cumulative",
- "Location": "Location",
- "Start date": "Start date",
- "End date": "End date",
- "Unique": "Unique",
- "Value": "Value",
- "player": "player",
- "npc": "npc",
- "other": "other",
- "no": "no",
- "approved": "approved",
- "positive": "positive",
- "negative": "negative",
- "cumulative": "cumulative",
- "non-cumulative": "non-cumulative",
- "Save": "Save",
+ "Base Value": "Base Value",
"Cancel": "Cancel",
- "Delete": "Delete",
- "Edit": "Edit",
- "Search": "Search",
- "Loading...": "Loading...",
- "Back to list": "Back to list",
- "Are you sure you want to delete this?": "Are you sure you want to delete this?",
- "Download PDF": "Download PDF",
- "Select a template to generate a PDF from this character": "Select a template to generate a PDF from this character",
- "PDF generation requires the DocuDesk app to be installed and enabled": "PDF generation requires the DocuDesk app to be installed and enabled",
- "Configuration saved": "Configuration saved",
+ "Character": "Character",
+ "Character Card": "Character Card",
+ "Character Name": "Character Name",
+ "Characters": "Characters",
+ "Check in": "Check in",
+ "Check-in": "Check-in",
+ "Checked In At": "Checked In At",
+ "Checked In By": "Checked In By",
+ "Checked in": "Checked in",
+ "Condition": "Condition",
+ "Condition Name": "Condition Name",
+ "Conditions": "Conditions",
+ "Configuration": "Configuration",
"Configuration re-imported successfully": "Configuration re-imported successfully",
- "Re-import configuration": "Re-import configuration",
- "Game setup": "Game setup",
- "Advanced settings": "Advanced settings",
+ "Configuration saved": "Configuration saved",
+ "Configure": "Configure",
"Configure OpenRegister data source to enable this widget": "Configure OpenRegister data source to enable this widget",
- "Loading skill data...": "Loading skill data...",
- "Retry": "Retry",
- "No skill data available": "No skill data available",
- "characters": "characters",
- "Other": "Other",
- "Failed to load skill data": "Failed to load skill data",
- "Data storage": "Data storage",
"Configure where to store your LARP data": "Configure where to store your LARP data",
- "Open Register is not installed. Some features might be unavailable.": "Open Register is not installed. Some features might be unavailable.",
- "Source": "Source",
- "Register": "Register",
- "Schema": "Schema",
+ "Configure your Larpinq installation": "Configure your Larpinq installation",
+ "Configure your Larpinq settings here.": "Configure your Larpinq settings here.",
+ "Contact email address": "Contact email address",
+ "Copper": "Copper",
+ "Copper Pieces": "Copper Pieces",
+ "Create": "Create",
+ "Cumulative": "Cumulative",
+ "Dashboard": "Dashboard",
+ "Data storage": "Data storage",
+ "Delete": "Delete",
+ "Description": "Description",
+ "Documentation": "Documentation",
+ "Download PDF": "Download PDF",
+ "Edit": "Edit",
+ "Effect": "Effect",
+ "Effect Name": "Effect Name",
+ "Effects": "Effects",
+ "End Date": "End Date",
+ "End date": "End date",
+ "Event": "Event",
+ "Event Name": "Event Name",
+ "Event description": "Event description",
+ "Event end date and time": "Event end date and time",
+ "Event location": "Event location",
+ "Event name": "Event name",
+ "Event start date and time": "Event start date and time",
+ "Events": "Events",
+ "Failed to delete.": "Failed to delete.",
+ "Failed to load skill data": "Failed to load skill data",
+ "Failed to save settings": "Failed to save settings",
+ "Failed to save. Please try again.": "Failed to save. Please try again.",
+ "Faith": "Faith",
+ "Flows are what happens without anyone clicking: a reminder before a deadline passes, a confirmation sent on submission. This is where you read and edit them. Nothing to build now.": "Flows are what happens without anyone clicking: a reminder before a deadline passes, a confirmation sent on submission. This is where you read and edit them. Nothing to build now.",
+ "For a Service Level Agreement (SLA), contact": "For a Service Level Agreement (SLA), contact",
+ "For support, contact us at": "For support, contact us at",
+ "Full name of the player": "Full name of the player",
+ "Game Master Notes (Private)": "Game Master Notes (Private)",
+ "Game Master Notes (Public)": "Game Master Notes (Public)",
+ "Game setup": "Game setup",
+ "General": "General",
+ "Gold": "Gold",
+ "Gold Pieces": "Gold Pieces",
+ "Importing...": "Importing...",
+ "Information about the current Larpinq installation": "Information about the current Larpinq installation",
"Internal": "Internal",
- "Open Register": "Open Register",
- "Yes": "Yes",
+ "Item": "Item",
+ "Item Name": "Item Name",
+ "Items": "Items",
+ "Items and Money": "Items and Money",
+ "Larpinq": "Larpinq",
+ "Larpinq Settings": "Larpinq Settings",
+ "Larpinq settings": "Larpinq settings",
+ "Loading skill data...": "Loading skill data...",
+ "Loading...": "Loading...",
+ "Location": "Location",
+ "Locked": "Locked",
+ "Mechanical Effect": "Mechanical Effect",
+ "Modification": "Modification",
+ "Modifier": "Modifier",
+ "Modifier Value": "Modifier Value",
+ "Name": "Name",
+ "Name of the condition": "Name of the condition",
+ "Name of the effect": "Name of the effect",
+ "Name of the event": "Name of the event",
+ "Name of the item": "Name of the item",
+ "Name of the skill": "Name of the skill",
+ "Name of the stat": "Name of the stat",
+ "New ability": "New ability",
+ "New character": "New character",
+ "New condition": "New condition",
+ "New effect": "New effect",
+ "New event": "New event",
+ "New item": "New item",
+ "New player": "New player",
+ "New skill": "New skill",
+ "Nextcloud user": "Nextcloud user",
"No": "No",
- "Create": "Create",
+ "No character (uncoloured)": "No character (uncoloured)",
"No characters yet": "No characters yet",
+ "No confirmed participants for this event yet.": "No confirmed participants for this event yet.",
"No events yet": "No events yet",
- "View all ({count})": "View all ({count})",
+ "No prerequisites": "No prerequisites",
+ "No skill data available": "No skill data available",
+ "No skills exist yet for the selected world.": "No skills exist yet for the selected setting.",
+ "No skills to show": "No skills to show",
+ "No-show": "No-show",
+ "None — this is a root skill.": "None — this is a root skill.",
+ "Notes about items and money": "Notes about items and money",
+ "Notes about the player": "Notes about the player",
+ "Open Flows in the menu": "Open Flows in the menu",
+ "Open Register": "Open Register",
+ "Open Register is not installed. Some features might be unavailable.": "Open Register is not installed. Some features might be unavailable.",
+ "OpenRegister is not configured. Some features may be limited.": "OpenRegister is not configured. Some features may be limited.",
+ "Other": "Other",
+ "Overridden At": "Overridden At",
+ "Overridden By": "Overridden By",
+ "Override Reason": "Override Reason",
+ "Owned": "Owned",
+ "Owner": "Owner",
+ "Owner UID": "Owner UID",
+ "PDF generation requires the DocuDesk app to be installed and enabled": "PDF generation requires the DocuDesk app to be installed and enabled",
+ "Participating Characters": "Participating Characters",
+ "Player": "Player",
+ "Player Name": "Player Name",
+ "Players": "Players",
+ "Post-Event Effects": "Post-Event Effects",
+ "Prerequisites": "Prerequisites",
+ "Re-import configuration": "Re-import configuration",
+ "Re-import failed": "Re-import failed",
+ "Real name of the player": "Real name of the player",
"Recent characters": "Recent characters",
"Recent events": "Recent events",
- "Skill usage by characters": "Skill usage by characters",
"Refresh dashboard": "Refresh dashboard",
- "Larpinq settings": "Larpinq settings",
- "Configure your Larpinq installation": "Configure your Larpinq installation",
- "Version information": "Version information",
- "Information about the current Larpinq installation": "Information about the current Larpinq installation",
- "Support": "Support",
- "For support, contact us at": "For support, contact us at",
- "For a Service Level Agreement (SLA), contact": "For a Service Level Agreement (SLA), contact",
- "Importing...": "Importing...",
- "Re-import failed": "Re-import failed",
- "Configuration": "Configuration",
- "OpenRegister is not configured. Some features may be limited.": "OpenRegister is not configured. Some features may be limited.",
- "Configure": "Configure",
- "Failed to save. Please try again.": "Failed to save. Please try again.",
- "Failed to delete.": "Failed to delete.",
- "Background": "Background",
- "Save all": "Save All",
- "Unnamed character": "Unnamed Character",
- "Unnamed event": "Unnamed Event",
- "Welcome to Larpinq!": "Welcome to Larpinq!",
- "Configure your Larpinq settings here.": "Configure your Larpinq settings here.",
- "Failed to save settings": "Failed to save settings",
- "General": "General",
- "Larpinq Settings": "Larpinq Settings",
- "Save All": "Save All",
- "Settings saved successfully": "Settings saved successfully",
- "Version Information": "Version Information",
- "Check-in": "Check-in",
- "Attendance": "Attendance",
- "Check in": "Check in",
- "No-show": "No-show",
+ "Register": "Register",
"Registered": "Registered",
- "Checked in": "Checked in",
- "No confirmed participants for this event yet.": "No confirmed participants for this event yet.",
- "Attendance tracking is unavailable — showing the participant list read-only.": "Attendance tracking is unavailable — showing the participant list read-only.",
- "Skill tree": "Skill tree",
- "No character (uncoloured)": "No character (uncoloured)",
- "All worlds": "All settings",
- "Owned": "Owned",
- "Available": "Available",
- "Locked": "Locked",
- "Unknown": "Unknown",
- "No skills to show": "No skills to show",
- "No skills exist yet for the selected world.": "No skills exist yet for the selected setting.",
- "Requires: {list}": "Requires: {list}",
- "No prerequisites": "No prerequisites",
- "Required skills": "Required skills",
+ "Required Conditions": "Required Conditions",
+ "Required Effects": "Required Effects",
+ "Required Score": "Required Score",
+ "Required Skills": "Required Skills",
+ "Required Stats": "Required Stats",
"Required abilities": "Required abilities",
- "(score ≥ {n})": "(score ≥ {n})",
"Required conditions": "Required conditions",
"Required effects": "Required effects",
- "Prerequisites": "Prerequisites",
- "None — this is a root skill.": "None — this is a root skill.",
+ "Required skills": "Required skills",
+ "Requirement Overrides": "Requirement Overrides",
+ "Requires: {list}": "Requires: {list}",
+ "Retry": "Retry",
+ "Save": "Save",
+ "Save All": "Save All",
+ "Save all": "Save All",
+ "Schema": "Schema",
+ "Search": "Search",
+ "Select a template to generate a PDF from this character": "Select a template to generate a PDF from this character",
+ "Setting": "Setting",
+ "Setting Name": "Setting Name",
+ "Settings": "Settings",
+ "Settings saved successfully": "Settings saved successfully",
+ "Silver": "Silver",
+ "Silver Pieces": "Silver Pieces",
+ "Skill": "Skill",
+ "Skill Name": "Skill Name",
+ "Skill tree": "Skill tree",
+ "Skill usage by characters": "Skill usage by characters",
+ "Skills": "Skills",
+ "Source": "Source",
+ "Start Date": "Start Date",
+ "Start date": "Start date",
+ "Starting value for all characters": "Starting value for all characters",
+ "Stat": "Stat",
+ "Status": "Status",
+ "Support": "Support",
+ "System Notice": "System Notice",
+ "Type": "Type",
+ "Unique": "Unique",
+ "Unique Artifact": "Unique Artifact",
+ "Unique Condition": "Unique Condition",
+ "Unknown": "Unknown",
+ "Unnamed character": "Unnamed Character",
+ "Unnamed event": "Unnamed Event",
+ "Value": "Value",
+ "Version Information": "Version Information",
+ "Version information": "Version information",
+ "View all ({count})": "View all ({count})",
+ "Welcome to Larpinq!": "Welcome to Larpinq!",
"Where the automation lives": "Where the automation lives",
- "Flows are what happens without anyone clicking: a reminder before a deadline passes, a confirmation sent on submission. This is where you read and edit them. Nothing to build now.": "Flows are what happens without anyone clicking: a reminder before a deadline passes, a confirmation sent on submission. This is where you read and edit them. Nothing to build now.",
- "Open Flows in the menu": "Open Flows in the menu"
+ "World": "World",
+ "Worlds": "Worlds",
+ "XP Amount": "XP Amount",
+ "XP Award": "XP Award",
+ "Yes": "Yes",
+ "approved": "approved",
+ "characters": "characters",
+ "cumulative": "cumulative",
+ "negative": "negative",
+ "no": "no",
+ "non-cumulative": "non-cumulative",
+ "npc": "npc",
+ "other": "other",
+ "player": "player",
+ "positive": "positive"
},
"plurals": {},
"pluralForm": "nplurals=2; plural=(n != 1);"
diff --git a/l10n/es.js b/l10n/es.js
index 12d2c9be..78745a41 100644
--- a/l10n/es.js
+++ b/l10n/es.js
@@ -152,7 +152,78 @@ OC.L10N.register(
"None — this is a root skill.": "Ninguno — esta es una habilidad raíz.",
"Where the automation lives": "Dónde vive la automatización",
"Flows are what happens without anyone clicking: a reminder before a deadline passes, a confirmation sent on submission. This is where you read and edit them. Nothing to build now.": "Los Flows son lo que ocurre sin que nadie haga clic: un recordatorio antes de que venza un plazo, una confirmación al enviar. Aquí los lees y los editas — no hay nada que construir ahora.",
- "Open Flows in the menu": "Abre Flows en el menú"
+ "Open Flows in the menu": "Abre Flows en el menú",
+ "Ability Name": "Nombre de la aptitud",
+ "Affected Characters": "Personajes afectados",
+ "Amount of copper pieces": "Cantidad de monedas de cobre",
+ "Amount of gold pieces": "Cantidad de monedas de oro",
+ "Amount of silver pieces": "Cantidad de monedas de plata",
+ "Automatic system notices": "Avisos automáticos del sistema",
+ "Award Reason": "Motivo de la concesión",
+ "Awarded At": "Concedido el",
+ "Awarded By": "Concedido por",
+ "Background Story": "Historia de trasfondo",
+ "Base Value": "Valor base",
+ "Character Card": "Ficha de personaje",
+ "Character Name": "Nombre del personaje",
+ "Checked In At": "Entrada registrada el",
+ "Checked In By": "Entrada registrada por",
+ "Condition Name": "Nombre de la condición",
+ "Contact email address": "Dirección de correo de contacto",
+ "Copper Pieces": "Monedas de cobre",
+ "Effect Name": "Nombre del efecto",
+ "End Date": "Fecha de fin",
+ "Event Name": "Nombre del evento",
+ "Event description": "Descripción del evento",
+ "Event end date and time": "Fecha y hora de fin del evento",
+ "Event location": "Ubicación del evento",
+ "Event name": "Nombre del evento",
+ "Event start date and time": "Fecha y hora de inicio del evento",
+ "Faith": "Fe",
+ "Full name of the player": "Nombre completo del jugador",
+ "Game Master Notes (Private)": "Notas del máster (privadas)",
+ "Game Master Notes (Public)": "Notas del máster (públicas)",
+ "Gold Pieces": "Monedas de oro",
+ "Item Name": "Nombre del objeto",
+ "Items and Money": "Objetos y dinero",
+ "Mechanical Effect": "Efecto de juego",
+ "Modifier Value": "Valor del modificador",
+ "Name of the condition": "Nombre de la condición",
+ "Name of the effect": "Nombre del efecto",
+ "Name of the event": "Nombre del evento",
+ "Name of the item": "Nombre del objeto",
+ "Name of the skill": "Nombre de la habilidad",
+ "Name of the stat": "Nombre de la característica",
+ "Nextcloud user": "Usuario de Nextcloud",
+ "Notes about items and money": "Notas sobre objetos y dinero",
+ "Notes about the player": "Notas sobre el jugador",
+ "Overridden At": "Excepción concedida el",
+ "Overridden By": "Excepción concedida por",
+ "Override Reason": "Motivo de la excepción",
+ "Owner": "Propietario",
+ "Owner UID": "UID del propietario",
+ "Participating Characters": "Personajes participantes",
+ "Player Name": "Nombre del jugador",
+ "Post-Event Effects": "Efectos posteriores al evento",
+ "Real name of the player": "Nombre real del jugador",
+ "Required Conditions": "Condiciones requeridas",
+ "Required Effects": "Efectos requeridos",
+ "Required Score": "Valor requerido",
+ "Required Skills": "Habilidades requeridas",
+ "Required Stats": "Características requeridas",
+ "Requirement Overrides": "Excepciones a los requisitos",
+ "Setting Name": "Nombre de la ambientación",
+ "Silver Pieces": "Monedas de plata",
+ "Skill Name": "Nombre de la habilidad",
+ "Start Date": "Fecha de inicio",
+ "Starting value for all characters": "Valor inicial para todos los personajes",
+ "Stat": "Característica",
+ "Status": "Estado",
+ "System Notice": "Aviso del sistema",
+ "Unique Artifact": "Artefacto único",
+ "Unique Condition": "Condición única",
+ "XP Amount": "Cantidad de puntos de experiencia",
+ "XP Award": "Concesión de puntos de experiencia"
},
"nplurals=2; plural=(n != 1);"
)
diff --git a/l10n/es.json b/l10n/es.json
index 68e83fb5..e89279ae 100644
--- a/l10n/es.json
+++ b/l10n/es.json
@@ -151,7 +151,78 @@
"None — this is a root skill.": "Ninguno — esta es una habilidad raíz.",
"Where the automation lives": "Dónde vive la automatización",
"Flows are what happens without anyone clicking: a reminder before a deadline passes, a confirmation sent on submission. This is where you read and edit them. Nothing to build now.": "Los Flows son lo que ocurre sin que nadie haga clic: un recordatorio antes de que venza un plazo, una confirmación al enviar. Aquí los lees y los editas — no hay nada que construir ahora.",
- "Open Flows in the menu": "Abre Flows en el menú"
+ "Open Flows in the menu": "Abre Flows en el menú",
+ "Ability Name": "Nombre de la aptitud",
+ "Affected Characters": "Personajes afectados",
+ "Amount of copper pieces": "Cantidad de monedas de cobre",
+ "Amount of gold pieces": "Cantidad de monedas de oro",
+ "Amount of silver pieces": "Cantidad de monedas de plata",
+ "Automatic system notices": "Avisos automáticos del sistema",
+ "Award Reason": "Motivo de la concesión",
+ "Awarded At": "Concedido el",
+ "Awarded By": "Concedido por",
+ "Background Story": "Historia de trasfondo",
+ "Base Value": "Valor base",
+ "Character Card": "Ficha de personaje",
+ "Character Name": "Nombre del personaje",
+ "Checked In At": "Entrada registrada el",
+ "Checked In By": "Entrada registrada por",
+ "Condition Name": "Nombre de la condición",
+ "Contact email address": "Dirección de correo de contacto",
+ "Copper Pieces": "Monedas de cobre",
+ "Effect Name": "Nombre del efecto",
+ "End Date": "Fecha de fin",
+ "Event Name": "Nombre del evento",
+ "Event description": "Descripción del evento",
+ "Event end date and time": "Fecha y hora de fin del evento",
+ "Event location": "Ubicación del evento",
+ "Event name": "Nombre del evento",
+ "Event start date and time": "Fecha y hora de inicio del evento",
+ "Faith": "Fe",
+ "Full name of the player": "Nombre completo del jugador",
+ "Game Master Notes (Private)": "Notas del máster (privadas)",
+ "Game Master Notes (Public)": "Notas del máster (públicas)",
+ "Gold Pieces": "Monedas de oro",
+ "Item Name": "Nombre del objeto",
+ "Items and Money": "Objetos y dinero",
+ "Mechanical Effect": "Efecto de juego",
+ "Modifier Value": "Valor del modificador",
+ "Name of the condition": "Nombre de la condición",
+ "Name of the effect": "Nombre del efecto",
+ "Name of the event": "Nombre del evento",
+ "Name of the item": "Nombre del objeto",
+ "Name of the skill": "Nombre de la habilidad",
+ "Name of the stat": "Nombre de la característica",
+ "Nextcloud user": "Usuario de Nextcloud",
+ "Notes about items and money": "Notas sobre objetos y dinero",
+ "Notes about the player": "Notas sobre el jugador",
+ "Overridden At": "Excepción concedida el",
+ "Overridden By": "Excepción concedida por",
+ "Override Reason": "Motivo de la excepción",
+ "Owner": "Propietario",
+ "Owner UID": "UID del propietario",
+ "Participating Characters": "Personajes participantes",
+ "Player Name": "Nombre del jugador",
+ "Post-Event Effects": "Efectos posteriores al evento",
+ "Real name of the player": "Nombre real del jugador",
+ "Required Conditions": "Condiciones requeridas",
+ "Required Effects": "Efectos requeridos",
+ "Required Score": "Valor requerido",
+ "Required Skills": "Habilidades requeridas",
+ "Required Stats": "Características requeridas",
+ "Requirement Overrides": "Excepciones a los requisitos",
+ "Setting Name": "Nombre de la ambientación",
+ "Silver Pieces": "Monedas de plata",
+ "Skill Name": "Nombre de la habilidad",
+ "Start Date": "Fecha de inicio",
+ "Starting value for all characters": "Valor inicial para todos los personajes",
+ "Stat": "Característica",
+ "Status": "Estado",
+ "System Notice": "Aviso del sistema",
+ "Unique Artifact": "Artefacto único",
+ "Unique Condition": "Condición única",
+ "XP Amount": "Cantidad de puntos de experiencia",
+ "XP Award": "Concesión de puntos de experiencia"
},
"plurals": {}
}
diff --git a/l10n/et.js b/l10n/et.js
index db1cecde..dba747d4 100644
--- a/l10n/et.js
+++ b/l10n/et.js
@@ -152,7 +152,78 @@ OC.L10N.register(
"None — this is a root skill.": "Puuduvad — see on juuroskus.",
"Where the automation lives": "Kus automaatika elab",
"Flows are what happens without anyone clicking: a reminder before a deadline passes, a confirmation sent on submission. This is where you read and edit them. Nothing to build now.": "Flows on see, mis juhtub ilma et keegi klõpsaks: meeldetuletus enne tähtaja möödumist, kinnitus esitamisel. Siin loed ja muudad neid — praegu pole midagi ehitada.",
- "Open Flows in the menu": "Ava menüüst Flows"
+ "Open Flows in the menu": "Ava menüüst Flows",
+ "Ability Name": "Võime nimi",
+ "Affected Characters": "Mõjutatud tegelased",
+ "Amount of copper pieces": "Vaskmüntide arv",
+ "Amount of gold pieces": "Kuldmüntide arv",
+ "Amount of silver pieces": "Hõbemüntide arv",
+ "Automatic system notices": "Automaatsed süsteemiteated",
+ "Award Reason": "Andmise põhjus",
+ "Awarded At": "Antud",
+ "Awarded By": "Andja",
+ "Background Story": "Taustalugu",
+ "Base Value": "Algväärtus",
+ "Character Card": "Tegelase kaart",
+ "Character Name": "Tegelase nimi",
+ "Checked In At": "Kohalolek registreeritud",
+ "Checked In By": "Kohaloleku registreerija",
+ "Condition Name": "Seisundi nimi",
+ "Contact email address": "Kontakti e-posti aadress",
+ "Copper Pieces": "Vaskmündid",
+ "Effect Name": "Mõju nimi",
+ "End Date": "Lõppkuupäev",
+ "Event Name": "Sündmuse nimi",
+ "Event description": "Sündmuse kirjeldus",
+ "Event end date and time": "Sündmuse lõppkuupäev ja -kellaaeg",
+ "Event location": "Sündmuse toimumiskoht",
+ "Event name": "Sündmuse nimi",
+ "Event start date and time": "Sündmuse alguskuupäev ja -kellaaeg",
+ "Faith": "Usk",
+ "Full name of the player": "Mängija täisnimi",
+ "Game Master Notes (Private)": "Mängujuhi märkmed (privaatsed)",
+ "Game Master Notes (Public)": "Mängujuhi märkmed (avalikud)",
+ "Gold Pieces": "Kuldmündid",
+ "Item Name": "Eseme nimi",
+ "Items and Money": "Esemed ja raha",
+ "Mechanical Effect": "Mängumehaaniline mõju",
+ "Modifier Value": "Modifikaatori väärtus",
+ "Name of the condition": "Seisundi nimi",
+ "Name of the effect": "Mõju nimi",
+ "Name of the event": "Sündmuse nimi",
+ "Name of the item": "Eseme nimi",
+ "Name of the skill": "Oskuse nimi",
+ "Name of the stat": "Omaduse nimi",
+ "Nextcloud user": "Nextcloudi kasutaja",
+ "Notes about items and money": "Märkmed esemete ja raha kohta",
+ "Notes about the player": "Märkmed mängija kohta",
+ "Overridden At": "Erand tehtud",
+ "Overridden By": "Erandi tegija",
+ "Override Reason": "Erandi põhjus",
+ "Owner": "Omanik",
+ "Owner UID": "Omaniku UID",
+ "Participating Characters": "Osalevad tegelased",
+ "Player Name": "Mängija nimi",
+ "Post-Event Effects": "Sündmusejärgsed mõjud",
+ "Real name of the player": "Mängija pärisnimi",
+ "Required Conditions": "Nõutavad seisundid",
+ "Required Effects": "Nõutavad mõjud",
+ "Required Score": "Nõutav väärtus",
+ "Required Skills": "Nõutavad oskused",
+ "Required Stats": "Nõutavad omadused",
+ "Requirement Overrides": "Erandid eeldustest",
+ "Setting Name": "Mängumaailma nimi",
+ "Silver Pieces": "Hõbemündid",
+ "Skill Name": "Oskuse nimi",
+ "Start Date": "Alguskuupäev",
+ "Starting value for all characters": "Algväärtus kõigile tegelastele",
+ "Stat": "Omadus",
+ "Status": "Olek",
+ "System Notice": "Süsteemiteade",
+ "Unique Artifact": "Unikaalne artefakt",
+ "Unique Condition": "Unikaalne seisund",
+ "XP Amount": "Kogemuspunktide arv",
+ "XP Award": "Kogemuspunktide andmine"
},
"nplurals=2; plural=(n != 1);"
)
diff --git a/l10n/et.json b/l10n/et.json
index 027ec9d9..85ca0c4f 100644
--- a/l10n/et.json
+++ b/l10n/et.json
@@ -151,7 +151,78 @@
"None — this is a root skill.": "Puuduvad — see on juuroskus.",
"Where the automation lives": "Kus automaatika elab",
"Flows are what happens without anyone clicking: a reminder before a deadline passes, a confirmation sent on submission. This is where you read and edit them. Nothing to build now.": "Flows on see, mis juhtub ilma et keegi klõpsaks: meeldetuletus enne tähtaja möödumist, kinnitus esitamisel. Siin loed ja muudad neid — praegu pole midagi ehitada.",
- "Open Flows in the menu": "Ava menüüst Flows"
+ "Open Flows in the menu": "Ava menüüst Flows",
+ "Ability Name": "Võime nimi",
+ "Affected Characters": "Mõjutatud tegelased",
+ "Amount of copper pieces": "Vaskmüntide arv",
+ "Amount of gold pieces": "Kuldmüntide arv",
+ "Amount of silver pieces": "Hõbemüntide arv",
+ "Automatic system notices": "Automaatsed süsteemiteated",
+ "Award Reason": "Andmise põhjus",
+ "Awarded At": "Antud",
+ "Awarded By": "Andja",
+ "Background Story": "Taustalugu",
+ "Base Value": "Algväärtus",
+ "Character Card": "Tegelase kaart",
+ "Character Name": "Tegelase nimi",
+ "Checked In At": "Kohalolek registreeritud",
+ "Checked In By": "Kohaloleku registreerija",
+ "Condition Name": "Seisundi nimi",
+ "Contact email address": "Kontakti e-posti aadress",
+ "Copper Pieces": "Vaskmündid",
+ "Effect Name": "Mõju nimi",
+ "End Date": "Lõppkuupäev",
+ "Event Name": "Sündmuse nimi",
+ "Event description": "Sündmuse kirjeldus",
+ "Event end date and time": "Sündmuse lõppkuupäev ja -kellaaeg",
+ "Event location": "Sündmuse toimumiskoht",
+ "Event name": "Sündmuse nimi",
+ "Event start date and time": "Sündmuse alguskuupäev ja -kellaaeg",
+ "Faith": "Usk",
+ "Full name of the player": "Mängija täisnimi",
+ "Game Master Notes (Private)": "Mängujuhi märkmed (privaatsed)",
+ "Game Master Notes (Public)": "Mängujuhi märkmed (avalikud)",
+ "Gold Pieces": "Kuldmündid",
+ "Item Name": "Eseme nimi",
+ "Items and Money": "Esemed ja raha",
+ "Mechanical Effect": "Mängumehaaniline mõju",
+ "Modifier Value": "Modifikaatori väärtus",
+ "Name of the condition": "Seisundi nimi",
+ "Name of the effect": "Mõju nimi",
+ "Name of the event": "Sündmuse nimi",
+ "Name of the item": "Eseme nimi",
+ "Name of the skill": "Oskuse nimi",
+ "Name of the stat": "Omaduse nimi",
+ "Nextcloud user": "Nextcloudi kasutaja",
+ "Notes about items and money": "Märkmed esemete ja raha kohta",
+ "Notes about the player": "Märkmed mängija kohta",
+ "Overridden At": "Erand tehtud",
+ "Overridden By": "Erandi tegija",
+ "Override Reason": "Erandi põhjus",
+ "Owner": "Omanik",
+ "Owner UID": "Omaniku UID",
+ "Participating Characters": "Osalevad tegelased",
+ "Player Name": "Mängija nimi",
+ "Post-Event Effects": "Sündmusejärgsed mõjud",
+ "Real name of the player": "Mängija pärisnimi",
+ "Required Conditions": "Nõutavad seisundid",
+ "Required Effects": "Nõutavad mõjud",
+ "Required Score": "Nõutav väärtus",
+ "Required Skills": "Nõutavad oskused",
+ "Required Stats": "Nõutavad omadused",
+ "Requirement Overrides": "Erandid eeldustest",
+ "Setting Name": "Mängumaailma nimi",
+ "Silver Pieces": "Hõbemündid",
+ "Skill Name": "Oskuse nimi",
+ "Start Date": "Alguskuupäev",
+ "Starting value for all characters": "Algväärtus kõigile tegelastele",
+ "Stat": "Omadus",
+ "Status": "Olek",
+ "System Notice": "Süsteemiteade",
+ "Unique Artifact": "Unikaalne artefakt",
+ "Unique Condition": "Unikaalne seisund",
+ "XP Amount": "Kogemuspunktide arv",
+ "XP Award": "Kogemuspunktide andmine"
},
"plurals": {}
}
diff --git a/l10n/fi.js b/l10n/fi.js
index 4cc0d638..ebc84f5b 100644
--- a/l10n/fi.js
+++ b/l10n/fi.js
@@ -152,7 +152,78 @@ OC.L10N.register(
"None — this is a root skill.": "Ei mitään — tämä on juuritaito.",
"Where the automation lives": "Missä automaatio asuu",
"Flows are what happens without anyone clicking: a reminder before a deadline passes, a confirmation sent on submission. This is where you read and edit them. Nothing to build now.": "Flows on se, mikä tapahtuu ilman että kukaan klikkaa: muistutus ennen määräajan umpeutumista, vahvistus lähetettäessä. Täällä luet ja muokkaat niitä — nyt ei tarvitse rakentaa mitään.",
- "Open Flows in the menu": "Avaa Flows valikosta"
+ "Open Flows in the menu": "Avaa Flows valikosta",
+ "Ability Name": "Kyvyn nimi",
+ "Affected Characters": "Vaikutuksen kohteena olevat hahmot",
+ "Amount of copper pieces": "Kuparikolikoiden määrä",
+ "Amount of gold pieces": "Kultakolikoiden määrä",
+ "Amount of silver pieces": "Hopeakolikoiden määrä",
+ "Automatic system notices": "Automaattiset järjestelmäilmoitukset",
+ "Award Reason": "Myöntämisen syy",
+ "Awarded At": "Myönnetty",
+ "Awarded By": "Myöntäjä",
+ "Background Story": "Taustatarina",
+ "Base Value": "Perusarvo",
+ "Character Card": "Hahmokortti",
+ "Character Name": "Hahmon nimi",
+ "Checked In At": "Saapuminen kirjattu",
+ "Checked In By": "Saapumisen kirjaaja",
+ "Condition Name": "Tilan nimi",
+ "Contact email address": "Yhteydenoton sähköpostiosoite",
+ "Copper Pieces": "Kuparikolikot",
+ "Effect Name": "Vaikutuksen nimi",
+ "End Date": "Päättymispäivä",
+ "Event Name": "Tapahtuman nimi",
+ "Event description": "Tapahtuman kuvaus",
+ "Event end date and time": "Tapahtuman päättymispäivä ja -aika",
+ "Event location": "Tapahtuman paikka",
+ "Event name": "Tapahtuman nimi",
+ "Event start date and time": "Tapahtuman alkamispäivä ja -aika",
+ "Faith": "Usko",
+ "Full name of the player": "Pelaajan koko nimi",
+ "Game Master Notes (Private)": "Pelinjohtajan muistiinpanot (yksityiset)",
+ "Game Master Notes (Public)": "Pelinjohtajan muistiinpanot (julkiset)",
+ "Gold Pieces": "Kultakolikot",
+ "Item Name": "Esineen nimi",
+ "Items and Money": "Esineet ja raha",
+ "Mechanical Effect": "Pelimekaaninen vaikutus",
+ "Modifier Value": "Muokkaajan arvo",
+ "Name of the condition": "Tilan nimi",
+ "Name of the effect": "Vaikutuksen nimi",
+ "Name of the event": "Tapahtuman nimi",
+ "Name of the item": "Esineen nimi",
+ "Name of the skill": "Taidon nimi",
+ "Name of the stat": "Ominaisuuden nimi",
+ "Nextcloud user": "Nextcloud-käyttäjä",
+ "Notes about items and money": "Muistiinpanot esineistä ja rahasta",
+ "Notes about the player": "Muistiinpanot pelaajasta",
+ "Overridden At": "Poikkeus myönnetty",
+ "Overridden By": "Poikkeuksen myöntäjä",
+ "Override Reason": "Poikkeuksen syy",
+ "Owner": "Omistaja",
+ "Owner UID": "Omistajan UID",
+ "Participating Characters": "Osallistuvat hahmot",
+ "Player Name": "Pelaajan nimi",
+ "Post-Event Effects": "Tapahtuman jälkeiset vaikutukset",
+ "Real name of the player": "Pelaajan oikea nimi",
+ "Required Conditions": "Vaaditut tilat",
+ "Required Effects": "Vaaditut vaikutukset",
+ "Required Score": "Vaadittu arvo",
+ "Required Skills": "Vaaditut taidot",
+ "Required Stats": "Vaaditut ominaisuudet",
+ "Requirement Overrides": "Poikkeukset esivaatimuksista",
+ "Setting Name": "Pelimaailman nimi",
+ "Silver Pieces": "Hopeakolikot",
+ "Skill Name": "Taidon nimi",
+ "Start Date": "Alkamispäivä",
+ "Starting value for all characters": "Aloitusarvo kaikille hahmoille",
+ "Stat": "Ominaisuus",
+ "Status": "Status",
+ "System Notice": "Järjestelmäilmoitus",
+ "Unique Artifact": "Ainutlaatuinen artefakti",
+ "Unique Condition": "Ainutlaatuinen tila",
+ "XP Amount": "Kokemuspisteiden määrä",
+ "XP Award": "Kokemuspisteiden myöntäminen"
},
"nplurals=2; plural=(n != 1);"
)
diff --git a/l10n/fi.json b/l10n/fi.json
index 2b92beef..6fbf04e6 100644
--- a/l10n/fi.json
+++ b/l10n/fi.json
@@ -151,7 +151,78 @@
"None — this is a root skill.": "Ei mitään — tämä on juuritaito.",
"Where the automation lives": "Missä automaatio asuu",
"Flows are what happens without anyone clicking: a reminder before a deadline passes, a confirmation sent on submission. This is where you read and edit them. Nothing to build now.": "Flows on se, mikä tapahtuu ilman että kukaan klikkaa: muistutus ennen määräajan umpeutumista, vahvistus lähetettäessä. Täällä luet ja muokkaat niitä — nyt ei tarvitse rakentaa mitään.",
- "Open Flows in the menu": "Avaa Flows valikosta"
+ "Open Flows in the menu": "Avaa Flows valikosta",
+ "Ability Name": "Kyvyn nimi",
+ "Affected Characters": "Vaikutuksen kohteena olevat hahmot",
+ "Amount of copper pieces": "Kuparikolikoiden määrä",
+ "Amount of gold pieces": "Kultakolikoiden määrä",
+ "Amount of silver pieces": "Hopeakolikoiden määrä",
+ "Automatic system notices": "Automaattiset järjestelmäilmoitukset",
+ "Award Reason": "Myöntämisen syy",
+ "Awarded At": "Myönnetty",
+ "Awarded By": "Myöntäjä",
+ "Background Story": "Taustatarina",
+ "Base Value": "Perusarvo",
+ "Character Card": "Hahmokortti",
+ "Character Name": "Hahmon nimi",
+ "Checked In At": "Saapuminen kirjattu",
+ "Checked In By": "Saapumisen kirjaaja",
+ "Condition Name": "Tilan nimi",
+ "Contact email address": "Yhteydenoton sähköpostiosoite",
+ "Copper Pieces": "Kuparikolikot",
+ "Effect Name": "Vaikutuksen nimi",
+ "End Date": "Päättymispäivä",
+ "Event Name": "Tapahtuman nimi",
+ "Event description": "Tapahtuman kuvaus",
+ "Event end date and time": "Tapahtuman päättymispäivä ja -aika",
+ "Event location": "Tapahtuman paikka",
+ "Event name": "Tapahtuman nimi",
+ "Event start date and time": "Tapahtuman alkamispäivä ja -aika",
+ "Faith": "Usko",
+ "Full name of the player": "Pelaajan koko nimi",
+ "Game Master Notes (Private)": "Pelinjohtajan muistiinpanot (yksityiset)",
+ "Game Master Notes (Public)": "Pelinjohtajan muistiinpanot (julkiset)",
+ "Gold Pieces": "Kultakolikot",
+ "Item Name": "Esineen nimi",
+ "Items and Money": "Esineet ja raha",
+ "Mechanical Effect": "Pelimekaaninen vaikutus",
+ "Modifier Value": "Muokkaajan arvo",
+ "Name of the condition": "Tilan nimi",
+ "Name of the effect": "Vaikutuksen nimi",
+ "Name of the event": "Tapahtuman nimi",
+ "Name of the item": "Esineen nimi",
+ "Name of the skill": "Taidon nimi",
+ "Name of the stat": "Ominaisuuden nimi",
+ "Nextcloud user": "Nextcloud-käyttäjä",
+ "Notes about items and money": "Muistiinpanot esineistä ja rahasta",
+ "Notes about the player": "Muistiinpanot pelaajasta",
+ "Overridden At": "Poikkeus myönnetty",
+ "Overridden By": "Poikkeuksen myöntäjä",
+ "Override Reason": "Poikkeuksen syy",
+ "Owner": "Omistaja",
+ "Owner UID": "Omistajan UID",
+ "Participating Characters": "Osallistuvat hahmot",
+ "Player Name": "Pelaajan nimi",
+ "Post-Event Effects": "Tapahtuman jälkeiset vaikutukset",
+ "Real name of the player": "Pelaajan oikea nimi",
+ "Required Conditions": "Vaaditut tilat",
+ "Required Effects": "Vaaditut vaikutukset",
+ "Required Score": "Vaadittu arvo",
+ "Required Skills": "Vaaditut taidot",
+ "Required Stats": "Vaaditut ominaisuudet",
+ "Requirement Overrides": "Poikkeukset esivaatimuksista",
+ "Setting Name": "Pelimaailman nimi",
+ "Silver Pieces": "Hopeakolikot",
+ "Skill Name": "Taidon nimi",
+ "Start Date": "Alkamispäivä",
+ "Starting value for all characters": "Aloitusarvo kaikille hahmoille",
+ "Stat": "Ominaisuus",
+ "Status": "Status",
+ "System Notice": "Järjestelmäilmoitus",
+ "Unique Artifact": "Ainutlaatuinen artefakti",
+ "Unique Condition": "Ainutlaatuinen tila",
+ "XP Amount": "Kokemuspisteiden määrä",
+ "XP Award": "Kokemuspisteiden myöntäminen"
},
"plurals": {}
}
diff --git a/l10n/fr.js b/l10n/fr.js
index d06f9d76..14f8ac12 100644
--- a/l10n/fr.js
+++ b/l10n/fr.js
@@ -152,7 +152,78 @@ OC.L10N.register(
"None — this is a root skill.": "Aucun — il s'agit d'une compétence racine.",
"Where the automation lives": "Où vit l'automatisation",
"Flows are what happens without anyone clicking: a reminder before a deadline passes, a confirmation sent on submission. This is where you read and edit them. Nothing to build now.": "Les Flows sont ce qui se passe sans que personne ne clique : un rappel avant l'échéance d'un délai, une confirmation envoyée à la soumission. C'est ici que vous les lisez et les modifiez — rien à construire maintenant.",
- "Open Flows in the menu": "Ouvrez Flows dans le menu"
+ "Open Flows in the menu": "Ouvrez Flows dans le menu",
+ "Ability Name": "Nom de l'aptitude",
+ "Affected Characters": "Personnages concernés",
+ "Amount of copper pieces": "Nombre de pièces de cuivre",
+ "Amount of gold pieces": "Nombre de pièces d'or",
+ "Amount of silver pieces": "Nombre de pièces d'argent",
+ "Automatic system notices": "Avis système automatiques",
+ "Award Reason": "Motif de l'attribution",
+ "Awarded At": "Attribué le",
+ "Awarded By": "Attribué par",
+ "Background Story": "Historique du personnage",
+ "Base Value": "Valeur de base",
+ "Character Card": "Fiche de personnage",
+ "Character Name": "Nom du personnage",
+ "Checked In At": "Arrivée enregistrée le",
+ "Checked In By": "Arrivée enregistrée par",
+ "Condition Name": "Nom de la condition",
+ "Contact email address": "Adresse e-mail de contact",
+ "Copper Pieces": "Pièces de cuivre",
+ "Effect Name": "Nom de l'effet",
+ "End Date": "Date de fin",
+ "Event Name": "Nom de l'événement",
+ "Event description": "Description de l'événement",
+ "Event end date and time": "Date et heure de fin de l'événement",
+ "Event location": "Lieu de l'événement",
+ "Event name": "Nom de l'événement",
+ "Event start date and time": "Date et heure de début de l'événement",
+ "Faith": "Foi",
+ "Full name of the player": "Nom complet du joueur",
+ "Game Master Notes (Private)": "Notes du maître de jeu (privées)",
+ "Game Master Notes (Public)": "Notes du maître de jeu (publiques)",
+ "Gold Pieces": "Pièces d'or",
+ "Item Name": "Nom de l'objet",
+ "Items and Money": "Objets et argent",
+ "Mechanical Effect": "Effet de jeu",
+ "Modifier Value": "Valeur du modificateur",
+ "Name of the condition": "Nom de la condition",
+ "Name of the effect": "Nom de l'effet",
+ "Name of the event": "Nom de l'événement",
+ "Name of the item": "Nom de l'objet",
+ "Name of the skill": "Nom de la compétence",
+ "Name of the stat": "Nom de la caractéristique",
+ "Nextcloud user": "Utilisateur Nextcloud",
+ "Notes about items and money": "Notes sur les objets et l'argent",
+ "Notes about the player": "Notes sur le joueur",
+ "Overridden At": "Dérogation accordée le",
+ "Overridden By": "Dérogation accordée par",
+ "Override Reason": "Motif de la dérogation",
+ "Owner": "Propriétaire",
+ "Owner UID": "UID du propriétaire",
+ "Participating Characters": "Personnages participants",
+ "Player Name": "Nom du joueur",
+ "Post-Event Effects": "Effets après l'événement",
+ "Real name of the player": "Nom réel du joueur",
+ "Required Conditions": "Conditions requises",
+ "Required Effects": "Effets requis",
+ "Required Score": "Valeur requise",
+ "Required Skills": "Compétences requises",
+ "Required Stats": "Caractéristiques requises",
+ "Requirement Overrides": "Dérogations aux prérequis",
+ "Setting Name": "Nom de l'univers",
+ "Silver Pieces": "Pièces d'argent",
+ "Skill Name": "Nom de la compétence",
+ "Start Date": "Date de début",
+ "Starting value for all characters": "Valeur de départ pour tous les personnages",
+ "Stat": "Caractéristique",
+ "Status": "Statut",
+ "System Notice": "Avis système",
+ "Unique Artifact": "Artefact unique",
+ "Unique Condition": "Condition unique",
+ "XP Amount": "Nombre de points d'expérience",
+ "XP Award": "Attribution de points d'expérience"
},
"nplurals=2; plural=(n != 1);"
)
diff --git a/l10n/fr.json b/l10n/fr.json
index e00d1117..03e8bddc 100644
--- a/l10n/fr.json
+++ b/l10n/fr.json
@@ -151,7 +151,78 @@
"None — this is a root skill.": "Aucun — il s'agit d'une compétence racine.",
"Where the automation lives": "Où vit l'automatisation",
"Flows are what happens without anyone clicking: a reminder before a deadline passes, a confirmation sent on submission. This is where you read and edit them. Nothing to build now.": "Les Flows sont ce qui se passe sans que personne ne clique : un rappel avant l'échéance d'un délai, une confirmation envoyée à la soumission. C'est ici que vous les lisez et les modifiez — rien à construire maintenant.",
- "Open Flows in the menu": "Ouvrez Flows dans le menu"
+ "Open Flows in the menu": "Ouvrez Flows dans le menu",
+ "Ability Name": "Nom de l'aptitude",
+ "Affected Characters": "Personnages concernés",
+ "Amount of copper pieces": "Nombre de pièces de cuivre",
+ "Amount of gold pieces": "Nombre de pièces d'or",
+ "Amount of silver pieces": "Nombre de pièces d'argent",
+ "Automatic system notices": "Avis système automatiques",
+ "Award Reason": "Motif de l'attribution",
+ "Awarded At": "Attribué le",
+ "Awarded By": "Attribué par",
+ "Background Story": "Historique du personnage",
+ "Base Value": "Valeur de base",
+ "Character Card": "Fiche de personnage",
+ "Character Name": "Nom du personnage",
+ "Checked In At": "Arrivée enregistrée le",
+ "Checked In By": "Arrivée enregistrée par",
+ "Condition Name": "Nom de la condition",
+ "Contact email address": "Adresse e-mail de contact",
+ "Copper Pieces": "Pièces de cuivre",
+ "Effect Name": "Nom de l'effet",
+ "End Date": "Date de fin",
+ "Event Name": "Nom de l'événement",
+ "Event description": "Description de l'événement",
+ "Event end date and time": "Date et heure de fin de l'événement",
+ "Event location": "Lieu de l'événement",
+ "Event name": "Nom de l'événement",
+ "Event start date and time": "Date et heure de début de l'événement",
+ "Faith": "Foi",
+ "Full name of the player": "Nom complet du joueur",
+ "Game Master Notes (Private)": "Notes du maître de jeu (privées)",
+ "Game Master Notes (Public)": "Notes du maître de jeu (publiques)",
+ "Gold Pieces": "Pièces d'or",
+ "Item Name": "Nom de l'objet",
+ "Items and Money": "Objets et argent",
+ "Mechanical Effect": "Effet de jeu",
+ "Modifier Value": "Valeur du modificateur",
+ "Name of the condition": "Nom de la condition",
+ "Name of the effect": "Nom de l'effet",
+ "Name of the event": "Nom de l'événement",
+ "Name of the item": "Nom de l'objet",
+ "Name of the skill": "Nom de la compétence",
+ "Name of the stat": "Nom de la caractéristique",
+ "Nextcloud user": "Utilisateur Nextcloud",
+ "Notes about items and money": "Notes sur les objets et l'argent",
+ "Notes about the player": "Notes sur le joueur",
+ "Overridden At": "Dérogation accordée le",
+ "Overridden By": "Dérogation accordée par",
+ "Override Reason": "Motif de la dérogation",
+ "Owner": "Propriétaire",
+ "Owner UID": "UID du propriétaire",
+ "Participating Characters": "Personnages participants",
+ "Player Name": "Nom du joueur",
+ "Post-Event Effects": "Effets après l'événement",
+ "Real name of the player": "Nom réel du joueur",
+ "Required Conditions": "Conditions requises",
+ "Required Effects": "Effets requis",
+ "Required Score": "Valeur requise",
+ "Required Skills": "Compétences requises",
+ "Required Stats": "Caractéristiques requises",
+ "Requirement Overrides": "Dérogations aux prérequis",
+ "Setting Name": "Nom de l'univers",
+ "Silver Pieces": "Pièces d'argent",
+ "Skill Name": "Nom de la compétence",
+ "Start Date": "Date de début",
+ "Starting value for all characters": "Valeur de départ pour tous les personnages",
+ "Stat": "Caractéristique",
+ "Status": "Statut",
+ "System Notice": "Avis système",
+ "Unique Artifact": "Artefact unique",
+ "Unique Condition": "Condition unique",
+ "XP Amount": "Nombre de points d'expérience",
+ "XP Award": "Attribution de points d'expérience"
},
"plurals": {}
}
diff --git a/l10n/ga.js b/l10n/ga.js
index 744ebbf6..dee2a767 100644
--- a/l10n/ga.js
+++ b/l10n/ga.js
@@ -152,7 +152,78 @@ OC.L10N.register(
"None — this is a root skill.": "Ceann ar bith — is bunscil í seo.",
"Where the automation lives": "An áit a maireann an uathoibriú",
"Flows are what happens without anyone clicking: a reminder before a deadline passes, a confirmation sent on submission. This is where you read and edit them. Nothing to build now.": "Is éard is Flows ann ná an rud a tharlaíonn gan aon duine a chliceáil: meabhrúchán sula rachaidh spriocdháta in éag, deimhniú ar aighneacht. Is anseo a léann tú agus a chuireann tú in eagar iad — níl aon rud le tógáil anois.",
- "Open Flows in the menu": "Oscail Flows sa roghchlár"
+ "Open Flows in the menu": "Oscail Flows sa roghchlár",
+ "Ability Name": "Ainm an chumais",
+ "Affected Characters": "Carachtair a bhfuil tionchar orthu",
+ "Amount of copper pieces": "Líon na mbonn copair",
+ "Amount of gold pieces": "Líon na mbonn óir",
+ "Amount of silver pieces": "Líon na mbonn airgid",
+ "Automatic system notices": "Fógraí uathoibríocha córais",
+ "Award Reason": "Cúis leis an mbronnadh",
+ "Awarded At": "Bronnta ar",
+ "Awarded By": "Bronnta ag",
+ "Background Story": "Scéal cúlra",
+ "Base Value": "Bunluach",
+ "Character Card": "Cárta an charachtair",
+ "Character Name": "Ainm an charachtair",
+ "Checked In At": "Clárú isteach ar",
+ "Checked In By": "Cláraithe isteach ag",
+ "Condition Name": "Ainm an choinníll",
+ "Contact email address": "Seoladh ríomhphoist teagmhála",
+ "Copper Pieces": "Boinn chopair",
+ "Effect Name": "Ainm na héifeachta",
+ "End Date": "Dáta deiridh",
+ "Event Name": "Ainm an imeachta",
+ "Event description": "Cur síos ar an imeacht",
+ "Event end date and time": "Dáta agus am deiridh an imeachta",
+ "Event location": "Suíomh an imeachta",
+ "Event name": "Ainm an imeachta",
+ "Event start date and time": "Dáta agus am tosaigh an imeachta",
+ "Faith": "Creideamh",
+ "Full name of the player": "Ainm iomlán an imreora",
+ "Game Master Notes (Private)": "Nótaí an mháistir cluiche (príobháideach)",
+ "Game Master Notes (Public)": "Nótaí an mháistir cluiche (poiblí)",
+ "Gold Pieces": "Boinn óir",
+ "Item Name": "Ainm na míre",
+ "Items and Money": "Míreanna agus airgead",
+ "Mechanical Effect": "Éifeacht sa chluiche",
+ "Modifier Value": "Luach an mhionathraitheora",
+ "Name of the condition": "Ainm an choinníll",
+ "Name of the effect": "Ainm na héifeachta",
+ "Name of the event": "Ainm an imeachta",
+ "Name of the item": "Ainm na míre",
+ "Name of the skill": "Ainm na scile",
+ "Name of the stat": "Ainm na tréithe",
+ "Nextcloud user": "Úsáideoir Nextcloud",
+ "Notes about items and money": "Nótaí faoi mhíreanna agus airgead",
+ "Notes about the player": "Nótaí faoin imreoir",
+ "Overridden At": "Sáraíodh ar",
+ "Overridden By": "Sáraithe ag",
+ "Override Reason": "Cúis leis an sárú",
+ "Owner": "Úinéir",
+ "Owner UID": "UID an úinéara",
+ "Participating Characters": "Carachtair rannpháirteacha",
+ "Player Name": "Ainm an imreora",
+ "Post-Event Effects": "Éifeachtaí i ndiaidh an imeachta",
+ "Real name of the player": "Fíorainm an imreora",
+ "Required Conditions": "Coinníollacha riachtanacha",
+ "Required Effects": "Éifeachtaí riachtanacha",
+ "Required Score": "Luach riachtanach",
+ "Required Skills": "Scileanna riachtanacha",
+ "Required Stats": "Tréithe riachtanacha",
+ "Requirement Overrides": "Sáruithe ar na réamhriachtanais",
+ "Setting Name": "Ainm shaol an chluiche",
+ "Silver Pieces": "Boinn airgid",
+ "Skill Name": "Ainm na scile",
+ "Start Date": "Dáta tosaigh",
+ "Starting value for all characters": "Luach tosaigh do gach carachtar",
+ "Stat": "Tréith",
+ "Status": "Stádas",
+ "System Notice": "Fógra córais",
+ "Unique Artifact": "Déantán uathúil",
+ "Unique Condition": "Coinníoll uathúil",
+ "XP Amount": "Líon na bpointí taithí",
+ "XP Award": "Bronnadh pointí taithí"
},
"nplurals=2; plural=(n != 1);"
)
diff --git a/l10n/ga.json b/l10n/ga.json
index a139d111..41890fd4 100644
--- a/l10n/ga.json
+++ b/l10n/ga.json
@@ -151,7 +151,78 @@
"None — this is a root skill.": "Ceann ar bith — is bunscil í seo.",
"Where the automation lives": "An áit a maireann an uathoibriú",
"Flows are what happens without anyone clicking: a reminder before a deadline passes, a confirmation sent on submission. This is where you read and edit them. Nothing to build now.": "Is éard is Flows ann ná an rud a tharlaíonn gan aon duine a chliceáil: meabhrúchán sula rachaidh spriocdháta in éag, deimhniú ar aighneacht. Is anseo a léann tú agus a chuireann tú in eagar iad — níl aon rud le tógáil anois.",
- "Open Flows in the menu": "Oscail Flows sa roghchlár"
+ "Open Flows in the menu": "Oscail Flows sa roghchlár",
+ "Ability Name": "Ainm an chumais",
+ "Affected Characters": "Carachtair a bhfuil tionchar orthu",
+ "Amount of copper pieces": "Líon na mbonn copair",
+ "Amount of gold pieces": "Líon na mbonn óir",
+ "Amount of silver pieces": "Líon na mbonn airgid",
+ "Automatic system notices": "Fógraí uathoibríocha córais",
+ "Award Reason": "Cúis leis an mbronnadh",
+ "Awarded At": "Bronnta ar",
+ "Awarded By": "Bronnta ag",
+ "Background Story": "Scéal cúlra",
+ "Base Value": "Bunluach",
+ "Character Card": "Cárta an charachtair",
+ "Character Name": "Ainm an charachtair",
+ "Checked In At": "Clárú isteach ar",
+ "Checked In By": "Cláraithe isteach ag",
+ "Condition Name": "Ainm an choinníll",
+ "Contact email address": "Seoladh ríomhphoist teagmhála",
+ "Copper Pieces": "Boinn chopair",
+ "Effect Name": "Ainm na héifeachta",
+ "End Date": "Dáta deiridh",
+ "Event Name": "Ainm an imeachta",
+ "Event description": "Cur síos ar an imeacht",
+ "Event end date and time": "Dáta agus am deiridh an imeachta",
+ "Event location": "Suíomh an imeachta",
+ "Event name": "Ainm an imeachta",
+ "Event start date and time": "Dáta agus am tosaigh an imeachta",
+ "Faith": "Creideamh",
+ "Full name of the player": "Ainm iomlán an imreora",
+ "Game Master Notes (Private)": "Nótaí an mháistir cluiche (príobháideach)",
+ "Game Master Notes (Public)": "Nótaí an mháistir cluiche (poiblí)",
+ "Gold Pieces": "Boinn óir",
+ "Item Name": "Ainm na míre",
+ "Items and Money": "Míreanna agus airgead",
+ "Mechanical Effect": "Éifeacht sa chluiche",
+ "Modifier Value": "Luach an mhionathraitheora",
+ "Name of the condition": "Ainm an choinníll",
+ "Name of the effect": "Ainm na héifeachta",
+ "Name of the event": "Ainm an imeachta",
+ "Name of the item": "Ainm na míre",
+ "Name of the skill": "Ainm na scile",
+ "Name of the stat": "Ainm na tréithe",
+ "Nextcloud user": "Úsáideoir Nextcloud",
+ "Notes about items and money": "Nótaí faoi mhíreanna agus airgead",
+ "Notes about the player": "Nótaí faoin imreoir",
+ "Overridden At": "Sáraíodh ar",
+ "Overridden By": "Sáraithe ag",
+ "Override Reason": "Cúis leis an sárú",
+ "Owner": "Úinéir",
+ "Owner UID": "UID an úinéara",
+ "Participating Characters": "Carachtair rannpháirteacha",
+ "Player Name": "Ainm an imreora",
+ "Post-Event Effects": "Éifeachtaí i ndiaidh an imeachta",
+ "Real name of the player": "Fíorainm an imreora",
+ "Required Conditions": "Coinníollacha riachtanacha",
+ "Required Effects": "Éifeachtaí riachtanacha",
+ "Required Score": "Luach riachtanach",
+ "Required Skills": "Scileanna riachtanacha",
+ "Required Stats": "Tréithe riachtanacha",
+ "Requirement Overrides": "Sáruithe ar na réamhriachtanais",
+ "Setting Name": "Ainm shaol an chluiche",
+ "Silver Pieces": "Boinn airgid",
+ "Skill Name": "Ainm na scile",
+ "Start Date": "Dáta tosaigh",
+ "Starting value for all characters": "Luach tosaigh do gach carachtar",
+ "Stat": "Tréith",
+ "Status": "Stádas",
+ "System Notice": "Fógra córais",
+ "Unique Artifact": "Déantán uathúil",
+ "Unique Condition": "Coinníoll uathúil",
+ "XP Amount": "Líon na bpointí taithí",
+ "XP Award": "Bronnadh pointí taithí"
},
"plurals": {}
}
diff --git a/l10n/hr.js b/l10n/hr.js
index 239c0a0a..02b48763 100644
--- a/l10n/hr.js
+++ b/l10n/hr.js
@@ -152,7 +152,78 @@ OC.L10N.register(
"None — this is a root skill.": "Nema — ovo je korijenska vještina.",
"Where the automation lives": "Gdje živi automatizacija",
"Flows are what happens without anyone clicking: a reminder before a deadline passes, a confirmation sent on submission. This is where you read and edit them. Nothing to build now.": "Flows je ono što se događa bez ičijeg klika: podsjetnik prije isteka roka, potvrda pri predaji. Ovdje ih čitaš i uređuješ — sada nema što graditi.",
- "Open Flows in the menu": "Otvori Flows u izborniku"
+ "Open Flows in the menu": "Otvori Flows u izborniku",
+ "Ability Name": "Naziv sposobnosti",
+ "Affected Characters": "Zahvaćeni likovi",
+ "Amount of copper pieces": "Broj bakrenih novčića",
+ "Amount of gold pieces": "Broj zlatnih novčića",
+ "Amount of silver pieces": "Broj srebrnih novčića",
+ "Automatic system notices": "Automatske obavijesti sustava",
+ "Award Reason": "Razlog dodjele",
+ "Awarded At": "Dodijeljeno",
+ "Awarded By": "Dodijelio",
+ "Background Story": "Pozadinska priča",
+ "Base Value": "Osnovna vrijednost",
+ "Character Card": "Kartica lika",
+ "Character Name": "Ime lika",
+ "Checked In At": "Dolazak zabilježen",
+ "Checked In By": "Dolazak zabilježio",
+ "Condition Name": "Naziv stanja",
+ "Contact email address": "Kontaktna adresa e-pošte",
+ "Copper Pieces": "Bakreni novčići",
+ "Effect Name": "Naziv učinka",
+ "End Date": "Datum završetka",
+ "Event Name": "Naziv događaja",
+ "Event description": "Opis događaja",
+ "Event end date and time": "Datum i vrijeme završetka događaja",
+ "Event location": "Mjesto događaja",
+ "Event name": "Naziv događaja",
+ "Event start date and time": "Datum i vrijeme početka događaja",
+ "Faith": "Vjera",
+ "Full name of the player": "Puno ime igrača",
+ "Game Master Notes (Private)": "Bilješke voditelja igre (privatne)",
+ "Game Master Notes (Public)": "Bilješke voditelja igre (javne)",
+ "Gold Pieces": "Zlatni novčići",
+ "Item Name": "Naziv predmeta",
+ "Items and Money": "Predmeti i novac",
+ "Mechanical Effect": "Učinak u igri",
+ "Modifier Value": "Vrijednost modifikatora",
+ "Name of the condition": "Naziv stanja",
+ "Name of the effect": "Naziv učinka",
+ "Name of the event": "Naziv događaja",
+ "Name of the item": "Naziv predmeta",
+ "Name of the skill": "Naziv vještine",
+ "Name of the stat": "Naziv svojstva",
+ "Nextcloud user": "Nextcloud korisnik",
+ "Notes about items and money": "Bilješke o predmetima i novcu",
+ "Notes about the player": "Bilješke o igraču",
+ "Overridden At": "Iznimka odobrena",
+ "Overridden By": "Iznimku odobrio",
+ "Override Reason": "Razlog iznimke",
+ "Owner": "Vlasnik",
+ "Owner UID": "UID vlasnika",
+ "Participating Characters": "Sudjelujući likovi",
+ "Player Name": "Ime igrača",
+ "Post-Event Effects": "Učinci nakon događaja",
+ "Real name of the player": "Pravo ime igrača",
+ "Required Conditions": "Potrebna stanja",
+ "Required Effects": "Potrebni učinci",
+ "Required Score": "Potrebna vrijednost",
+ "Required Skills": "Potrebne vještine",
+ "Required Stats": "Potrebna svojstva",
+ "Requirement Overrides": "Iznimke od preduvjeta",
+ "Setting Name": "Naziv svijeta igre",
+ "Silver Pieces": "Srebrni novčići",
+ "Skill Name": "Naziv vještine",
+ "Start Date": "Datum početka",
+ "Starting value for all characters": "Početna vrijednost za sve likove",
+ "Stat": "Svojstvo",
+ "Status": "Status",
+ "System Notice": "Obavijest sustava",
+ "Unique Artifact": "Jedinstveni artefakt",
+ "Unique Condition": "Jedinstveno stanje",
+ "XP Amount": "Broj bodova iskustva",
+ "XP Award": "Dodjela bodova iskustva"
},
"nplurals=2; plural=(n != 1);"
)
diff --git a/l10n/hr.json b/l10n/hr.json
index 07106649..9bd9ba3a 100644
--- a/l10n/hr.json
+++ b/l10n/hr.json
@@ -151,7 +151,78 @@
"None — this is a root skill.": "Nema — ovo je korijenska vještina.",
"Where the automation lives": "Gdje živi automatizacija",
"Flows are what happens without anyone clicking: a reminder before a deadline passes, a confirmation sent on submission. This is where you read and edit them. Nothing to build now.": "Flows je ono što se događa bez ičijeg klika: podsjetnik prije isteka roka, potvrda pri predaji. Ovdje ih čitaš i uređuješ — sada nema što graditi.",
- "Open Flows in the menu": "Otvori Flows u izborniku"
+ "Open Flows in the menu": "Otvori Flows u izborniku",
+ "Ability Name": "Naziv sposobnosti",
+ "Affected Characters": "Zahvaćeni likovi",
+ "Amount of copper pieces": "Broj bakrenih novčića",
+ "Amount of gold pieces": "Broj zlatnih novčića",
+ "Amount of silver pieces": "Broj srebrnih novčića",
+ "Automatic system notices": "Automatske obavijesti sustava",
+ "Award Reason": "Razlog dodjele",
+ "Awarded At": "Dodijeljeno",
+ "Awarded By": "Dodijelio",
+ "Background Story": "Pozadinska priča",
+ "Base Value": "Osnovna vrijednost",
+ "Character Card": "Kartica lika",
+ "Character Name": "Ime lika",
+ "Checked In At": "Dolazak zabilježen",
+ "Checked In By": "Dolazak zabilježio",
+ "Condition Name": "Naziv stanja",
+ "Contact email address": "Kontaktna adresa e-pošte",
+ "Copper Pieces": "Bakreni novčići",
+ "Effect Name": "Naziv učinka",
+ "End Date": "Datum završetka",
+ "Event Name": "Naziv događaja",
+ "Event description": "Opis događaja",
+ "Event end date and time": "Datum i vrijeme završetka događaja",
+ "Event location": "Mjesto događaja",
+ "Event name": "Naziv događaja",
+ "Event start date and time": "Datum i vrijeme početka događaja",
+ "Faith": "Vjera",
+ "Full name of the player": "Puno ime igrača",
+ "Game Master Notes (Private)": "Bilješke voditelja igre (privatne)",
+ "Game Master Notes (Public)": "Bilješke voditelja igre (javne)",
+ "Gold Pieces": "Zlatni novčići",
+ "Item Name": "Naziv predmeta",
+ "Items and Money": "Predmeti i novac",
+ "Mechanical Effect": "Učinak u igri",
+ "Modifier Value": "Vrijednost modifikatora",
+ "Name of the condition": "Naziv stanja",
+ "Name of the effect": "Naziv učinka",
+ "Name of the event": "Naziv događaja",
+ "Name of the item": "Naziv predmeta",
+ "Name of the skill": "Naziv vještine",
+ "Name of the stat": "Naziv svojstva",
+ "Nextcloud user": "Nextcloud korisnik",
+ "Notes about items and money": "Bilješke o predmetima i novcu",
+ "Notes about the player": "Bilješke o igraču",
+ "Overridden At": "Iznimka odobrena",
+ "Overridden By": "Iznimku odobrio",
+ "Override Reason": "Razlog iznimke",
+ "Owner": "Vlasnik",
+ "Owner UID": "UID vlasnika",
+ "Participating Characters": "Sudjelujući likovi",
+ "Player Name": "Ime igrača",
+ "Post-Event Effects": "Učinci nakon događaja",
+ "Real name of the player": "Pravo ime igrača",
+ "Required Conditions": "Potrebna stanja",
+ "Required Effects": "Potrebni učinci",
+ "Required Score": "Potrebna vrijednost",
+ "Required Skills": "Potrebne vještine",
+ "Required Stats": "Potrebna svojstva",
+ "Requirement Overrides": "Iznimke od preduvjeta",
+ "Setting Name": "Naziv svijeta igre",
+ "Silver Pieces": "Srebrni novčići",
+ "Skill Name": "Naziv vještine",
+ "Start Date": "Datum početka",
+ "Starting value for all characters": "Početna vrijednost za sve likove",
+ "Stat": "Svojstvo",
+ "Status": "Status",
+ "System Notice": "Obavijest sustava",
+ "Unique Artifact": "Jedinstveni artefakt",
+ "Unique Condition": "Jedinstveno stanje",
+ "XP Amount": "Broj bodova iskustva",
+ "XP Award": "Dodjela bodova iskustva"
},
"plurals": {}
}
diff --git a/l10n/hu.js b/l10n/hu.js
index 28c6577c..6e12e128 100644
--- a/l10n/hu.js
+++ b/l10n/hu.js
@@ -152,7 +152,78 @@ OC.L10N.register(
"None — this is a root skill.": "Nincs — ez egy gyökérkészség.",
"Where the automation lives": "Ahol az automatizálás lakik",
"Flows are what happens without anyone clicking: a reminder before a deadline passes, a confirmation sent on submission. This is where you read and edit them. Nothing to build now.": "A Flows az, ami kattintás nélkül történik: emlékeztető a határidő lejárta előtt, visszaigazolás beküldéskor. Itt olvasod és szerkeszted őket — most nincs mit építeni.",
- "Open Flows in the menu": "Nyisd meg a Flows menüpontot"
+ "Open Flows in the menu": "Nyisd meg a Flows menüpontot",
+ "Ability Name": "A képesség neve",
+ "Affected Characters": "Érintett karakterek",
+ "Amount of copper pieces": "Rézérmék száma",
+ "Amount of gold pieces": "Aranyérmék száma",
+ "Amount of silver pieces": "Ezüstérmék száma",
+ "Automatic system notices": "Automatikus rendszerüzenetek",
+ "Award Reason": "Az odaítélés indoka",
+ "Awarded At": "Odaítélve ekkor",
+ "Awarded By": "Odaítélte",
+ "Background Story": "Háttértörténet",
+ "Base Value": "Alapérték",
+ "Character Card": "Karakterlap",
+ "Character Name": "A karakter neve",
+ "Checked In At": "Érkezés rögzítve ekkor",
+ "Checked In By": "Az érkezést rögzítette",
+ "Condition Name": "Az állapot neve",
+ "Contact email address": "Kapcsolattartási e-mail-cím",
+ "Copper Pieces": "Rézérmék",
+ "Effect Name": "A hatás neve",
+ "End Date": "Záró dátum",
+ "Event Name": "Az esemény neve",
+ "Event description": "Az esemény leírása",
+ "Event end date and time": "Az esemény záró dátuma és időpontja",
+ "Event location": "Az esemény helyszíne",
+ "Event name": "Az esemény neve",
+ "Event start date and time": "Az esemény kezdő dátuma és időpontja",
+ "Faith": "Hit",
+ "Full name of the player": "A játékos teljes neve",
+ "Game Master Notes (Private)": "A játékmester jegyzetei (magán)",
+ "Game Master Notes (Public)": "A játékmester jegyzetei (nyilvános)",
+ "Gold Pieces": "Aranyérmék",
+ "Item Name": "A tárgy neve",
+ "Items and Money": "Tárgyak és pénz",
+ "Mechanical Effect": "Játékbeli hatás",
+ "Modifier Value": "A módosító értéke",
+ "Name of the condition": "Az állapot neve",
+ "Name of the effect": "A hatás neve",
+ "Name of the event": "Az esemény neve",
+ "Name of the item": "A tárgy neve",
+ "Name of the skill": "A készség neve",
+ "Name of the stat": "A tulajdonság neve",
+ "Nextcloud user": "Nextcloud-felhasználó",
+ "Notes about items and money": "Jegyzetek a tárgyakról és a pénzről",
+ "Notes about the player": "Jegyzetek a játékosról",
+ "Overridden At": "Felülbírálva ekkor",
+ "Overridden By": "Felülbírálta",
+ "Override Reason": "A felülbírálás indoka",
+ "Owner": "Tulajdonos",
+ "Owner UID": "A tulajdonos UID-ja",
+ "Participating Characters": "Résztvevő karakterek",
+ "Player Name": "A játékos neve",
+ "Post-Event Effects": "Esemény utáni hatások",
+ "Real name of the player": "A játékos valódi neve",
+ "Required Conditions": "Szükséges állapotok",
+ "Required Effects": "Szükséges hatások",
+ "Required Score": "Szükséges érték",
+ "Required Skills": "Szükséges készségek",
+ "Required Stats": "Szükséges tulajdonságok",
+ "Requirement Overrides": "Felülbírált előfeltételek",
+ "Setting Name": "A játékvilág neve",
+ "Silver Pieces": "Ezüstérmék",
+ "Skill Name": "A készség neve",
+ "Start Date": "Kezdő dátum",
+ "Starting value for all characters": "Kezdőérték minden karakter számára",
+ "Stat": "Tulajdonság",
+ "Status": "Státusz",
+ "System Notice": "Rendszerüzenet",
+ "Unique Artifact": "Egyedi artefaktum",
+ "Unique Condition": "Egyedi állapot",
+ "XP Amount": "Tapasztalati pontok száma",
+ "XP Award": "Tapasztalati pontok odaítélése"
},
"nplurals=2; plural=(n != 1);"
)
diff --git a/l10n/hu.json b/l10n/hu.json
index e46754b2..747329fd 100644
--- a/l10n/hu.json
+++ b/l10n/hu.json
@@ -151,7 +151,78 @@
"None — this is a root skill.": "Nincs — ez egy gyökérkészség.",
"Where the automation lives": "Ahol az automatizálás lakik",
"Flows are what happens without anyone clicking: a reminder before a deadline passes, a confirmation sent on submission. This is where you read and edit them. Nothing to build now.": "A Flows az, ami kattintás nélkül történik: emlékeztető a határidő lejárta előtt, visszaigazolás beküldéskor. Itt olvasod és szerkeszted őket — most nincs mit építeni.",
- "Open Flows in the menu": "Nyisd meg a Flows menüpontot"
+ "Open Flows in the menu": "Nyisd meg a Flows menüpontot",
+ "Ability Name": "A képesség neve",
+ "Affected Characters": "Érintett karakterek",
+ "Amount of copper pieces": "Rézérmék száma",
+ "Amount of gold pieces": "Aranyérmék száma",
+ "Amount of silver pieces": "Ezüstérmék száma",
+ "Automatic system notices": "Automatikus rendszerüzenetek",
+ "Award Reason": "Az odaítélés indoka",
+ "Awarded At": "Odaítélve ekkor",
+ "Awarded By": "Odaítélte",
+ "Background Story": "Háttértörténet",
+ "Base Value": "Alapérték",
+ "Character Card": "Karakterlap",
+ "Character Name": "A karakter neve",
+ "Checked In At": "Érkezés rögzítve ekkor",
+ "Checked In By": "Az érkezést rögzítette",
+ "Condition Name": "Az állapot neve",
+ "Contact email address": "Kapcsolattartási e-mail-cím",
+ "Copper Pieces": "Rézérmék",
+ "Effect Name": "A hatás neve",
+ "End Date": "Záró dátum",
+ "Event Name": "Az esemény neve",
+ "Event description": "Az esemény leírása",
+ "Event end date and time": "Az esemény záró dátuma és időpontja",
+ "Event location": "Az esemény helyszíne",
+ "Event name": "Az esemény neve",
+ "Event start date and time": "Az esemény kezdő dátuma és időpontja",
+ "Faith": "Hit",
+ "Full name of the player": "A játékos teljes neve",
+ "Game Master Notes (Private)": "A játékmester jegyzetei (magán)",
+ "Game Master Notes (Public)": "A játékmester jegyzetei (nyilvános)",
+ "Gold Pieces": "Aranyérmék",
+ "Item Name": "A tárgy neve",
+ "Items and Money": "Tárgyak és pénz",
+ "Mechanical Effect": "Játékbeli hatás",
+ "Modifier Value": "A módosító értéke",
+ "Name of the condition": "Az állapot neve",
+ "Name of the effect": "A hatás neve",
+ "Name of the event": "Az esemény neve",
+ "Name of the item": "A tárgy neve",
+ "Name of the skill": "A készség neve",
+ "Name of the stat": "A tulajdonság neve",
+ "Nextcloud user": "Nextcloud-felhasználó",
+ "Notes about items and money": "Jegyzetek a tárgyakról és a pénzről",
+ "Notes about the player": "Jegyzetek a játékosról",
+ "Overridden At": "Felülbírálva ekkor",
+ "Overridden By": "Felülbírálta",
+ "Override Reason": "A felülbírálás indoka",
+ "Owner": "Tulajdonos",
+ "Owner UID": "A tulajdonos UID-ja",
+ "Participating Characters": "Résztvevő karakterek",
+ "Player Name": "A játékos neve",
+ "Post-Event Effects": "Esemény utáni hatások",
+ "Real name of the player": "A játékos valódi neve",
+ "Required Conditions": "Szükséges állapotok",
+ "Required Effects": "Szükséges hatások",
+ "Required Score": "Szükséges érték",
+ "Required Skills": "Szükséges készségek",
+ "Required Stats": "Szükséges tulajdonságok",
+ "Requirement Overrides": "Felülbírált előfeltételek",
+ "Setting Name": "A játékvilág neve",
+ "Silver Pieces": "Ezüstérmék",
+ "Skill Name": "A készség neve",
+ "Start Date": "Kezdő dátum",
+ "Starting value for all characters": "Kezdőérték minden karakter számára",
+ "Stat": "Tulajdonság",
+ "Status": "Státusz",
+ "System Notice": "Rendszerüzenet",
+ "Unique Artifact": "Egyedi artefaktum",
+ "Unique Condition": "Egyedi állapot",
+ "XP Amount": "Tapasztalati pontok száma",
+ "XP Award": "Tapasztalati pontok odaítélése"
},
"plurals": {}
}
diff --git a/l10n/is.js b/l10n/is.js
index e6eb3a7f..82ad1f3f 100644
--- a/l10n/is.js
+++ b/l10n/is.js
@@ -152,7 +152,78 @@ OC.L10N.register(
"None — this is a root skill.": "Engar — þetta er grunnfærni.",
"Where the automation lives": "Þar sem sjálfvirknin býr",
"Flows are what happens without anyone clicking: a reminder before a deadline passes, a confirmation sent on submission. This is where you read and edit them. Nothing to build now.": "Flows er það sem gerist án þess að nokkur smelli: áminning áður en frestur rennur út, staðfesting við innsendingu. Hér lestu þau og breytir þeim — það er ekkert að byggja núna.",
- "Open Flows in the menu": "Opnaðu Flows í valmyndinni"
+ "Open Flows in the menu": "Opnaðu Flows í valmyndinni",
+ "Ability Name": "Nafn hæfileikans",
+ "Affected Characters": "Persónur sem verða fyrir áhrifum",
+ "Amount of copper pieces": "Fjöldi koparpeninga",
+ "Amount of gold pieces": "Fjöldi gullpeninga",
+ "Amount of silver pieces": "Fjöldi silfurpeninga",
+ "Automatic system notices": "Sjálfvirkar kerfistilkynningar",
+ "Award Reason": "Ástæða veitingar",
+ "Awarded At": "Veitt þann",
+ "Awarded By": "Veitt af",
+ "Background Story": "Bakgrunnssaga",
+ "Base Value": "Grunngildi",
+ "Character Card": "Persónuspjald",
+ "Character Name": "Nafn persónunnar",
+ "Checked In At": "Mæting skráð þann",
+ "Checked In By": "Mæting skráð af",
+ "Condition Name": "Nafn ástandsins",
+ "Contact email address": "Netfang fyrir samskipti",
+ "Copper Pieces": "Koparpeningar",
+ "Effect Name": "Nafn áhrifanna",
+ "End Date": "Lokadagsetning",
+ "Event Name": "Nafn viðburðarins",
+ "Event description": "Lýsing viðburðarins",
+ "Event end date and time": "Lokadagsetning og tími viðburðarins",
+ "Event location": "Staðsetning viðburðarins",
+ "Event name": "Nafn viðburðarins",
+ "Event start date and time": "Upphafsdagsetning og tími viðburðarins",
+ "Faith": "Trú",
+ "Full name of the player": "Fullt nafn leikmannsins",
+ "Game Master Notes (Private)": "Einkaathugasemdir leikstjóra",
+ "Game Master Notes (Public)": "Opinberar athugasemdir leikstjóra",
+ "Gold Pieces": "Gullpeningar",
+ "Item Name": "Nafn hlutarins",
+ "Items and Money": "Hlutir og peningar",
+ "Mechanical Effect": "Áhrif samkvæmt reglum",
+ "Modifier Value": "Gildi breytisins",
+ "Name of the condition": "Nafn ástandsins",
+ "Name of the effect": "Nafn áhrifanna",
+ "Name of the event": "Nafn viðburðarins",
+ "Name of the item": "Nafn hlutarins",
+ "Name of the skill": "Nafn færninnar",
+ "Name of the stat": "Nafn eiginleikans",
+ "Nextcloud user": "Nextcloud-notandi",
+ "Notes about items and money": "Athugasemdir um hluti og peninga",
+ "Notes about the player": "Athugasemdir um leikmanninn",
+ "Overridden At": "Hnekkt þann",
+ "Overridden By": "Hnekkt af",
+ "Override Reason": "Ástæða hnekkingar",
+ "Owner": "Eigandi",
+ "Owner UID": "UID eiganda",
+ "Participating Characters": "Þátttakandi persónur",
+ "Player Name": "Nafn leikmannsins",
+ "Post-Event Effects": "Áhrif eftir viðburðinn",
+ "Real name of the player": "Rétt nafn leikmannsins",
+ "Required Conditions": "Nauðsynlegt ástand",
+ "Required Effects": "Nauðsynleg áhrif",
+ "Required Score": "Nauðsynlegt gildi",
+ "Required Skills": "Nauðsynleg færni",
+ "Required Stats": "Nauðsynlegir eiginleikar",
+ "Requirement Overrides": "Hnekktar forkröfur",
+ "Setting Name": "Nafn söguheimsins",
+ "Silver Pieces": "Silfurpeningar",
+ "Skill Name": "Nafn færninnar",
+ "Start Date": "Upphafsdagsetning",
+ "Starting value for all characters": "Upphafsgildi fyrir allar persónur",
+ "Stat": "Eiginleiki",
+ "Status": "Staða",
+ "System Notice": "Kerfistilkynning",
+ "Unique Artifact": "Einstakur gripur",
+ "Unique Condition": "Einstakt ástand",
+ "XP Amount": "Fjöldi reynslustiga",
+ "XP Award": "Veiting reynslustiga"
},
"nplurals=2; plural=(n != 1);"
)
diff --git a/l10n/is.json b/l10n/is.json
index ad6cfd79..6f2bfb9d 100644
--- a/l10n/is.json
+++ b/l10n/is.json
@@ -151,7 +151,78 @@
"None — this is a root skill.": "Engar — þetta er grunnfærni.",
"Where the automation lives": "Þar sem sjálfvirknin býr",
"Flows are what happens without anyone clicking: a reminder before a deadline passes, a confirmation sent on submission. This is where you read and edit them. Nothing to build now.": "Flows er það sem gerist án þess að nokkur smelli: áminning áður en frestur rennur út, staðfesting við innsendingu. Hér lestu þau og breytir þeim — það er ekkert að byggja núna.",
- "Open Flows in the menu": "Opnaðu Flows í valmyndinni"
+ "Open Flows in the menu": "Opnaðu Flows í valmyndinni",
+ "Ability Name": "Nafn hæfileikans",
+ "Affected Characters": "Persónur sem verða fyrir áhrifum",
+ "Amount of copper pieces": "Fjöldi koparpeninga",
+ "Amount of gold pieces": "Fjöldi gullpeninga",
+ "Amount of silver pieces": "Fjöldi silfurpeninga",
+ "Automatic system notices": "Sjálfvirkar kerfistilkynningar",
+ "Award Reason": "Ástæða veitingar",
+ "Awarded At": "Veitt þann",
+ "Awarded By": "Veitt af",
+ "Background Story": "Bakgrunnssaga",
+ "Base Value": "Grunngildi",
+ "Character Card": "Persónuspjald",
+ "Character Name": "Nafn persónunnar",
+ "Checked In At": "Mæting skráð þann",
+ "Checked In By": "Mæting skráð af",
+ "Condition Name": "Nafn ástandsins",
+ "Contact email address": "Netfang fyrir samskipti",
+ "Copper Pieces": "Koparpeningar",
+ "Effect Name": "Nafn áhrifanna",
+ "End Date": "Lokadagsetning",
+ "Event Name": "Nafn viðburðarins",
+ "Event description": "Lýsing viðburðarins",
+ "Event end date and time": "Lokadagsetning og tími viðburðarins",
+ "Event location": "Staðsetning viðburðarins",
+ "Event name": "Nafn viðburðarins",
+ "Event start date and time": "Upphafsdagsetning og tími viðburðarins",
+ "Faith": "Trú",
+ "Full name of the player": "Fullt nafn leikmannsins",
+ "Game Master Notes (Private)": "Einkaathugasemdir leikstjóra",
+ "Game Master Notes (Public)": "Opinberar athugasemdir leikstjóra",
+ "Gold Pieces": "Gullpeningar",
+ "Item Name": "Nafn hlutarins",
+ "Items and Money": "Hlutir og peningar",
+ "Mechanical Effect": "Áhrif samkvæmt reglum",
+ "Modifier Value": "Gildi breytisins",
+ "Name of the condition": "Nafn ástandsins",
+ "Name of the effect": "Nafn áhrifanna",
+ "Name of the event": "Nafn viðburðarins",
+ "Name of the item": "Nafn hlutarins",
+ "Name of the skill": "Nafn færninnar",
+ "Name of the stat": "Nafn eiginleikans",
+ "Nextcloud user": "Nextcloud-notandi",
+ "Notes about items and money": "Athugasemdir um hluti og peninga",
+ "Notes about the player": "Athugasemdir um leikmanninn",
+ "Overridden At": "Hnekkt þann",
+ "Overridden By": "Hnekkt af",
+ "Override Reason": "Ástæða hnekkingar",
+ "Owner": "Eigandi",
+ "Owner UID": "UID eiganda",
+ "Participating Characters": "Þátttakandi persónur",
+ "Player Name": "Nafn leikmannsins",
+ "Post-Event Effects": "Áhrif eftir viðburðinn",
+ "Real name of the player": "Rétt nafn leikmannsins",
+ "Required Conditions": "Nauðsynlegt ástand",
+ "Required Effects": "Nauðsynleg áhrif",
+ "Required Score": "Nauðsynlegt gildi",
+ "Required Skills": "Nauðsynleg færni",
+ "Required Stats": "Nauðsynlegir eiginleikar",
+ "Requirement Overrides": "Hnekktar forkröfur",
+ "Setting Name": "Nafn söguheimsins",
+ "Silver Pieces": "Silfurpeningar",
+ "Skill Name": "Nafn færninnar",
+ "Start Date": "Upphafsdagsetning",
+ "Starting value for all characters": "Upphafsgildi fyrir allar persónur",
+ "Stat": "Eiginleiki",
+ "Status": "Staða",
+ "System Notice": "Kerfistilkynning",
+ "Unique Artifact": "Einstakur gripur",
+ "Unique Condition": "Einstakt ástand",
+ "XP Amount": "Fjöldi reynslustiga",
+ "XP Award": "Veiting reynslustiga"
},
"plurals": {}
}
diff --git a/l10n/it.js b/l10n/it.js
index fedd929d..9defde85 100644
--- a/l10n/it.js
+++ b/l10n/it.js
@@ -152,7 +152,78 @@ OC.L10N.register(
"None — this is a root skill.": "Nessuno — questa è un'abilità radice.",
"Where the automation lives": "Dove vive l'automazione",
"Flows are what happens without anyone clicking: a reminder before a deadline passes, a confirmation sent on submission. This is where you read and edit them. Nothing to build now.": "I Flows sono ciò che accade senza che nessuno clicchi: un promemoria prima che scada un termine, una conferma all'invio. Qui li leggi e li modifichi — non c'è nulla da costruire ora.",
- "Open Flows in the menu": "Apri Flows nel menu"
+ "Open Flows in the menu": "Apri Flows nel menu",
+ "Ability Name": "Nome dell'attitudine",
+ "Affected Characters": "Personaggi coinvolti",
+ "Amount of copper pieces": "Quantità di monete di rame",
+ "Amount of gold pieces": "Quantità di monete d'oro",
+ "Amount of silver pieces": "Quantità di monete d'argento",
+ "Automatic system notices": "Avvisi automatici di sistema",
+ "Award Reason": "Motivo dell'assegnazione",
+ "Awarded At": "Assegnato il",
+ "Awarded By": "Assegnato da",
+ "Background Story": "Storia personale",
+ "Base Value": "Valore base",
+ "Character Card": "Scheda del personaggio",
+ "Character Name": "Nome del personaggio",
+ "Checked In At": "Presenza registrata il",
+ "Checked In By": "Presenza registrata da",
+ "Condition Name": "Nome della condizione",
+ "Contact email address": "Indirizzo e-mail di contatto",
+ "Copper Pieces": "Monete di rame",
+ "Effect Name": "Nome dell'effetto",
+ "End Date": "Data di fine",
+ "Event Name": "Nome dell'evento",
+ "Event description": "Descrizione dell'evento",
+ "Event end date and time": "Data e ora di fine dell'evento",
+ "Event location": "Luogo dell'evento",
+ "Event name": "Nome dell'evento",
+ "Event start date and time": "Data e ora di inizio dell'evento",
+ "Faith": "Fede",
+ "Full name of the player": "Nome completo del giocatore",
+ "Game Master Notes (Private)": "Note del master (private)",
+ "Game Master Notes (Public)": "Note del master (pubbliche)",
+ "Gold Pieces": "Monete d'oro",
+ "Item Name": "Nome dell'oggetto",
+ "Items and Money": "Oggetti e denaro",
+ "Mechanical Effect": "Effetto di gioco",
+ "Modifier Value": "Valore del modificatore",
+ "Name of the condition": "Nome della condizione",
+ "Name of the effect": "Nome dell'effetto",
+ "Name of the event": "Nome dell'evento",
+ "Name of the item": "Nome dell'oggetto",
+ "Name of the skill": "Nome dell'abilità",
+ "Name of the stat": "Nome della caratteristica",
+ "Nextcloud user": "Utente Nextcloud",
+ "Notes about items and money": "Note su oggetti e denaro",
+ "Notes about the player": "Note sul giocatore",
+ "Overridden At": "Deroga concessa il",
+ "Overridden By": "Deroga concessa da",
+ "Override Reason": "Motivo della deroga",
+ "Owner": "Proprietario",
+ "Owner UID": "UID del proprietario",
+ "Participating Characters": "Personaggi partecipanti",
+ "Player Name": "Nome del giocatore",
+ "Post-Event Effects": "Effetti dopo l'evento",
+ "Real name of the player": "Nome reale del giocatore",
+ "Required Conditions": "Condizioni richieste",
+ "Required Effects": "Effetti richiesti",
+ "Required Score": "Valore richiesto",
+ "Required Skills": "Abilità richieste",
+ "Required Stats": "Caratteristiche richieste",
+ "Requirement Overrides": "Deroghe ai prerequisiti",
+ "Setting Name": "Nome dell'ambientazione",
+ "Silver Pieces": "Monete d'argento",
+ "Skill Name": "Nome dell'abilità",
+ "Start Date": "Data di inizio",
+ "Starting value for all characters": "Valore iniziale per tutti i personaggi",
+ "Stat": "Caratteristica",
+ "Status": "Stato",
+ "System Notice": "Avviso di sistema",
+ "Unique Artifact": "Artefatto unico",
+ "Unique Condition": "Condizione unica",
+ "XP Amount": "Quantità di punti esperienza",
+ "XP Award": "Assegnazione di punti esperienza"
},
"nplurals=2; plural=(n != 1);"
)
diff --git a/l10n/it.json b/l10n/it.json
index 4503d1d9..21dc0f82 100644
--- a/l10n/it.json
+++ b/l10n/it.json
@@ -151,7 +151,78 @@
"None — this is a root skill.": "Nessuno — questa è un'abilità radice.",
"Where the automation lives": "Dove vive l'automazione",
"Flows are what happens without anyone clicking: a reminder before a deadline passes, a confirmation sent on submission. This is where you read and edit them. Nothing to build now.": "I Flows sono ciò che accade senza che nessuno clicchi: un promemoria prima che scada un termine, una conferma all'invio. Qui li leggi e li modifichi — non c'è nulla da costruire ora.",
- "Open Flows in the menu": "Apri Flows nel menu"
+ "Open Flows in the menu": "Apri Flows nel menu",
+ "Ability Name": "Nome dell'attitudine",
+ "Affected Characters": "Personaggi coinvolti",
+ "Amount of copper pieces": "Quantità di monete di rame",
+ "Amount of gold pieces": "Quantità di monete d'oro",
+ "Amount of silver pieces": "Quantità di monete d'argento",
+ "Automatic system notices": "Avvisi automatici di sistema",
+ "Award Reason": "Motivo dell'assegnazione",
+ "Awarded At": "Assegnato il",
+ "Awarded By": "Assegnato da",
+ "Background Story": "Storia personale",
+ "Base Value": "Valore base",
+ "Character Card": "Scheda del personaggio",
+ "Character Name": "Nome del personaggio",
+ "Checked In At": "Presenza registrata il",
+ "Checked In By": "Presenza registrata da",
+ "Condition Name": "Nome della condizione",
+ "Contact email address": "Indirizzo e-mail di contatto",
+ "Copper Pieces": "Monete di rame",
+ "Effect Name": "Nome dell'effetto",
+ "End Date": "Data di fine",
+ "Event Name": "Nome dell'evento",
+ "Event description": "Descrizione dell'evento",
+ "Event end date and time": "Data e ora di fine dell'evento",
+ "Event location": "Luogo dell'evento",
+ "Event name": "Nome dell'evento",
+ "Event start date and time": "Data e ora di inizio dell'evento",
+ "Faith": "Fede",
+ "Full name of the player": "Nome completo del giocatore",
+ "Game Master Notes (Private)": "Note del master (private)",
+ "Game Master Notes (Public)": "Note del master (pubbliche)",
+ "Gold Pieces": "Monete d'oro",
+ "Item Name": "Nome dell'oggetto",
+ "Items and Money": "Oggetti e denaro",
+ "Mechanical Effect": "Effetto di gioco",
+ "Modifier Value": "Valore del modificatore",
+ "Name of the condition": "Nome della condizione",
+ "Name of the effect": "Nome dell'effetto",
+ "Name of the event": "Nome dell'evento",
+ "Name of the item": "Nome dell'oggetto",
+ "Name of the skill": "Nome dell'abilità",
+ "Name of the stat": "Nome della caratteristica",
+ "Nextcloud user": "Utente Nextcloud",
+ "Notes about items and money": "Note su oggetti e denaro",
+ "Notes about the player": "Note sul giocatore",
+ "Overridden At": "Deroga concessa il",
+ "Overridden By": "Deroga concessa da",
+ "Override Reason": "Motivo della deroga",
+ "Owner": "Proprietario",
+ "Owner UID": "UID del proprietario",
+ "Participating Characters": "Personaggi partecipanti",
+ "Player Name": "Nome del giocatore",
+ "Post-Event Effects": "Effetti dopo l'evento",
+ "Real name of the player": "Nome reale del giocatore",
+ "Required Conditions": "Condizioni richieste",
+ "Required Effects": "Effetti richiesti",
+ "Required Score": "Valore richiesto",
+ "Required Skills": "Abilità richieste",
+ "Required Stats": "Caratteristiche richieste",
+ "Requirement Overrides": "Deroghe ai prerequisiti",
+ "Setting Name": "Nome dell'ambientazione",
+ "Silver Pieces": "Monete d'argento",
+ "Skill Name": "Nome dell'abilità",
+ "Start Date": "Data di inizio",
+ "Starting value for all characters": "Valore iniziale per tutti i personaggi",
+ "Stat": "Caratteristica",
+ "Status": "Stato",
+ "System Notice": "Avviso di sistema",
+ "Unique Artifact": "Artefatto unico",
+ "Unique Condition": "Condizione unica",
+ "XP Amount": "Quantità di punti esperienza",
+ "XP Award": "Assegnazione di punti esperienza"
},
"plurals": {}
}
diff --git a/l10n/lb.js b/l10n/lb.js
index 66a37d7b..fdd7d2f2 100644
--- a/l10n/lb.js
+++ b/l10n/lb.js
@@ -152,7 +152,78 @@ OC.L10N.register(
"None — this is a root skill.": "Keng — dëst ass eng Basiskompetenz.",
"Where the automation lives": "Wou d'Automatisatioun wunnt",
"Flows are what happens without anyone clicking: a reminder before a deadline passes, a confirmation sent on submission. This is where you read and edit them. Nothing to build now.": "Flows sinn dat, wat geschitt ouni datt een klickt: eng Erënnerung ier eng Frist ausleeft, eng Bestätegung beim Ofginn. Hei liest an änners du se — et gëtt elo näischt ze bauen.",
- "Open Flows in the menu": "Maach Flows am Menü op"
+ "Open Flows in the menu": "Maach Flows am Menü op",
+ "Ability Name": "Numm vun der Fäegkeet",
+ "Affected Characters": "Betraff Personnagen",
+ "Amount of copper pieces": "Unzuel u Kofferstécker",
+ "Amount of gold pieces": "Unzuel u Goldstécker",
+ "Amount of silver pieces": "Unzuel u Sëlwerstécker",
+ "Automatic system notices": "Automatesch Systemmeldungen",
+ "Award Reason": "Grond fir d'Verginn",
+ "Awarded At": "Vergi den",
+ "Awarded By": "Vergi vun",
+ "Background Story": "Hannergrondgeschicht",
+ "Base Value": "Basiswäert",
+ "Character Card": "Personnagekaart",
+ "Character Name": "Numm vum Personnage",
+ "Checked In At": "Ugemellt den",
+ "Checked In By": "Ugemellt vun",
+ "Condition Name": "Numm vum Zoustand",
+ "Contact email address": "E-Mail-Adress fir de Kontakt",
+ "Copper Pieces": "Kofferstécker",
+ "Effect Name": "Numm vum Effekt",
+ "End Date": "Schlussdatum",
+ "Event Name": "Numm vum Evenement",
+ "Event description": "Beschreiwung vum Evenement",
+ "Event end date and time": "Schlussdatum an -zäit vum Evenement",
+ "Event location": "Standuert vum Evenement",
+ "Event name": "Numm vum Evenement",
+ "Event start date and time": "Ufanksdatum an -zäit vum Evenement",
+ "Faith": "Glawen",
+ "Full name of the player": "Vollstännegen Numm vum Spiller",
+ "Game Master Notes (Private)": "Notize vum Spillleeder (privat)",
+ "Game Master Notes (Public)": "Notize vum Spillleeder (ëffentlech)",
+ "Gold Pieces": "Goldstécker",
+ "Item Name": "Numm vum Géigestand",
+ "Items and Money": "Géigestänn a Suen",
+ "Mechanical Effect": "Spilltechneschen Effekt",
+ "Modifier Value": "Wäert vum Modifizéierer",
+ "Name of the condition": "Numm vum Zoustand",
+ "Name of the effect": "Numm vum Effekt",
+ "Name of the event": "Numm vum Evenement",
+ "Name of the item": "Numm vum Géigestand",
+ "Name of the skill": "Numm vun der Kompetenz",
+ "Name of the stat": "Numm vum Attribut",
+ "Nextcloud user": "Nextcloud-Benotzer",
+ "Notes about items and money": "Notizen iwwer Géigestänn a Suen",
+ "Notes about the player": "Notizen iwwer de Spiller",
+ "Overridden At": "Iwwerschriwwen den",
+ "Overridden By": "Iwwerschriwwe vun",
+ "Override Reason": "Grond fir d'Iwwerschreiwen",
+ "Owner": "Besëtzer",
+ "Owner UID": "UID vum Besëtzer",
+ "Participating Characters": "Deelhuel Personnagen",
+ "Player Name": "Numm vum Spiller",
+ "Post-Event Effects": "Effekter nom Evenement",
+ "Real name of the player": "Richtegen Numm vum Spiller",
+ "Required Conditions": "Erfuerderlech Zoustänn",
+ "Required Effects": "Erfuerderlech Effekter",
+ "Required Score": "Erfuerderleche Wäert",
+ "Required Skills": "Erfuerderlech Kompetenzen",
+ "Required Stats": "Erfuerderlech Attributer",
+ "Requirement Overrides": "Iwwerschriwwe Viraussetzungen",
+ "Setting Name": "Numm vun der Spillwelt",
+ "Silver Pieces": "Sëlwerstécker",
+ "Skill Name": "Numm vun der Kompetenz",
+ "Start Date": "Ufanksdatum",
+ "Starting value for all characters": "Startwäert fir all Personnagen",
+ "Stat": "Attribut",
+ "Status": "Status",
+ "System Notice": "Systemmeldung",
+ "Unique Artifact": "Eenzegaartegt Artefakt",
+ "Unique Condition": "Eenzegaartegen Zoustand",
+ "XP Amount": "Unzuel un Erfarungspunkten",
+ "XP Award": "XP-Verginn"
},
"nplurals=2; plural=(n != 1);"
)
diff --git a/l10n/lb.json b/l10n/lb.json
index a346c594..c5b8dbdf 100644
--- a/l10n/lb.json
+++ b/l10n/lb.json
@@ -151,7 +151,78 @@
"None — this is a root skill.": "Keng — dëst ass eng Basiskompetenz.",
"Where the automation lives": "Wou d'Automatisatioun wunnt",
"Flows are what happens without anyone clicking: a reminder before a deadline passes, a confirmation sent on submission. This is where you read and edit them. Nothing to build now.": "Flows sinn dat, wat geschitt ouni datt een klickt: eng Erënnerung ier eng Frist ausleeft, eng Bestätegung beim Ofginn. Hei liest an änners du se — et gëtt elo näischt ze bauen.",
- "Open Flows in the menu": "Maach Flows am Menü op"
+ "Open Flows in the menu": "Maach Flows am Menü op",
+ "Ability Name": "Numm vun der Fäegkeet",
+ "Affected Characters": "Betraff Personnagen",
+ "Amount of copper pieces": "Unzuel u Kofferstécker",
+ "Amount of gold pieces": "Unzuel u Goldstécker",
+ "Amount of silver pieces": "Unzuel u Sëlwerstécker",
+ "Automatic system notices": "Automatesch Systemmeldungen",
+ "Award Reason": "Grond fir d'Verginn",
+ "Awarded At": "Vergi den",
+ "Awarded By": "Vergi vun",
+ "Background Story": "Hannergrondgeschicht",
+ "Base Value": "Basiswäert",
+ "Character Card": "Personnagekaart",
+ "Character Name": "Numm vum Personnage",
+ "Checked In At": "Ugemellt den",
+ "Checked In By": "Ugemellt vun",
+ "Condition Name": "Numm vum Zoustand",
+ "Contact email address": "E-Mail-Adress fir de Kontakt",
+ "Copper Pieces": "Kofferstécker",
+ "Effect Name": "Numm vum Effekt",
+ "End Date": "Schlussdatum",
+ "Event Name": "Numm vum Evenement",
+ "Event description": "Beschreiwung vum Evenement",
+ "Event end date and time": "Schlussdatum an -zäit vum Evenement",
+ "Event location": "Standuert vum Evenement",
+ "Event name": "Numm vum Evenement",
+ "Event start date and time": "Ufanksdatum an -zäit vum Evenement",
+ "Faith": "Glawen",
+ "Full name of the player": "Vollstännegen Numm vum Spiller",
+ "Game Master Notes (Private)": "Notize vum Spillleeder (privat)",
+ "Game Master Notes (Public)": "Notize vum Spillleeder (ëffentlech)",
+ "Gold Pieces": "Goldstécker",
+ "Item Name": "Numm vum Géigestand",
+ "Items and Money": "Géigestänn a Suen",
+ "Mechanical Effect": "Spilltechneschen Effekt",
+ "Modifier Value": "Wäert vum Modifizéierer",
+ "Name of the condition": "Numm vum Zoustand",
+ "Name of the effect": "Numm vum Effekt",
+ "Name of the event": "Numm vum Evenement",
+ "Name of the item": "Numm vum Géigestand",
+ "Name of the skill": "Numm vun der Kompetenz",
+ "Name of the stat": "Numm vum Attribut",
+ "Nextcloud user": "Nextcloud-Benotzer",
+ "Notes about items and money": "Notizen iwwer Géigestänn a Suen",
+ "Notes about the player": "Notizen iwwer de Spiller",
+ "Overridden At": "Iwwerschriwwen den",
+ "Overridden By": "Iwwerschriwwe vun",
+ "Override Reason": "Grond fir d'Iwwerschreiwen",
+ "Owner": "Besëtzer",
+ "Owner UID": "UID vum Besëtzer",
+ "Participating Characters": "Deelhuel Personnagen",
+ "Player Name": "Numm vum Spiller",
+ "Post-Event Effects": "Effekter nom Evenement",
+ "Real name of the player": "Richtegen Numm vum Spiller",
+ "Required Conditions": "Erfuerderlech Zoustänn",
+ "Required Effects": "Erfuerderlech Effekter",
+ "Required Score": "Erfuerderleche Wäert",
+ "Required Skills": "Erfuerderlech Kompetenzen",
+ "Required Stats": "Erfuerderlech Attributer",
+ "Requirement Overrides": "Iwwerschriwwe Viraussetzungen",
+ "Setting Name": "Numm vun der Spillwelt",
+ "Silver Pieces": "Sëlwerstécker",
+ "Skill Name": "Numm vun der Kompetenz",
+ "Start Date": "Ufanksdatum",
+ "Starting value for all characters": "Startwäert fir all Personnagen",
+ "Stat": "Attribut",
+ "Status": "Status",
+ "System Notice": "Systemmeldung",
+ "Unique Artifact": "Eenzegaartegt Artefakt",
+ "Unique Condition": "Eenzegaartegen Zoustand",
+ "XP Amount": "Unzuel un Erfarungspunkten",
+ "XP Award": "XP-Verginn"
},
"plurals": {}
}
diff --git a/l10n/lt.js b/l10n/lt.js
index 31b9e2fd..37fa7db5 100644
--- a/l10n/lt.js
+++ b/l10n/lt.js
@@ -152,7 +152,78 @@ OC.L10N.register(
"None — this is a root skill.": "Nėra — tai pagrindinis įgūdis.",
"Where the automation lives": "Kur gyvena automatizavimas",
"Flows are what happens without anyone clicking: a reminder before a deadline passes, a confirmation sent on submission. This is where you read and edit them. Nothing to build now.": "Flows yra tai, kas vyksta niekam nespaudžiant: priminimas prieš pasibaigiant terminui, patvirtinimas pateikus. Čia juos skaitai ir redaguoji — dabar nieko kurti nereikia.",
- "Open Flows in the menu": "Atverkite Flows meniu"
+ "Open Flows in the menu": "Atverkite Flows meniu",
+ "Ability Name": "Gebėjimo pavadinimas",
+ "Affected Characters": "Paveikti personažai",
+ "Amount of copper pieces": "Varinių monetų skaičius",
+ "Amount of gold pieces": "Auksinių monetų skaičius",
+ "Amount of silver pieces": "Sidabrinių monetų skaičius",
+ "Automatic system notices": "Automatiniai sistemos pranešimai",
+ "Award Reason": "Skyrimo priežastis",
+ "Awarded At": "Skirta",
+ "Awarded By": "Skyrė",
+ "Background Story": "Kilmės istorija",
+ "Base Value": "Bazinė reikšmė",
+ "Character Card": "Personažo kortelė",
+ "Character Name": "Personažo vardas",
+ "Checked In At": "Atvykimas užregistruotas",
+ "Checked In By": "Atvykimą užregistravo",
+ "Condition Name": "Būsenos pavadinimas",
+ "Contact email address": "Kontaktinis el. pašto adresas",
+ "Copper Pieces": "Varinės monetos",
+ "Effect Name": "Efekto pavadinimas",
+ "End Date": "Pabaigos data",
+ "Event Name": "Renginio pavadinimas",
+ "Event description": "Renginio aprašymas",
+ "Event end date and time": "Renginio pabaigos data ir laikas",
+ "Event location": "Renginio vieta",
+ "Event name": "Renginio pavadinimas",
+ "Event start date and time": "Renginio pradžios data ir laikas",
+ "Faith": "Tikėjimas",
+ "Full name of the player": "Visas žaidėjo vardas",
+ "Game Master Notes (Private)": "Žaidimo vedėjo pastabos (privačios)",
+ "Game Master Notes (Public)": "Žaidimo vedėjo pastabos (viešos)",
+ "Gold Pieces": "Auksinės monetos",
+ "Item Name": "Daikto pavadinimas",
+ "Items and Money": "Daiktai ir pinigai",
+ "Mechanical Effect": "Žaidimo efektas",
+ "Modifier Value": "Modifikatoriaus reikšmė",
+ "Name of the condition": "Būsenos pavadinimas",
+ "Name of the effect": "Efekto pavadinimas",
+ "Name of the event": "Renginio pavadinimas",
+ "Name of the item": "Daikto pavadinimas",
+ "Name of the skill": "Įgūdžio pavadinimas",
+ "Name of the stat": "Savybės pavadinimas",
+ "Nextcloud user": "Nextcloud naudotojas",
+ "Notes about items and money": "Pastabos apie daiktus ir pinigus",
+ "Notes about the player": "Pastabos apie žaidėją",
+ "Overridden At": "Išimtis suteikta",
+ "Overridden By": "Išimtį suteikė",
+ "Override Reason": "Išimties priežastis",
+ "Owner": "Savininkas",
+ "Owner UID": "Savininko UID",
+ "Participating Characters": "Dalyvaujantys personažai",
+ "Player Name": "Žaidėjo vardas",
+ "Post-Event Effects": "Efektai po renginio",
+ "Real name of the player": "Tikrasis žaidėjo vardas",
+ "Required Conditions": "Reikalingos būsenos",
+ "Required Effects": "Reikalingi efektai",
+ "Required Score": "Reikalinga reikšmė",
+ "Required Skills": "Reikalingi įgūdžiai",
+ "Required Stats": "Reikalingos savybės",
+ "Requirement Overrides": "Būtinų sąlygų išimtys",
+ "Setting Name": "Žaidimo pasaulio pavadinimas",
+ "Silver Pieces": "Sidabrinės monetos",
+ "Skill Name": "Įgūdžio pavadinimas",
+ "Start Date": "Pradžios data",
+ "Starting value for all characters": "Pradinė reikšmė visiems personažams",
+ "Stat": "Savybė",
+ "Status": "Statusas",
+ "System Notice": "Sistemos pranešimas",
+ "Unique Artifact": "Unikalus artefaktas",
+ "Unique Condition": "Unikali būsena",
+ "XP Amount": "Patirties taškų skaičius",
+ "XP Award": "Patirties taškų skyrimas"
},
"nplurals=2; plural=(n != 1);"
)
diff --git a/l10n/lt.json b/l10n/lt.json
index 45bd5f39..c980e6f2 100644
--- a/l10n/lt.json
+++ b/l10n/lt.json
@@ -151,7 +151,78 @@
"None — this is a root skill.": "Nėra — tai pagrindinis įgūdis.",
"Where the automation lives": "Kur gyvena automatizavimas",
"Flows are what happens without anyone clicking: a reminder before a deadline passes, a confirmation sent on submission. This is where you read and edit them. Nothing to build now.": "Flows yra tai, kas vyksta niekam nespaudžiant: priminimas prieš pasibaigiant terminui, patvirtinimas pateikus. Čia juos skaitai ir redaguoji — dabar nieko kurti nereikia.",
- "Open Flows in the menu": "Atverkite Flows meniu"
+ "Open Flows in the menu": "Atverkite Flows meniu",
+ "Ability Name": "Gebėjimo pavadinimas",
+ "Affected Characters": "Paveikti personažai",
+ "Amount of copper pieces": "Varinių monetų skaičius",
+ "Amount of gold pieces": "Auksinių monetų skaičius",
+ "Amount of silver pieces": "Sidabrinių monetų skaičius",
+ "Automatic system notices": "Automatiniai sistemos pranešimai",
+ "Award Reason": "Skyrimo priežastis",
+ "Awarded At": "Skirta",
+ "Awarded By": "Skyrė",
+ "Background Story": "Kilmės istorija",
+ "Base Value": "Bazinė reikšmė",
+ "Character Card": "Personažo kortelė",
+ "Character Name": "Personažo vardas",
+ "Checked In At": "Atvykimas užregistruotas",
+ "Checked In By": "Atvykimą užregistravo",
+ "Condition Name": "Būsenos pavadinimas",
+ "Contact email address": "Kontaktinis el. pašto adresas",
+ "Copper Pieces": "Varinės monetos",
+ "Effect Name": "Efekto pavadinimas",
+ "End Date": "Pabaigos data",
+ "Event Name": "Renginio pavadinimas",
+ "Event description": "Renginio aprašymas",
+ "Event end date and time": "Renginio pabaigos data ir laikas",
+ "Event location": "Renginio vieta",
+ "Event name": "Renginio pavadinimas",
+ "Event start date and time": "Renginio pradžios data ir laikas",
+ "Faith": "Tikėjimas",
+ "Full name of the player": "Visas žaidėjo vardas",
+ "Game Master Notes (Private)": "Žaidimo vedėjo pastabos (privačios)",
+ "Game Master Notes (Public)": "Žaidimo vedėjo pastabos (viešos)",
+ "Gold Pieces": "Auksinės monetos",
+ "Item Name": "Daikto pavadinimas",
+ "Items and Money": "Daiktai ir pinigai",
+ "Mechanical Effect": "Žaidimo efektas",
+ "Modifier Value": "Modifikatoriaus reikšmė",
+ "Name of the condition": "Būsenos pavadinimas",
+ "Name of the effect": "Efekto pavadinimas",
+ "Name of the event": "Renginio pavadinimas",
+ "Name of the item": "Daikto pavadinimas",
+ "Name of the skill": "Įgūdžio pavadinimas",
+ "Name of the stat": "Savybės pavadinimas",
+ "Nextcloud user": "Nextcloud naudotojas",
+ "Notes about items and money": "Pastabos apie daiktus ir pinigus",
+ "Notes about the player": "Pastabos apie žaidėją",
+ "Overridden At": "Išimtis suteikta",
+ "Overridden By": "Išimtį suteikė",
+ "Override Reason": "Išimties priežastis",
+ "Owner": "Savininkas",
+ "Owner UID": "Savininko UID",
+ "Participating Characters": "Dalyvaujantys personažai",
+ "Player Name": "Žaidėjo vardas",
+ "Post-Event Effects": "Efektai po renginio",
+ "Real name of the player": "Tikrasis žaidėjo vardas",
+ "Required Conditions": "Reikalingos būsenos",
+ "Required Effects": "Reikalingi efektai",
+ "Required Score": "Reikalinga reikšmė",
+ "Required Skills": "Reikalingi įgūdžiai",
+ "Required Stats": "Reikalingos savybės",
+ "Requirement Overrides": "Būtinų sąlygų išimtys",
+ "Setting Name": "Žaidimo pasaulio pavadinimas",
+ "Silver Pieces": "Sidabrinės monetos",
+ "Skill Name": "Įgūdžio pavadinimas",
+ "Start Date": "Pradžios data",
+ "Starting value for all characters": "Pradinė reikšmė visiems personažams",
+ "Stat": "Savybė",
+ "Status": "Statusas",
+ "System Notice": "Sistemos pranešimas",
+ "Unique Artifact": "Unikalus artefaktas",
+ "Unique Condition": "Unikali būsena",
+ "XP Amount": "Patirties taškų skaičius",
+ "XP Award": "Patirties taškų skyrimas"
},
"plurals": {}
}
diff --git a/l10n/lv.js b/l10n/lv.js
index 11d9d873..f592a8e6 100644
--- a/l10n/lv.js
+++ b/l10n/lv.js
@@ -152,7 +152,78 @@ OC.L10N.register(
"None — this is a root skill.": "Nav — šī ir pamatprasme.",
"Where the automation lives": "Kur mīt automatizācija",
"Flows are what happens without anyone clicking: a reminder before a deadline passes, a confirmation sent on submission. This is where you read and edit them. Nothing to build now.": "Flows ir tas, kas notiek, nevienam neklikšķinot: atgādinājums pirms termiņa beigām, apstiprinājums pēc iesniegšanas. Šeit tos lasi un rediģē — tagad nekas nav jābūvē.",
- "Open Flows in the menu": "Atver Flows izvēlnē"
+ "Open Flows in the menu": "Atver Flows izvēlnē",
+ "Ability Name": "Spējas nosaukums",
+ "Affected Characters": "Ietekmētie tēli",
+ "Amount of copper pieces": "Vara monētu skaits",
+ "Amount of gold pieces": "Zelta monētu skaits",
+ "Amount of silver pieces": "Sudraba monētu skaits",
+ "Automatic system notices": "Automātiski sistēmas paziņojumi",
+ "Award Reason": "Piešķiršanas iemesls",
+ "Awarded At": "Piešķirts",
+ "Awarded By": "Piešķīra",
+ "Background Story": "Priekšvēstures stāsts",
+ "Base Value": "Bāzes vērtība",
+ "Character Card": "Tēla kartīte",
+ "Character Name": "Tēla vārds",
+ "Checked In At": "Ierašanās reģistrēta",
+ "Checked In By": "Ierašanos reģistrēja",
+ "Condition Name": "Stāvokļa nosaukums",
+ "Contact email address": "Kontaktu e-pasta adrese",
+ "Copper Pieces": "Vara monētas",
+ "Effect Name": "Efekta nosaukums",
+ "End Date": "Beigu datums",
+ "Event Name": "Notikuma nosaukums",
+ "Event description": "Notikuma apraksts",
+ "Event end date and time": "Notikuma beigu datums un laiks",
+ "Event location": "Notikuma norises vieta",
+ "Event name": "Notikuma nosaukums",
+ "Event start date and time": "Notikuma sākuma datums un laiks",
+ "Faith": "Ticība",
+ "Full name of the player": "Spēlētāja pilns vārds",
+ "Game Master Notes (Private)": "Spēles vadītāja piezīmes (privātas)",
+ "Game Master Notes (Public)": "Spēles vadītāja piezīmes (publiskas)",
+ "Gold Pieces": "Zelta monētas",
+ "Item Name": "Priekšmeta nosaukums",
+ "Items and Money": "Priekšmeti un nauda",
+ "Mechanical Effect": "Spēles efekts",
+ "Modifier Value": "Modifikatora vērtība",
+ "Name of the condition": "Stāvokļa nosaukums",
+ "Name of the effect": "Efekta nosaukums",
+ "Name of the event": "Notikuma nosaukums",
+ "Name of the item": "Priekšmeta nosaukums",
+ "Name of the skill": "Prasmes nosaukums",
+ "Name of the stat": "Īpašības nosaukums",
+ "Nextcloud user": "Nextcloud lietotājs",
+ "Notes about items and money": "Piezīmes par priekšmetiem un naudu",
+ "Notes about the player": "Piezīmes par spēlētāju",
+ "Overridden At": "Izņēmums piešķirts",
+ "Overridden By": "Izņēmumu piešķīra",
+ "Override Reason": "Izņēmuma iemesls",
+ "Owner": "Īpašnieks",
+ "Owner UID": "Īpašnieka UID",
+ "Participating Characters": "Iesaistītie tēli",
+ "Player Name": "Spēlētāja vārds",
+ "Post-Event Effects": "Efekti pēc notikuma",
+ "Real name of the player": "Spēlētāja īstais vārds",
+ "Required Conditions": "Nepieciešamie stāvokļi",
+ "Required Effects": "Nepieciešamie efekti",
+ "Required Score": "Nepieciešamā vērtība",
+ "Required Skills": "Nepieciešamās prasmes",
+ "Required Stats": "Nepieciešamās īpašības",
+ "Requirement Overrides": "Izņēmumi no priekšnosacījumiem",
+ "Setting Name": "Spēles pasaules nosaukums",
+ "Silver Pieces": "Sudraba monētas",
+ "Skill Name": "Prasmes nosaukums",
+ "Start Date": "Sākuma datums",
+ "Starting value for all characters": "Sākuma vērtība visiem tēliem",
+ "Stat": "Īpašība",
+ "Status": "Statuss",
+ "System Notice": "Sistēmas paziņojums",
+ "Unique Artifact": "Unikāls artefakts",
+ "Unique Condition": "Unikāls stāvoklis",
+ "XP Amount": "Pieredzes punktu skaits",
+ "XP Award": "Pieredzes punktu piešķiršana"
},
"nplurals=2; plural=(n != 1);"
)
diff --git a/l10n/lv.json b/l10n/lv.json
index f170bec5..48ff2b60 100644
--- a/l10n/lv.json
+++ b/l10n/lv.json
@@ -151,7 +151,78 @@
"None — this is a root skill.": "Nav — šī ir pamatprasme.",
"Where the automation lives": "Kur mīt automatizācija",
"Flows are what happens without anyone clicking: a reminder before a deadline passes, a confirmation sent on submission. This is where you read and edit them. Nothing to build now.": "Flows ir tas, kas notiek, nevienam neklikšķinot: atgādinājums pirms termiņa beigām, apstiprinājums pēc iesniegšanas. Šeit tos lasi un rediģē — tagad nekas nav jābūvē.",
- "Open Flows in the menu": "Atver Flows izvēlnē"
+ "Open Flows in the menu": "Atver Flows izvēlnē",
+ "Ability Name": "Spējas nosaukums",
+ "Affected Characters": "Ietekmētie tēli",
+ "Amount of copper pieces": "Vara monētu skaits",
+ "Amount of gold pieces": "Zelta monētu skaits",
+ "Amount of silver pieces": "Sudraba monētu skaits",
+ "Automatic system notices": "Automātiski sistēmas paziņojumi",
+ "Award Reason": "Piešķiršanas iemesls",
+ "Awarded At": "Piešķirts",
+ "Awarded By": "Piešķīra",
+ "Background Story": "Priekšvēstures stāsts",
+ "Base Value": "Bāzes vērtība",
+ "Character Card": "Tēla kartīte",
+ "Character Name": "Tēla vārds",
+ "Checked In At": "Ierašanās reģistrēta",
+ "Checked In By": "Ierašanos reģistrēja",
+ "Condition Name": "Stāvokļa nosaukums",
+ "Contact email address": "Kontaktu e-pasta adrese",
+ "Copper Pieces": "Vara monētas",
+ "Effect Name": "Efekta nosaukums",
+ "End Date": "Beigu datums",
+ "Event Name": "Notikuma nosaukums",
+ "Event description": "Notikuma apraksts",
+ "Event end date and time": "Notikuma beigu datums un laiks",
+ "Event location": "Notikuma norises vieta",
+ "Event name": "Notikuma nosaukums",
+ "Event start date and time": "Notikuma sākuma datums un laiks",
+ "Faith": "Ticība",
+ "Full name of the player": "Spēlētāja pilns vārds",
+ "Game Master Notes (Private)": "Spēles vadītāja piezīmes (privātas)",
+ "Game Master Notes (Public)": "Spēles vadītāja piezīmes (publiskas)",
+ "Gold Pieces": "Zelta monētas",
+ "Item Name": "Priekšmeta nosaukums",
+ "Items and Money": "Priekšmeti un nauda",
+ "Mechanical Effect": "Spēles efekts",
+ "Modifier Value": "Modifikatora vērtība",
+ "Name of the condition": "Stāvokļa nosaukums",
+ "Name of the effect": "Efekta nosaukums",
+ "Name of the event": "Notikuma nosaukums",
+ "Name of the item": "Priekšmeta nosaukums",
+ "Name of the skill": "Prasmes nosaukums",
+ "Name of the stat": "Īpašības nosaukums",
+ "Nextcloud user": "Nextcloud lietotājs",
+ "Notes about items and money": "Piezīmes par priekšmetiem un naudu",
+ "Notes about the player": "Piezīmes par spēlētāju",
+ "Overridden At": "Izņēmums piešķirts",
+ "Overridden By": "Izņēmumu piešķīra",
+ "Override Reason": "Izņēmuma iemesls",
+ "Owner": "Īpašnieks",
+ "Owner UID": "Īpašnieka UID",
+ "Participating Characters": "Iesaistītie tēli",
+ "Player Name": "Spēlētāja vārds",
+ "Post-Event Effects": "Efekti pēc notikuma",
+ "Real name of the player": "Spēlētāja īstais vārds",
+ "Required Conditions": "Nepieciešamie stāvokļi",
+ "Required Effects": "Nepieciešamie efekti",
+ "Required Score": "Nepieciešamā vērtība",
+ "Required Skills": "Nepieciešamās prasmes",
+ "Required Stats": "Nepieciešamās īpašības",
+ "Requirement Overrides": "Izņēmumi no priekšnosacījumiem",
+ "Setting Name": "Spēles pasaules nosaukums",
+ "Silver Pieces": "Sudraba monētas",
+ "Skill Name": "Prasmes nosaukums",
+ "Start Date": "Sākuma datums",
+ "Starting value for all characters": "Sākuma vērtība visiem tēliem",
+ "Stat": "Īpašība",
+ "Status": "Statuss",
+ "System Notice": "Sistēmas paziņojums",
+ "Unique Artifact": "Unikāls artefakts",
+ "Unique Condition": "Unikāls stāvoklis",
+ "XP Amount": "Pieredzes punktu skaits",
+ "XP Award": "Pieredzes punktu piešķiršana"
},
"plurals": {}
}
diff --git a/l10n/mk.js b/l10n/mk.js
index 135fe690..e66ee76a 100644
--- a/l10n/mk.js
+++ b/l10n/mk.js
@@ -152,7 +152,78 @@ OC.L10N.register(
"None — this is a root skill.": "Нема — ова е основна вештина.",
"Where the automation lives": "Каде живее автоматизацијата",
"Flows are what happens without anyone clicking: a reminder before a deadline passes, a confirmation sent on submission. This is where you read and edit them. Nothing to build now.": "Flows е тоа што се случува без некој да кликне: потсетник пред да истече рокот, потврда при поднесување. Тука ги читаш и ги уредуваш — сега нема што да се гради.",
- "Open Flows in the menu": "Отвори Flows во менито"
+ "Open Flows in the menu": "Отвори Flows во менито",
+ "Ability Name": "Име на способноста",
+ "Affected Characters": "Засегнати ликови",
+ "Amount of copper pieces": "Број на бакарни монети",
+ "Amount of gold pieces": "Број на златни монети",
+ "Amount of silver pieces": "Број на сребрени монети",
+ "Automatic system notices": "Автоматски системски известувања",
+ "Award Reason": "Причина за доделувањето",
+ "Awarded At": "Доделено на",
+ "Awarded By": "Доделено од",
+ "Background Story": "Приказна за потеклото",
+ "Base Value": "Основна вредност",
+ "Character Card": "Картичка на ликот",
+ "Character Name": "Име на ликот",
+ "Checked In At": "Пристигнувањето е забележано на",
+ "Checked In By": "Пристигнувањето го забележа",
+ "Condition Name": "Име на состојбата",
+ "Contact email address": "Контакт адреса за е-пошта",
+ "Copper Pieces": "Бакарни монети",
+ "Effect Name": "Име на ефектот",
+ "End Date": "Датум на завршеток",
+ "Event Name": "Име на настанот",
+ "Event description": "Опис на настанот",
+ "Event end date and time": "Датум и време на завршеток на настанот",
+ "Event location": "Место на настанот",
+ "Event name": "Име на настанот",
+ "Event start date and time": "Датум и време на почеток на настанот",
+ "Faith": "Вера",
+ "Full name of the player": "Целосно име на играчот",
+ "Game Master Notes (Private)": "Белешки на водачот на играта (приватни)",
+ "Game Master Notes (Public)": "Белешки на водачот на играта (јавни)",
+ "Gold Pieces": "Златни монети",
+ "Item Name": "Име на предметот",
+ "Items and Money": "Предмети и пари",
+ "Mechanical Effect": "Ефект во играта",
+ "Modifier Value": "Вредност на модификаторот",
+ "Name of the condition": "Име на состојбата",
+ "Name of the effect": "Име на ефектот",
+ "Name of the event": "Име на настанот",
+ "Name of the item": "Име на предметот",
+ "Name of the skill": "Име на вештината",
+ "Name of the stat": "Име на својството",
+ "Nextcloud user": "Nextcloud корисник",
+ "Notes about items and money": "Белешки за предметите и парите",
+ "Notes about the player": "Белешки за играчот",
+ "Overridden At": "Исклучокот е одобрен на",
+ "Overridden By": "Исклучокот го одобри",
+ "Override Reason": "Причина за исклучокот",
+ "Owner": "Сопственик",
+ "Owner UID": "UID на сопственикот",
+ "Participating Characters": "Ликови што учествуваат",
+ "Player Name": "Име на играчот",
+ "Post-Event Effects": "Ефекти по настанот",
+ "Real name of the player": "Вистинско име на играчот",
+ "Required Conditions": "Потребни состојби",
+ "Required Effects": "Потребни ефекти",
+ "Required Score": "Потребна вредност",
+ "Required Skills": "Потребни вештини",
+ "Required Stats": "Потребни својства",
+ "Requirement Overrides": "Исклучоци од предусловите",
+ "Setting Name": "Име на светот на играта",
+ "Silver Pieces": "Сребрени монети",
+ "Skill Name": "Име на вештината",
+ "Start Date": "Датум на почеток",
+ "Starting value for all characters": "Почетна вредност за сите ликови",
+ "Stat": "Својство",
+ "Status": "Статус",
+ "System Notice": "Системско известување",
+ "Unique Artifact": "Уникатен артефакт",
+ "Unique Condition": "Уникатна состојба",
+ "XP Amount": "Број на поени искуство",
+ "XP Award": "Доделување поени искуство"
},
"nplurals=2; plural=(n != 1);"
)
diff --git a/l10n/mk.json b/l10n/mk.json
index 7e5af06e..98e34663 100644
--- a/l10n/mk.json
+++ b/l10n/mk.json
@@ -151,7 +151,78 @@
"None — this is a root skill.": "Нема — ова е основна вештина.",
"Where the automation lives": "Каде живее автоматизацијата",
"Flows are what happens without anyone clicking: a reminder before a deadline passes, a confirmation sent on submission. This is where you read and edit them. Nothing to build now.": "Flows е тоа што се случува без некој да кликне: потсетник пред да истече рокот, потврда при поднесување. Тука ги читаш и ги уредуваш — сега нема што да се гради.",
- "Open Flows in the menu": "Отвори Flows во менито"
+ "Open Flows in the menu": "Отвори Flows во менито",
+ "Ability Name": "Име на способноста",
+ "Affected Characters": "Засегнати ликови",
+ "Amount of copper pieces": "Број на бакарни монети",
+ "Amount of gold pieces": "Број на златни монети",
+ "Amount of silver pieces": "Број на сребрени монети",
+ "Automatic system notices": "Автоматски системски известувања",
+ "Award Reason": "Причина за доделувањето",
+ "Awarded At": "Доделено на",
+ "Awarded By": "Доделено од",
+ "Background Story": "Приказна за потеклото",
+ "Base Value": "Основна вредност",
+ "Character Card": "Картичка на ликот",
+ "Character Name": "Име на ликот",
+ "Checked In At": "Пристигнувањето е забележано на",
+ "Checked In By": "Пристигнувањето го забележа",
+ "Condition Name": "Име на состојбата",
+ "Contact email address": "Контакт адреса за е-пошта",
+ "Copper Pieces": "Бакарни монети",
+ "Effect Name": "Име на ефектот",
+ "End Date": "Датум на завршеток",
+ "Event Name": "Име на настанот",
+ "Event description": "Опис на настанот",
+ "Event end date and time": "Датум и време на завршеток на настанот",
+ "Event location": "Место на настанот",
+ "Event name": "Име на настанот",
+ "Event start date and time": "Датум и време на почеток на настанот",
+ "Faith": "Вера",
+ "Full name of the player": "Целосно име на играчот",
+ "Game Master Notes (Private)": "Белешки на водачот на играта (приватни)",
+ "Game Master Notes (Public)": "Белешки на водачот на играта (јавни)",
+ "Gold Pieces": "Златни монети",
+ "Item Name": "Име на предметот",
+ "Items and Money": "Предмети и пари",
+ "Mechanical Effect": "Ефект во играта",
+ "Modifier Value": "Вредност на модификаторот",
+ "Name of the condition": "Име на состојбата",
+ "Name of the effect": "Име на ефектот",
+ "Name of the event": "Име на настанот",
+ "Name of the item": "Име на предметот",
+ "Name of the skill": "Име на вештината",
+ "Name of the stat": "Име на својството",
+ "Nextcloud user": "Nextcloud корисник",
+ "Notes about items and money": "Белешки за предметите и парите",
+ "Notes about the player": "Белешки за играчот",
+ "Overridden At": "Исклучокот е одобрен на",
+ "Overridden By": "Исклучокот го одобри",
+ "Override Reason": "Причина за исклучокот",
+ "Owner": "Сопственик",
+ "Owner UID": "UID на сопственикот",
+ "Participating Characters": "Ликови што учествуваат",
+ "Player Name": "Име на играчот",
+ "Post-Event Effects": "Ефекти по настанот",
+ "Real name of the player": "Вистинско име на играчот",
+ "Required Conditions": "Потребни состојби",
+ "Required Effects": "Потребни ефекти",
+ "Required Score": "Потребна вредност",
+ "Required Skills": "Потребни вештини",
+ "Required Stats": "Потребни својства",
+ "Requirement Overrides": "Исклучоци од предусловите",
+ "Setting Name": "Име на светот на играта",
+ "Silver Pieces": "Сребрени монети",
+ "Skill Name": "Име на вештината",
+ "Start Date": "Датум на почеток",
+ "Starting value for all characters": "Почетна вредност за сите ликови",
+ "Stat": "Својство",
+ "Status": "Статус",
+ "System Notice": "Системско известување",
+ "Unique Artifact": "Уникатен артефакт",
+ "Unique Condition": "Уникатна состојба",
+ "XP Amount": "Број на поени искуство",
+ "XP Award": "Доделување поени искуство"
},
"plurals": {}
}
diff --git a/l10n/mt.js b/l10n/mt.js
index 2edd4365..840d2b1e 100644
--- a/l10n/mt.js
+++ b/l10n/mt.js
@@ -152,7 +152,78 @@ OC.L10N.register(
"None — this is a root skill.": "L-ebda waħda — din hija ħila bażika.",
"Where the automation lives": "Fejn tgħix l-awtomazzjoni",
"Flows are what happens without anyone clicking: a reminder before a deadline passes, a confirmation sent on submission. This is where you read and edit them. Nothing to build now.": "Il-Flows huma dak li jiġri mingħajr ma jikklikkja ħadd: tfakkira qabel ma jiskadi terminu, konferma mal-preżentazzjoni. Hawn taqrahom u teditjahom — m'hemm xejn x'tibni issa.",
- "Open Flows in the menu": "Iftaħ Flows fil-menu"
+ "Open Flows in the menu": "Iftaħ Flows fil-menu",
+ "Ability Name": "Isem tal-abbiltà",
+ "Affected Characters": "Karattri affettwati",
+ "Amount of copper pieces": "Ammont ta' muniti tar-ram",
+ "Amount of gold pieces": "Ammont ta' muniti tad-deheb",
+ "Amount of silver pieces": "Ammont ta' muniti tal-fidda",
+ "Automatic system notices": "Avviżi awtomatiċi tas-sistema",
+ "Award Reason": "Raġuni għall-għoti",
+ "Awarded At": "Mogħti fi",
+ "Awarded By": "Mogħti minn",
+ "Background Story": "Storja tal-isfond",
+ "Base Value": "Valur bażi",
+ "Character Card": "Karta tal-karattru",
+ "Character Name": "Isem tal-karattru",
+ "Checked In At": "Wasla rreġistrata fi",
+ "Checked In By": "Wasla rreġistrata minn",
+ "Condition Name": "Isem tal-kundizzjoni",
+ "Contact email address": "Indirizz tal-email għall-kuntatt",
+ "Copper Pieces": "Muniti tar-ram",
+ "Effect Name": "Isem tal-effett",
+ "End Date": "Data tat-tmiem",
+ "Event Name": "Isem tal-avveniment",
+ "Event description": "Deskrizzjoni tal-avveniment",
+ "Event end date and time": "Data u ħin tat-tmiem tal-avveniment",
+ "Event location": "Post tal-avveniment",
+ "Event name": "Isem tal-avveniment",
+ "Event start date and time": "Data u ħin tal-bidu tal-avveniment",
+ "Faith": "Fidi",
+ "Full name of the player": "Isem sħiħ tal-plejer",
+ "Game Master Notes (Private)": "Noti tal-mexxej tal-logħba (privati)",
+ "Game Master Notes (Public)": "Noti tal-mexxej tal-logħba (pubbliċi)",
+ "Gold Pieces": "Muniti tad-deheb",
+ "Item Name": "Isem tal-oġġett",
+ "Items and Money": "Oġġetti u flus",
+ "Mechanical Effect": "Effett fil-logħba",
+ "Modifier Value": "Valur tal-modifikatur",
+ "Name of the condition": "Isem tal-kundizzjoni",
+ "Name of the effect": "Isem tal-effett",
+ "Name of the event": "Isem tal-avveniment",
+ "Name of the item": "Isem tal-oġġett",
+ "Name of the skill": "Isem tal-ħila",
+ "Name of the stat": "Isem tal-attribut",
+ "Nextcloud user": "Utent ta' Nextcloud",
+ "Notes about items and money": "Noti dwar l-oġġetti u l-flus",
+ "Notes about the player": "Noti dwar il-plejer",
+ "Overridden At": "Eċċezzjoni mogħtija fi",
+ "Overridden By": "Eċċezzjoni mogħtija minn",
+ "Override Reason": "Raġuni għall-eċċezzjoni",
+ "Owner": "Sid",
+ "Owner UID": "UID tas-sid",
+ "Participating Characters": "Karattri parteċipanti",
+ "Player Name": "Isem tal-plejer",
+ "Post-Event Effects": "Effetti wara l-avveniment",
+ "Real name of the player": "Isem reali tal-plejer",
+ "Required Conditions": "Kundizzjonijiet meħtieġa",
+ "Required Effects": "Effetti meħtieġa",
+ "Required Score": "Valur meħtieġ",
+ "Required Skills": "Ħiliet meħtieġa",
+ "Required Stats": "Attributi meħtieġa",
+ "Requirement Overrides": "Eċċezzjonijiet mill-prerekwiżiti",
+ "Setting Name": "Isem tad-dinja tal-logħba",
+ "Silver Pieces": "Muniti tal-fidda",
+ "Skill Name": "Isem tal-ħila",
+ "Start Date": "Data tal-bidu",
+ "Starting value for all characters": "Valur inizjali għall-karattri kollha",
+ "Stat": "Attribut",
+ "Status": "Status",
+ "System Notice": "Avviż tas-sistema",
+ "Unique Artifact": "Artefatt uniku",
+ "Unique Condition": "Kundizzjoni unika",
+ "XP Amount": "Ammont ta' punti ta' esperjenza",
+ "XP Award": "Għoti ta' punti ta' esperjenza"
},
"nplurals=2; plural=(n != 1);"
)
diff --git a/l10n/mt.json b/l10n/mt.json
index 67100322..b44fa30b 100644
--- a/l10n/mt.json
+++ b/l10n/mt.json
@@ -151,7 +151,78 @@
"None — this is a root skill.": "L-ebda waħda — din hija ħila bażika.",
"Where the automation lives": "Fejn tgħix l-awtomazzjoni",
"Flows are what happens without anyone clicking: a reminder before a deadline passes, a confirmation sent on submission. This is where you read and edit them. Nothing to build now.": "Il-Flows huma dak li jiġri mingħajr ma jikklikkja ħadd: tfakkira qabel ma jiskadi terminu, konferma mal-preżentazzjoni. Hawn taqrahom u teditjahom — m'hemm xejn x'tibni issa.",
- "Open Flows in the menu": "Iftaħ Flows fil-menu"
+ "Open Flows in the menu": "Iftaħ Flows fil-menu",
+ "Ability Name": "Isem tal-abbiltà",
+ "Affected Characters": "Karattri affettwati",
+ "Amount of copper pieces": "Ammont ta' muniti tar-ram",
+ "Amount of gold pieces": "Ammont ta' muniti tad-deheb",
+ "Amount of silver pieces": "Ammont ta' muniti tal-fidda",
+ "Automatic system notices": "Avviżi awtomatiċi tas-sistema",
+ "Award Reason": "Raġuni għall-għoti",
+ "Awarded At": "Mogħti fi",
+ "Awarded By": "Mogħti minn",
+ "Background Story": "Storja tal-isfond",
+ "Base Value": "Valur bażi",
+ "Character Card": "Karta tal-karattru",
+ "Character Name": "Isem tal-karattru",
+ "Checked In At": "Wasla rreġistrata fi",
+ "Checked In By": "Wasla rreġistrata minn",
+ "Condition Name": "Isem tal-kundizzjoni",
+ "Contact email address": "Indirizz tal-email għall-kuntatt",
+ "Copper Pieces": "Muniti tar-ram",
+ "Effect Name": "Isem tal-effett",
+ "End Date": "Data tat-tmiem",
+ "Event Name": "Isem tal-avveniment",
+ "Event description": "Deskrizzjoni tal-avveniment",
+ "Event end date and time": "Data u ħin tat-tmiem tal-avveniment",
+ "Event location": "Post tal-avveniment",
+ "Event name": "Isem tal-avveniment",
+ "Event start date and time": "Data u ħin tal-bidu tal-avveniment",
+ "Faith": "Fidi",
+ "Full name of the player": "Isem sħiħ tal-plejer",
+ "Game Master Notes (Private)": "Noti tal-mexxej tal-logħba (privati)",
+ "Game Master Notes (Public)": "Noti tal-mexxej tal-logħba (pubbliċi)",
+ "Gold Pieces": "Muniti tad-deheb",
+ "Item Name": "Isem tal-oġġett",
+ "Items and Money": "Oġġetti u flus",
+ "Mechanical Effect": "Effett fil-logħba",
+ "Modifier Value": "Valur tal-modifikatur",
+ "Name of the condition": "Isem tal-kundizzjoni",
+ "Name of the effect": "Isem tal-effett",
+ "Name of the event": "Isem tal-avveniment",
+ "Name of the item": "Isem tal-oġġett",
+ "Name of the skill": "Isem tal-ħila",
+ "Name of the stat": "Isem tal-attribut",
+ "Nextcloud user": "Utent ta' Nextcloud",
+ "Notes about items and money": "Noti dwar l-oġġetti u l-flus",
+ "Notes about the player": "Noti dwar il-plejer",
+ "Overridden At": "Eċċezzjoni mogħtija fi",
+ "Overridden By": "Eċċezzjoni mogħtija minn",
+ "Override Reason": "Raġuni għall-eċċezzjoni",
+ "Owner": "Sid",
+ "Owner UID": "UID tas-sid",
+ "Participating Characters": "Karattri parteċipanti",
+ "Player Name": "Isem tal-plejer",
+ "Post-Event Effects": "Effetti wara l-avveniment",
+ "Real name of the player": "Isem reali tal-plejer",
+ "Required Conditions": "Kundizzjonijiet meħtieġa",
+ "Required Effects": "Effetti meħtieġa",
+ "Required Score": "Valur meħtieġ",
+ "Required Skills": "Ħiliet meħtieġa",
+ "Required Stats": "Attributi meħtieġa",
+ "Requirement Overrides": "Eċċezzjonijiet mill-prerekwiżiti",
+ "Setting Name": "Isem tad-dinja tal-logħba",
+ "Silver Pieces": "Muniti tal-fidda",
+ "Skill Name": "Isem tal-ħila",
+ "Start Date": "Data tal-bidu",
+ "Starting value for all characters": "Valur inizjali għall-karattri kollha",
+ "Stat": "Attribut",
+ "Status": "Status",
+ "System Notice": "Avviż tas-sistema",
+ "Unique Artifact": "Artefatt uniku",
+ "Unique Condition": "Kundizzjoni unika",
+ "XP Amount": "Ammont ta' punti ta' esperjenza",
+ "XP Award": "Għoti ta' punti ta' esperjenza"
},
"plurals": {}
}
diff --git a/l10n/nb.js b/l10n/nb.js
index 26e8c719..03fd0532 100644
--- a/l10n/nb.js
+++ b/l10n/nb.js
@@ -152,7 +152,78 @@ OC.L10N.register(
"None — this is a root skill.": "Ingen — dette er en grunnferdighet.",
"Where the automation lives": "Der automatiseringen bor",
"Flows are what happens without anyone clicking: a reminder before a deadline passes, a confirmation sent on submission. This is where you read and edit them. Nothing to build now.": "Flows er det som skjer uten at noen klikker: en påminnelse før en frist går ut, en bekreftelse ved innsending. Her leser og redigerer du dem — det er ingenting å bygge nå.",
- "Open Flows in the menu": "Åpne Flows i menyen"
+ "Open Flows in the menu": "Åpne Flows i menyen",
+ "Ability Name": "Navn på egenskapen",
+ "Affected Characters": "Berørte karakterer",
+ "Amount of copper pieces": "Antall kobberstykker",
+ "Amount of gold pieces": "Antall gullstykker",
+ "Amount of silver pieces": "Antall sølvstykker",
+ "Automatic system notices": "Automatiske systemmeldinger",
+ "Award Reason": "Årsak til tildelingen",
+ "Awarded At": "Tildelt den",
+ "Awarded By": "Tildelt av",
+ "Background Story": "Bakgrunnshistorie",
+ "Base Value": "Grunnverdi",
+ "Character Card": "Karakterkort",
+ "Character Name": "Navn på karakteren",
+ "Checked In At": "Sjekket inn den",
+ "Checked In By": "Sjekket inn av",
+ "Condition Name": "Navn på tilstanden",
+ "Contact email address": "E-postadresse for kontakt",
+ "Copper Pieces": "Kobberstykker",
+ "Effect Name": "Navn på effekten",
+ "End Date": "Sluttdato",
+ "Event Name": "Navn på arrangementet",
+ "Event description": "Beskrivelse av arrangementet",
+ "Event end date and time": "Sluttdato og -tid for arrangementet",
+ "Event location": "Sted for arrangementet",
+ "Event name": "Navn på arrangementet",
+ "Event start date and time": "Startdato og -tid for arrangementet",
+ "Faith": "Tro",
+ "Full name of the player": "Spillerens fulle navn",
+ "Game Master Notes (Private)": "Spillederens notater (private)",
+ "Game Master Notes (Public)": "Spillederens notater (offentlige)",
+ "Gold Pieces": "Gullstykker",
+ "Item Name": "Navn på gjenstanden",
+ "Items and Money": "Gjenstander og penger",
+ "Mechanical Effect": "Spillteknisk effekt",
+ "Modifier Value": "Modifikatorens verdi",
+ "Name of the condition": "Navn på tilstanden",
+ "Name of the effect": "Navn på effekten",
+ "Name of the event": "Navn på arrangementet",
+ "Name of the item": "Navn på gjenstanden",
+ "Name of the skill": "Navn på ferdigheten",
+ "Name of the stat": "Navn på attributtet",
+ "Nextcloud user": "Nextcloud-bruker",
+ "Notes about items and money": "Notater om gjenstander og penger",
+ "Notes about the player": "Notater om spilleren",
+ "Overridden At": "Overstyrt den",
+ "Overridden By": "Overstyrt av",
+ "Override Reason": "Årsak til overstyringen",
+ "Owner": "Eier",
+ "Owner UID": "Eierens UID",
+ "Participating Characters": "Deltakende karakterer",
+ "Player Name": "Navn på spilleren",
+ "Post-Event Effects": "Effekter etter arrangementet",
+ "Real name of the player": "Spillerens virkelige navn",
+ "Required Conditions": "Nødvendige tilstander",
+ "Required Effects": "Nødvendige effekter",
+ "Required Score": "Nødvendig verdi",
+ "Required Skills": "Nødvendige ferdigheter",
+ "Required Stats": "Nødvendige attributter",
+ "Requirement Overrides": "Overstyrte forutsetninger",
+ "Setting Name": "Navn på spillverdenen",
+ "Silver Pieces": "Sølvstykker",
+ "Skill Name": "Navn på ferdigheten",
+ "Start Date": "Startdato",
+ "Starting value for all characters": "Startverdi for alle karakterer",
+ "Stat": "Attributt",
+ "Status": "Status",
+ "System Notice": "Systemmelding",
+ "Unique Artifact": "Unik artefakt",
+ "Unique Condition": "Unik tilstand",
+ "XP Amount": "Antall erfaringspoeng",
+ "XP Award": "XP-tildeling"
},
"nplurals=2; plural=(n != 1);"
)
diff --git a/l10n/nb.json b/l10n/nb.json
index be13fb2c..777c319e 100644
--- a/l10n/nb.json
+++ b/l10n/nb.json
@@ -151,7 +151,78 @@
"None — this is a root skill.": "Ingen — dette er en grunnferdighet.",
"Where the automation lives": "Der automatiseringen bor",
"Flows are what happens without anyone clicking: a reminder before a deadline passes, a confirmation sent on submission. This is where you read and edit them. Nothing to build now.": "Flows er det som skjer uten at noen klikker: en påminnelse før en frist går ut, en bekreftelse ved innsending. Her leser og redigerer du dem — det er ingenting å bygge nå.",
- "Open Flows in the menu": "Åpne Flows i menyen"
+ "Open Flows in the menu": "Åpne Flows i menyen",
+ "Ability Name": "Navn på egenskapen",
+ "Affected Characters": "Berørte karakterer",
+ "Amount of copper pieces": "Antall kobberstykker",
+ "Amount of gold pieces": "Antall gullstykker",
+ "Amount of silver pieces": "Antall sølvstykker",
+ "Automatic system notices": "Automatiske systemmeldinger",
+ "Award Reason": "Årsak til tildelingen",
+ "Awarded At": "Tildelt den",
+ "Awarded By": "Tildelt av",
+ "Background Story": "Bakgrunnshistorie",
+ "Base Value": "Grunnverdi",
+ "Character Card": "Karakterkort",
+ "Character Name": "Navn på karakteren",
+ "Checked In At": "Sjekket inn den",
+ "Checked In By": "Sjekket inn av",
+ "Condition Name": "Navn på tilstanden",
+ "Contact email address": "E-postadresse for kontakt",
+ "Copper Pieces": "Kobberstykker",
+ "Effect Name": "Navn på effekten",
+ "End Date": "Sluttdato",
+ "Event Name": "Navn på arrangementet",
+ "Event description": "Beskrivelse av arrangementet",
+ "Event end date and time": "Sluttdato og -tid for arrangementet",
+ "Event location": "Sted for arrangementet",
+ "Event name": "Navn på arrangementet",
+ "Event start date and time": "Startdato og -tid for arrangementet",
+ "Faith": "Tro",
+ "Full name of the player": "Spillerens fulle navn",
+ "Game Master Notes (Private)": "Spillederens notater (private)",
+ "Game Master Notes (Public)": "Spillederens notater (offentlige)",
+ "Gold Pieces": "Gullstykker",
+ "Item Name": "Navn på gjenstanden",
+ "Items and Money": "Gjenstander og penger",
+ "Mechanical Effect": "Spillteknisk effekt",
+ "Modifier Value": "Modifikatorens verdi",
+ "Name of the condition": "Navn på tilstanden",
+ "Name of the effect": "Navn på effekten",
+ "Name of the event": "Navn på arrangementet",
+ "Name of the item": "Navn på gjenstanden",
+ "Name of the skill": "Navn på ferdigheten",
+ "Name of the stat": "Navn på attributtet",
+ "Nextcloud user": "Nextcloud-bruker",
+ "Notes about items and money": "Notater om gjenstander og penger",
+ "Notes about the player": "Notater om spilleren",
+ "Overridden At": "Overstyrt den",
+ "Overridden By": "Overstyrt av",
+ "Override Reason": "Årsak til overstyringen",
+ "Owner": "Eier",
+ "Owner UID": "Eierens UID",
+ "Participating Characters": "Deltakende karakterer",
+ "Player Name": "Navn på spilleren",
+ "Post-Event Effects": "Effekter etter arrangementet",
+ "Real name of the player": "Spillerens virkelige navn",
+ "Required Conditions": "Nødvendige tilstander",
+ "Required Effects": "Nødvendige effekter",
+ "Required Score": "Nødvendig verdi",
+ "Required Skills": "Nødvendige ferdigheter",
+ "Required Stats": "Nødvendige attributter",
+ "Requirement Overrides": "Overstyrte forutsetninger",
+ "Setting Name": "Navn på spillverdenen",
+ "Silver Pieces": "Sølvstykker",
+ "Skill Name": "Navn på ferdigheten",
+ "Start Date": "Startdato",
+ "Starting value for all characters": "Startverdi for alle karakterer",
+ "Stat": "Attributt",
+ "Status": "Status",
+ "System Notice": "Systemmelding",
+ "Unique Artifact": "Unik artefakt",
+ "Unique Condition": "Unik tilstand",
+ "XP Amount": "Antall erfaringspoeng",
+ "XP Award": "XP-tildeling"
},
"plurals": {}
}
diff --git a/l10n/nl.js b/l10n/nl.js
index 4cf3c0f1..aadf76b4 100644
--- a/l10n/nl.js
+++ b/l10n/nl.js
@@ -1,251 +1,321 @@
OC.L10N.register(
"larpinq",
{
- "Larpinq": "Larpinq",
- "Dashboard": "Dashboard",
- "Characters": "Karakters",
- "Character": "Karakter",
- "Players": "Spelers",
- "Player": "Speler",
+ "(score ≥ {n})": "(score ≥ {n})",
"Abilities": "Vaardigheden",
"Ability": "Vaardigheid",
- "Skills": "Skills",
- "Skill": "Skill",
- "Items": "Items",
- "Item": "Item",
- "Conditions": "Condities",
- "Condition": "Conditie",
- "Effects": "Effecten",
- "Effect": "Effect",
- "Events": "Evenementen",
- "Event": "Evenement",
- "Settings": "Instellingen",
- "Worlds": "Werelden",
- "Setting": "Instelling",
- "World": "Wereld",
- "Documentation": "Documentatie",
- "New character": "Nieuw karakter",
- "New player": "Nieuwe speler",
- "New ability": "Nieuwe vaardigheid",
- "New skill": "Nieuwe skill",
- "New item": "Nieuw item",
- "New condition": "Nieuwe conditie",
- "New effect": "Nieuw effect",
- "New event": "Nieuw evenement",
- "Name": "Naam",
- "Description": "Omschrijving",
- "Type": "Type",
+ "Ability Name": "Naam van de eigenschap",
+ "Add more characters and events from the menu, and the Dashboard tracks them as your world grows. The documentation covers the rest.": "Voeg via het menu meer personages en evenementen toe; het Dashboard houdt ze bij terwijl je wereld groeit. De documentatie behandelt de rest.",
+ "Add your first character. Give them a name and a type, and save. You can flesh out abilities, skills and items later.": "Voeg je eerste personage toe. Geef het een naam en een type en sla op. Eigenschappen, vaardigheden en voorwerpen werk je later uit.",
+ "Advanced settings": "Geavanceerde instellingen",
+ "Affected Characters": "Betrokken personages",
+ "All worlds": "Alle werelden",
+ "Amount of copper pieces": "Aantal koperstukken",
+ "Amount of gold pieces": "Aantal goudstukken",
+ "Amount of silver pieces": "Aantal zilverstukken",
+ "Applied effects": "Toegepaste effecten",
+ "Applies effects": "Past effecten toe",
"Approved": "Goedgekeurd",
- "Gold": "Goud",
- "Silver": "Zilver",
- "Copper": "Koper",
+ "Are you sure you want to delete this?": "Weet u zeker dat u dit wilt verwijderen?",
+ "Attendance": "Aanwezigheid",
+ "Attendance tracking is unavailable — showing the participant list read-only.": "Aanwezigheidsregistratie is niet beschikbaar — de deelnemerslijst wordt alleen-lezen getoond.",
+ "Attendees": "Deelnemers",
+ "Automatic system notices": "Automatische systeemmeldingen",
+ "Available": "Beschikbaar",
+ "Award Reason": "Reden voor de toekenning",
+ "Award record": "Toekenningsrecord",
+ "Awarded": "Toegekend",
+ "Awarded At": "Toegekend op",
+ "Awarded By": "Toegekend door",
+ "Back to list": "Terug naar lijst",
+ "Background": "Achtergrond",
+ "Background Story": "Achtergrondverhaal",
"Base": "Basis",
- "Modifier": "Modifier",
- "Modification": "Wijziging",
- "Cumulative": "Cumulatief",
- "Location": "Locatie",
- "Start date": "Startdatum",
- "End date": "Einddatum",
- "Unique": "Uniek",
- "Value": "Waarde",
- "player": "speler",
- "npc": "npc",
- "other": "overig",
- "no": "nee",
- "approved": "goedgekeurd",
- "positive": "positief",
- "negative": "negatief",
- "cumulative": "cumulatief",
- "non-cumulative": "niet-cumulatief",
- "Save": "Opslaan",
+ "Base Value": "Basiswaarde",
+ "Base value": "Basiswaarde",
+ "Build & world": "Build en wereld",
"Cancel": "Annuleren",
- "Delete": "Verwijderen",
- "Edit": "Bewerken",
- "Search": "Zoeken",
- "Loading...": "Laden...",
- "Back to list": "Terug naar lijst",
- "Are you sure you want to delete this?": "Weet u zeker dat u dit wilt verwijderen?",
- "Download PDF": "PDF downloaden",
- "Select a template to generate a PDF from this character": "Selecteer een template om een PDF te genereren van dit karakter",
- "PDF generation requires the DocuDesk app to be installed and enabled": "PDF-generatie vereist dat de DocuDesk-app is geïnstalleerd en ingeschakeld",
- "Configuration saved": "Configuratie opgeslagen",
+ "Character": "Karakter",
+ "Character Card": "Personagekaart",
+ "Character Name": "Naam van het personage",
+ "Characters": "Karakters",
+ "Characters are the heart of your world. Open Characters from the menu to get started.": "Personages vormen de kern van je wereld. Open Personages in het menu om te beginnen.",
+ "Characters in this world": "Personages in deze wereld",
+ "Characters played": "Gespeelde personages",
+ "Characters with this skill": "Personages met deze vaardigheid",
+ "Check in": "Inchecken",
+ "Check-in": "Inchecken",
+ "Checked In At": "Ingecheckt op",
+ "Checked In By": "Ingecheckt door",
+ "Checked in": "Ingecheckt",
+ "Click Characters in the menu": "Klik op Personages in het menu",
+ "Click Events in the menu": "Klik op Evenementen in het menu",
+ "Click New and save a character": "Klik op Nieuw en sla een personage op",
+ "Click New and save an event": "Klik op Nieuw en sla een evenement op",
+ "Condition": "Conditie",
+ "Condition Name": "Naam van de conditie",
+ "Conditions": "Condities",
+ "Conditions granting this effect": "Condities die dit effect verlenen",
+ "Configuration": "Configuratie",
"Configuration re-imported successfully": "Configuratie succesvol opnieuw geïmporteerd",
- "Re-import configuration": "Configuratie opnieuw importeren",
- "Game setup": "Spelinstelling",
- "Advanced settings": "Geavanceerde instellingen",
+ "Configuration saved": "Configuratie opgeslagen",
+ "Configure": "Configureren",
"Configure OpenRegister data source to enable this widget": "Configureer OpenRegister-gegevensbron om deze widget in te schakelen",
- "Loading skill data...": "Skillgegevens laden...",
- "Retry": "Opnieuw proberen",
- "No skill data available": "Geen skillgegevens beschikbaar",
- "characters": "karakters",
- "Other": "Overig",
- "Failed to load skill data": "Laden van skillgegevens mislukt",
- "Data storage": "Gegevensopslag",
"Configure where to store your LARP data": "Configureer waar uw LARP-gegevens worden opgeslagen",
- "Open Register is not installed. Some features might be unavailable.": "Open Register is niet geïnstalleerd. Sommige functies zijn mogelijk niet beschikbaar.",
- "Source": "Bron",
- "Register": "Register",
- "Schema": "Schema",
- "Internal": "Intern",
- "Open Register": "Open Register",
- "Yes": "Ja",
- "No": "Nee",
- "Create": "Aanmaken",
- "No characters yet": "Nog geen karakters",
- "No events yet": "Nog geen evenementen",
- "View all ({count})": "Alles bekijken ({count})",
- "Recent characters": "Recente karakters",
- "Recent events": "Recente evenementen",
- "Skill usage by characters": "Skillgebruik per karakter",
- "Refresh dashboard": "Dashboard vernieuwen",
- "Larpinq settings": "Larpinq-instellingen",
"Configure your Larpinq installation": "Configureer uw Larpinq-installatie",
- "Version information": "Versie-informatie",
- "Information about the current Larpinq installation": "Informatie over de huidige Larpinq-installatie",
- "Support": "Ondersteuning",
- "For support, contact us at": "Voor ondersteuning, neem contact met ons op via",
- "For a Service Level Agreement (SLA), contact": "Voor een Service Level Agreement (SLA), neem contact op met",
- "Importing...": "Importeren...",
- "Re-import failed": "Opnieuw importeren mislukt",
- "Configuration": "Configuratie",
- "OpenRegister is not configured. Some features may be limited.": "OpenRegister is niet geconfigureerd. Sommige functies zijn mogelijk beperkt.",
- "Configure": "Configureren",
- "Failed to save. Please try again.": "Opslaan mislukt. Probeer het opnieuw.",
- "Failed to delete.": "Verwijderen mislukt.",
- "Background": "Achtergrond",
- "Save all": "Alles opslaan",
- "Unnamed character": "Naamloos karakter",
- "Unnamed event": "Naamloos evenement",
- "Welcome to Larpinq!": "Welkom bij Larpinq!",
"Configure your Larpinq settings here.": "Configureer hier uw Larpinq-instellingen.",
+ "Contact card": "Contactkaart",
+ "Contact email address": "E-mailadres voor contact",
+ "Copper": "Koper",
+ "Copper Pieces": "Koperstukken",
+ "Create": "Aanmaken",
+ "Create the Larpinq register and schemas in OpenRegister: the data store for characters, players, abilities, skills, items, conditions, effects, events and settings. This normally runs automatically on install; run it here if OpenRegister was enabled after Larpinq, or to repair a partial install. It is safe to run more than once.": "Maak het Larpinq-register en de schema's aan in OpenRegister: de gegevensopslag voor personages, spelers, eigenschappen, vaardigheden, voorwerpen, condities, effecten, evenementen en instellingen. Dit gebeurt normaal automatisch bij installatie; voer het hier uit als OpenRegister na Larpinq is ingeschakeld, of om een halve installatie te herstellen. Je kunt dit veilig meerdere keren uitvoeren.",
+ "Create your first event. Name it and set a start date, then save. Your characters can join it from here.": "Maak je eerste evenement aan. Geef het een naam en een startdatum en sla op. Je personages kunnen zich hier aanmelden.",
+ "Cumulative": "Cumulatief",
+ "Currently affecting": "Momenteel van invloed op",
+ "Dashboard": "Dashboard",
+ "Data storage": "Gegevensopslag",
+ "Delete": "Verwijderen",
+ "Demo data (optional)": "Demodata (optioneel)",
+ "Description": "Omschrijving",
+ "Direction": "Richting",
+ "Documentation": "Documentatie",
+ "Download PDF": "PDF downloaden",
+ "Edit": "Bewerken",
+ "Effect": "Effect",
+ "Effect Name": "Naam van het effect",
+ "Effects": "Effecten",
+ "Effects & prerequisites": "Effecten en vereisten",
+ "Effects applied after event": "Effecten toegepast na het evenement",
+ "Effects modifying this ability": "Effecten die deze eigenschap wijzigen",
+ "End Date": "Einddatum",
+ "End date": "Einddatum",
+ "Event": "Evenement",
+ "Event & character": "Evenement en personage",
+ "Event Name": "Naam van het evenement",
+ "Event description": "Beschrijving van het evenement",
+ "Event end date and time": "Einddatum en -tijd van het evenement",
+ "Event location": "Locatie van het evenement",
+ "Event name": "Naam van het evenement",
+ "Event pack": "Evenementpakket",
+ "Event start date and time": "Startdatum en -tijd van het evenement",
+ "Events": "Evenementen",
+ "Events are the game sessions where your world comes alive. Open Events from the menu.": "Evenementen zijn de speelsessies waarin je wereld tot leven komt. Open Evenementen in het menu.",
+ "Events in this world": "Evenementen in deze wereld",
+ "Failed to delete.": "Verwijderen mislukt.",
+ "Failed to load skill data": "Laden van skillgegevens mislukt",
"Failed to save settings": "Opslaan van instellingen mislukt",
+ "Failed to save. Please try again.": "Opslaan mislukt. Probeer het opnieuw.",
+ "Faith": "Geloof",
+ "Features & roadmap": "Functies en roadmap",
+ "Flow": "Flow",
+ "Flows": "Flows",
+ "Flows are what happens without anyone clicking: a reminder before a deadline passes, a confirmation sent on submission. This is where you read and edit them. Nothing to build now.": "Flows zijn wat er gebeurt zonder dat iemand klikt: een herinnering voordat een termijn verstrijkt, een bevestiging die bij indiening wordt verstuurd. Hier leest en bewerkt u ze. U hoeft nu niets te bouwen.",
+ "For a Service Level Agreement (SLA), contact": "Voor een Service Level Agreement (SLA), neem contact op met",
+ "For support, contact us at": "Voor ondersteuning, neem contact met ons op via",
+ "Full name of the player": "Volledige naam van de speler",
+ "Game Master Notes (Private)": "Notities van de spelleider (privé)",
+ "Game Master Notes (Public)": "Notities van de spelleider (openbaar)",
+ "Game Settings": "Spelinstellingen",
+ "Game setup": "Spelinstelling",
+ "Game state & notes": "Spelstatus en notities",
"General": "Algemeen",
+ "Getting started": "Aan de slag",
+ "Gold": "Goud",
+ "Gold Pieces": "Goudstukken",
+ "Gold pieces": "Goudstukken",
+ "Grants effects": "Verleent effecten",
+ "Held by": "In bezit van",
+ "History": "Geschiedenis",
+ "Identity": "Identiteit",
+ "Importing...": "Importeren...",
+ "Information about the current Larpinq installation": "Informatie over de huidige Larpinq-installatie",
+ "Internal": "Intern",
+ "Item": "Item",
+ "Item Name": "Naam van het voorwerp",
+ "Items": "Items",
+ "Items and Money": "Voorwerpen en geld",
+ "Items granting this effect": "Voorwerpen die dit effect verlenen",
+ "Larpinq": "Larpinq",
"Larpinq Settings": "Larpinq-instellingen",
- "Save All": "Alles opslaan",
- "Settings saved successfully": "Instellingen succesvol opgeslagen",
- "Version Information": "Versie-informatie",
- "Check-in": "Inchecken",
- "Attendance": "Aanwezigheid",
- "Check in": "Inchecken",
- "No-show": "Niet verschenen",
- "Registered": "Ingeschreven",
- "Checked in": "Ingecheckt",
- "No confirmed participants for this event yet.": "Nog geen bevestigde deelnemers voor dit evenement.",
- "Attendance tracking is unavailable — showing the participant list read-only.": "Aanwezigheidsregistratie is niet beschikbaar — de deelnemerslijst wordt alleen-lezen getoond.",
- "Skill tree": "Vaardigheidsboom",
- "No character (uncoloured)": "Geen personage (ongekleurd)",
- "All worlds": "Alle werelden",
- "Owned": "In bezit",
- "Available": "Beschikbaar",
+ "Larpinq settings": "Larpinq-instellingen",
+ "Let's take a quick spin through your world. We'll create a character and an event together so you can see how the pieces fit, and you'll add each record yourself.": "Laten we snel door je wereld lopen. We maken samen een personage en een evenement aan zodat je ziet hoe alles in elkaar grijpt, en jij legt elk record zelf vast.",
+ "Load an example LARP with characters, skills, items and events, so lists, character sheets and the event calendar show a working product right away. Optional, and safe to run more than once. Skip this on a production install.": "Laad een voorbeeld-LARP met personages, vaardigheden, items en evenementen, zodat lijsten, personagebladen en de evenementenkalender meteen een werkend product tonen. Optioneel en veilig om vaker uit te voeren. Sla dit over bij een productie-installatie.",
+ "Loading skill data...": "Skillgegevens laden...",
+ "Loading...": "Laden...",
+ "Location": "Locatie",
"Locked": "Vergrendeld",
- "Unknown": "Onbekend",
- "No skills to show": "Geen skills om te tonen",
- "No skills exist yet for the selected world.": "Er bestaan nog geen skills voor de geselecteerde wereld.",
- "Requires: {list}": "Vereist: {list}",
- "No prerequisites": "Geen vereisten",
- "Required skills": "Vereiste skills",
- "Required abilities": "Vereiste vaardigheden",
- "(score ≥ {n})": "(score ≥ {n})",
- "Required conditions": "Vereiste condities",
- "Required effects": "Vereiste effecten",
- "Prerequisites": "Vereisten",
- "None — this is a root skill.": "Geen — dit is een basisskill.",
- "Welcome to LARPing": "Welkom bij LARPing",
"Manage your live-action roleplay world, with characters, players, items and events all in one place. One quick step provisions your data store, then you're ready to play.": "Beheer je live-action roleplay-wereld, met personages, spelers, voorwerpen en evenementen op één plek. Eén snelle stap richt je gegevensopslag in, daarna kun je spelen.",
- "Provision your world": "Je wereld inrichten",
- "Create the Larpinq register and schemas in OpenRegister: the data store for characters, players, abilities, skills, items, conditions, effects, events and settings. This normally runs automatically on install; run it here if OpenRegister was enabled after Larpinq, or to repair a partial install. It is safe to run more than once.": "Maak het Larpinq-register en de schema's aan in OpenRegister: de gegevensopslag voor personages, spelers, eigenschappen, vaardigheden, voorwerpen, condities, effecten, evenementen en instellingen. Dit gebeurt normaal automatisch bij installatie; voer het hier uit als OpenRegister na Larpinq is ingeschakeld, of om een halve installatie te herstellen. Je kunt dit veilig meerdere keren uitvoeren.",
- "You're ready": "Je bent klaar",
- "That's it. Your world's data store is provisioned. Jump into the Dashboard to see it at a glance, and reopen this setup or the guided tour anytime from the app's … menu.": "Dat was het. De gegevensopslag van je wereld staat klaar. Ga naar het Dashboard voor een overzicht, en open deze installatie of de rondleiding wanneer je wilt opnieuw via het …-menu van de app.",
- "Getting started": "Aan de slag",
- "Let's take a quick spin through your world. We'll create a character and an event together so you can see how the pieces fit, and you'll add each record yourself.": "Laten we snel door je wereld lopen. We maken samen een personage en een evenement aan zodat je ziet hoe alles in elkaar grijpt, en jij legt elk record zelf vast.",
- "Characters are the heart of your world. Open Characters from the menu to get started.": "Personages vormen de kern van je wereld. Open Personages in het menu om te beginnen.",
- "Click Characters in the menu": "Klik op Personages in het menu",
- "Add your first character. Give them a name and a type, and save. You can flesh out abilities, skills and items later.": "Voeg je eerste personage toe. Geef het een naam en een type en sla op. Eigenschappen, vaardigheden en voorwerpen werk je later uit.",
- "Click New and save a character": "Klik op Nieuw en sla een personage op",
- "Events are the game sessions where your world comes alive. Open Events from the menu.": "Evenementen zijn de speelsessies waarin je wereld tot leven komt. Open Evenementen in het menu.",
- "Click Events in the menu": "Klik op Evenementen in het menu",
- "Create your first event. Name it and set a start date, then save. Your characters can join it from here.": "Maak je eerste evenement aan. Geef het een naam en een startdatum en sla op. Je personages kunnen zich hier aanmelden.",
- "Click New and save an event": "Klik op Nieuw en sla een evenement op",
- "Your world has its first character": "Je wereld heeft zijn eerste personage",
- "Add more characters and events from the menu, and the Dashboard tracks them as your world grows. The documentation covers the rest.": "Voeg via het menu meer personages en evenementen toe; het Dashboard houdt ze bij terwijl je wereld groeit. De documentatie behandelt de rest.",
- "Open the documentation to keep going": "Open de documentatie om verder te gaan",
+ "Mechanical Effect": "Speleffect",
"Mechanics": "Spelmechanieken",
- "XP Awards": "XP-toekenningen",
- "Game Settings": "Spelinstellingen",
- "Features & roadmap": "Functies en roadmap",
- "Flows": "Flows",
- "Starts": "Begint",
- "Identity": "Identiteit",
- "XP awarded": "Toegekende XP",
- "Gold pieces": "Goudstukken",
- "Game state & notes": "Spelstatus en notities",
- "Build & world": "Build en wereld",
- "XP award history": "Geschiedenis XP-toekenningen",
- "XP": "XP",
- "Reason": "Reden",
- "Awarded": "Toegekend",
+ "Min score": "Minimumscore",
+ "Modification": "Wijziging",
+ "Modifier": "Modifier",
+ "Modifier Value": "Waarde van de aanpassing",
+ "Modifier value": "Modificatiewaarde",
+ "Modifies abilities": "Wijzigt eigenschappen",
+ "Name": "Naam",
+ "Name of the condition": "Naam van de conditie",
+ "Name of the effect": "Naam van het effect",
+ "Name of the event": "Naam van het evenement",
+ "Name of the item": "Naam van het voorwerp",
+ "Name of the skill": "Naam van de vaardigheid",
+ "Name of the stat": "Naam van de statistiek",
+ "New ability": "Nieuwe vaardigheid",
+ "New character": "Nieuw karakter",
+ "New condition": "Nieuwe conditie",
+ "New effect": "Nieuw effect",
+ "New event": "Nieuw evenement",
+ "New item": "Nieuw item",
+ "New player": "Nieuwe speler",
+ "New skill": "Nieuwe skill",
+ "Nextcloud user": "Nextcloud-gebruiker",
+ "No": "Nee",
"No XP awarded yet.": "Nog geen XP toegekend.",
- "Portrait & sheet": "Portret en spelersblad",
- "History": "Geschiedenis",
- "Contact card": "Contactkaart",
- "Related": "Gerelateerd",
- "Characters played": "Gespeelde personages",
+ "No XP granted yet.": "Nog geen XP verleend.",
+ "No character (uncoloured)": "Geen personage (ongekleurd)",
+ "No characters are currently affected.": "Momenteel zijn er geen personages beïnvloed.",
+ "No characters have learned this skill yet.": "Nog geen personages hebben deze vaardigheid geleerd.",
+ "No characters in this world yet.": "Nog geen personages in deze wereld.",
"No characters played yet.": "Nog geen personages gespeeld.",
- "Base value": "Basiswaarde",
- "Effects modifying this ability": "Effecten die deze eigenschap wijzigen",
- "Direction": "Richting",
- "Stacks": "Stapelt",
+ "No characters registered yet.": "Nog geen personages aangemeld.",
+ "No characters yet": "Nog geen karakters",
+ "No conditions grant this effect yet.": "Nog geen condities verlenen dit effect.",
+ "No confirmed participants for this event yet.": "Nog geen bevestigde deelnemers voor dit evenement.",
"No effects modify this stat yet.": "Nog geen effecten wijzigen deze waarde.",
- "Skills requiring this stat": "Vaardigheden die deze waarde vereisen",
- "Min score": "Minimumscore",
+ "No events in this world yet.": "Nog geen evenementen in deze wereld.",
+ "No events yet": "Nog geen evenementen",
+ "No items grant this effect yet.": "Nog geen voorwerpen verlenen dit effect.",
+ "No prerequisites": "Geen vereisten",
+ "No skill data available": "Geen skillgegevens beschikbaar",
+ "No skills exist yet for the selected world.": "Er bestaan nog geen skills voor de geselecteerde wereld.",
+ "No skills grant this effect yet.": "Nog geen vaardigheden verlenen dit effect.",
"No skills require this stat yet.": "Nog geen vaardigheden vereisen deze waarde.",
- "Effects & prerequisites": "Effecten en vereisten",
- "Grants effects": "Verleent effecten",
- "Requires skills": "Vereist vaardigheden",
- "Requires stats": "Vereist waarden",
- "Requires conditions": "Vereist condities",
- "Requires effects": "Vereist effecten",
- "Characters with this skill": "Personages met deze vaardigheid",
- "No characters have learned this skill yet.": "Nog geen personages hebben deze vaardigheid geleerd.",
- "Held by": "In bezit van",
+ "No skills to show": "Geen skills om te tonen",
+ "No-show": "Niet verschenen",
"Nobody is holding this item yet.": "Niemand heeft dit voorwerp nog in bezit.",
+ "None — this is a root skill.": "Geen — dit is een basisskill.",
+ "Notes about items and money": "Notities over voorwerpen en geld",
+ "Notes about the player": "Notities over de speler",
+ "Open Flows in the menu": "Open Flows in het menu",
+ "Open Register": "Open Register",
+ "Open Register is not installed. Some features might be unavailable.": "Open Register is niet geïnstalleerd. Sommige functies zijn mogelijk niet beschikbaar.",
+ "Open the documentation to keep going": "Open de documentatie om verder te gaan",
+ "OpenRegister is not configured. Some features may be limited.": "OpenRegister is niet geconfigureerd. Sommige functies zijn mogelijk beperkt.",
+ "Other": "Overig",
+ "Overridden At": "Overschreven op",
+ "Overridden By": "Overschreven door",
+ "Override Reason": "Reden voor de overschrijving",
+ "Owned": "In bezit",
+ "Owner": "Eigenaar",
+ "Owner UID": "UID van de eigenaar",
+ "PDF generation requires the DocuDesk app to be installed and enabled": "PDF-generatie vereist dat de DocuDesk-app is geïnstalleerd en ingeschakeld",
+ "Participating Characters": "Deelnemende personages",
+ "Participating characters": "Deelnemende personages",
+ "Player": "Speler",
+ "Player Name": "Naam van de speler",
+ "Players": "Spelers",
+ "Portrait & sheet": "Portret en spelersblad",
+ "Post-Event Effects": "Effecten na het evenement",
+ "Post-event effects": "Effecten na afloop",
+ "Prerequisites": "Vereisten",
"Props & handouts": "Attributen en handouts",
- "Applied effects": "Toegepaste effecten",
- "Applies effects": "Past effecten toe",
- "Currently affecting": "Momenteel van invloed op",
- "No characters are currently affected.": "Momenteel zijn er geen personages beïnvloed.",
- "Modifier value": "Modificatiewaarde",
- "Modifies abilities": "Wijzigt eigenschappen",
- "Skills granting this effect": "Vaardigheden die dit effect verlenen",
- "No skills grant this effect yet.": "Nog geen vaardigheden verlenen dit effect.",
- "Items granting this effect": "Voorwerpen die dit effect verlenen",
- "No items grant this effect yet.": "Nog geen voorwerpen verlenen dit effect.",
- "Conditions granting this effect": "Condities die dit effect verlenen",
- "No conditions grant this effect yet.": "Nog geen condities verlenen dit effect.",
- "Attendees": "Deelnemers",
- "XP granted": "Verleende XP",
+ "Provision your world": "Je wereld inrichten",
+ "Re-import configuration": "Configuratie opnieuw importeren",
+ "Re-import failed": "Opnieuw importeren mislukt",
+ "Real name of the player": "Echte naam van de speler",
+ "Reason": "Reden",
+ "Recent characters": "Recente karakters",
+ "Recent events": "Recente evenementen",
+ "Refresh dashboard": "Dashboard vernieuwen",
+ "Register": "Register",
+ "Registered": "Ingeschreven",
+ "Related": "Gerelateerd",
+ "Required Conditions": "Vereiste condities",
+ "Required Effects": "Vereiste effecten",
+ "Required Score": "Vereiste score",
+ "Required Skills": "Vereiste vaardigheden",
+ "Required Stats": "Vereiste statistieken",
+ "Required abilities": "Vereiste vaardigheden",
+ "Required conditions": "Vereiste condities",
+ "Required effects": "Vereiste effecten",
+ "Required skills": "Vereiste skills",
+ "Requirement Overrides": "Overschreven vereisten",
+ "Requires conditions": "Vereist condities",
+ "Requires effects": "Vereist effecten",
+ "Requires skills": "Vereist vaardigheden",
+ "Requires stats": "Vereist waarden",
+ "Requires: {list}": "Vereist: {list}",
+ "Retry": "Opnieuw proberen",
+ "Save": "Opslaan",
+ "Save All": "Alles opslaan",
+ "Save all": "Alles opslaan",
"Schedule": "Programma",
- "Post-event effects": "Effecten na afloop",
- "Effects applied after event": "Effecten toegepast na het evenement",
+ "Schema": "Schema",
+ "Search": "Zoeken",
+ "Select a template to generate a PDF from this character": "Selecteer een template om een PDF te genereren van dit karakter",
+ "Setting": "Instelling",
+ "Setting Name": "Naam van de setting",
+ "Settings": "Instellingen",
+ "Settings saved successfully": "Instellingen succesvol opgeslagen",
"Sign-up": "Aanmelding",
- "Participating characters": "Deelnemende personages",
- "No characters registered yet.": "Nog geen personages aangemeld.",
- "XP awards": "XP-toekenningen",
- "No XP granted yet.": "Nog geen XP verleend.",
- "Event pack": "Evenementpakket",
- "Characters in this world": "Personages in deze wereld",
- "No characters in this world yet.": "Nog geen personages in deze wereld.",
- "Events in this world": "Evenementen in deze wereld",
- "No events in this world yet.": "Nog geen evenementen in deze wereld.",
- "XP Award": "XP-toekenning",
- "Award record": "Toekenningsrecord",
- "Event & character": "Evenement en personage",
- "Flow": "Flow",
- "Demo data (optional)": "Demodata (optioneel)",
- "Load an example LARP with characters, skills, items and events, so lists, character sheets and the event calendar show a working product right away. Optional, and safe to run more than once. Skip this on a production install.": "Laad een voorbeeld-LARP met personages, vaardigheden, items en evenementen, zodat lijsten, personagebladen en de evenementenkalender meteen een werkend product tonen. Optioneel en veilig om vaker uit te voeren. Sla dit over bij een productie-installatie.",
+ "Silver": "Zilver",
+ "Silver Pieces": "Zilverstukken",
+ "Skill": "Skill",
+ "Skill Name": "Naam van de vaardigheid",
+ "Skill tree": "Vaardigheidsboom",
+ "Skill usage by characters": "Skillgebruik per karakter",
+ "Skills": "Skills",
+ "Skills granting this effect": "Vaardigheden die dit effect verlenen",
+ "Skills requiring this stat": "Vaardigheden die deze waarde vereisen",
+ "Source": "Bron",
+ "Stacks": "Stapelt",
+ "Start Date": "Startdatum",
+ "Start date": "Startdatum",
+ "Starting value for all characters": "Startwaarde voor alle personages",
+ "Starts": "Begint",
+ "Stat": "Statistiek",
+ "Status": "Status",
+ "Support": "Ondersteuning",
+ "System Notice": "Systeemmelding",
+ "That's it. Your world's data store is provisioned. Jump into the Dashboard to see it at a glance, and reopen this setup or the guided tour anytime from the app's … menu.": "Dat was het. De gegevensopslag van je wereld staat klaar. Ga naar het Dashboard voor een overzicht, en open deze installatie of de rondleiding wanneer je wilt opnieuw via het …-menu van de app.",
+ "Type": "Type",
+ "Unique": "Uniek",
+ "Unique Artifact": "Uniek artefact",
+ "Unique Condition": "Unieke conditie",
+ "Unknown": "Onbekend",
+ "Unnamed character": "Naamloos karakter",
+ "Unnamed event": "Naamloos evenement",
+ "Value": "Waarde",
+ "Version Information": "Versie-informatie",
+ "Version information": "Versie-informatie",
+ "View all ({count})": "Alles bekijken ({count})",
+ "Welcome to LARPing": "Welkom bij LARPing",
+ "Welcome to Larpinq!": "Welkom bij Larpinq!",
"Where the automation lives": "Waar de automatisering zit",
- "Flows are what happens without anyone clicking: a reminder before a deadline passes, a confirmation sent on submission. This is where you read and edit them. Nothing to build now.": "Flows zijn wat er gebeurt zonder dat iemand klikt: een herinnering voordat een termijn verstrijkt, een bevestiging die bij indiening wordt verstuurd. Hier leest en bewerkt u ze. U hoeft nu niets te bouwen.",
- "Open Flows in the menu": "Open Flows in het menu"
+ "World": "Wereld",
+ "Worlds": "Werelden",
+ "XP": "XP",
+ "XP Amount": "Aantal ervaringspunten",
+ "XP Award": "XP-toekenning",
+ "XP Awards": "XP-toekenningen",
+ "XP award history": "Geschiedenis XP-toekenningen",
+ "XP awarded": "Toegekende XP",
+ "XP awards": "XP-toekenningen",
+ "XP granted": "Verleende XP",
+ "Yes": "Ja",
+ "You're ready": "Je bent klaar",
+ "Your world has its first character": "Je wereld heeft zijn eerste personage",
+ "approved": "goedgekeurd",
+ "characters": "karakters",
+ "cumulative": "cumulatief",
+ "negative": "negatief",
+ "no": "nee",
+ "non-cumulative": "niet-cumulatief",
+ "npc": "npc",
+ "other": "overig",
+ "player": "speler",
+ "positive": "positief"
},
"nplurals=2; plural=(n != 1);"
)
diff --git a/l10n/nl.json b/l10n/nl.json
index a0b41162..33c100a8 100644
--- a/l10n/nl.json
+++ b/l10n/nl.json
@@ -1,250 +1,320 @@
{
"translations": {
- "Larpinq": "Larpinq",
- "Dashboard": "Dashboard",
- "Characters": "Karakters",
- "Character": "Karakter",
- "Players": "Spelers",
- "Player": "Speler",
+ "(score ≥ {n})": "(score ≥ {n})",
"Abilities": "Vaardigheden",
"Ability": "Vaardigheid",
- "Skills": "Skills",
- "Skill": "Skill",
- "Items": "Items",
- "Item": "Item",
- "Conditions": "Condities",
- "Condition": "Conditie",
- "Effects": "Effecten",
- "Effect": "Effect",
- "Events": "Evenementen",
- "Event": "Evenement",
- "Settings": "Instellingen",
- "Worlds": "Werelden",
- "Setting": "Instelling",
- "World": "Wereld",
- "Documentation": "Documentatie",
- "New character": "Nieuw karakter",
- "New player": "Nieuwe speler",
- "New ability": "Nieuwe vaardigheid",
- "New skill": "Nieuwe skill",
- "New item": "Nieuw item",
- "New condition": "Nieuwe conditie",
- "New effect": "Nieuw effect",
- "New event": "Nieuw evenement",
- "Name": "Naam",
- "Description": "Omschrijving",
- "Type": "Type",
+ "Ability Name": "Naam van de eigenschap",
+ "Add more characters and events from the menu, and the Dashboard tracks them as your world grows. The documentation covers the rest.": "Voeg via het menu meer personages en evenementen toe; het Dashboard houdt ze bij terwijl je wereld groeit. De documentatie behandelt de rest.",
+ "Add your first character. Give them a name and a type, and save. You can flesh out abilities, skills and items later.": "Voeg je eerste personage toe. Geef het een naam en een type en sla op. Eigenschappen, vaardigheden en voorwerpen werk je later uit.",
+ "Advanced settings": "Geavanceerde instellingen",
+ "Affected Characters": "Betrokken personages",
+ "All worlds": "Alle werelden",
+ "Amount of copper pieces": "Aantal koperstukken",
+ "Amount of gold pieces": "Aantal goudstukken",
+ "Amount of silver pieces": "Aantal zilverstukken",
+ "Applied effects": "Toegepaste effecten",
+ "Applies effects": "Past effecten toe",
"Approved": "Goedgekeurd",
- "Gold": "Goud",
- "Silver": "Zilver",
- "Copper": "Koper",
+ "Are you sure you want to delete this?": "Weet u zeker dat u dit wilt verwijderen?",
+ "Attendance": "Aanwezigheid",
+ "Attendance tracking is unavailable — showing the participant list read-only.": "Aanwezigheidsregistratie is niet beschikbaar — de deelnemerslijst wordt alleen-lezen getoond.",
+ "Attendees": "Deelnemers",
+ "Automatic system notices": "Automatische systeemmeldingen",
+ "Available": "Beschikbaar",
+ "Award Reason": "Reden voor de toekenning",
+ "Award record": "Toekenningsrecord",
+ "Awarded": "Toegekend",
+ "Awarded At": "Toegekend op",
+ "Awarded By": "Toegekend door",
+ "Back to list": "Terug naar lijst",
+ "Background": "Achtergrond",
+ "Background Story": "Achtergrondverhaal",
"Base": "Basis",
- "Modifier": "Modifier",
- "Modification": "Wijziging",
- "Cumulative": "Cumulatief",
- "Location": "Locatie",
- "Start date": "Startdatum",
- "End date": "Einddatum",
- "Unique": "Uniek",
- "Value": "Waarde",
- "player": "speler",
- "npc": "npc",
- "other": "overig",
- "no": "nee",
- "approved": "goedgekeurd",
- "positive": "positief",
- "negative": "negatief",
- "cumulative": "cumulatief",
- "non-cumulative": "niet-cumulatief",
- "Save": "Opslaan",
+ "Base Value": "Basiswaarde",
+ "Base value": "Basiswaarde",
+ "Build & world": "Build en wereld",
"Cancel": "Annuleren",
- "Delete": "Verwijderen",
- "Edit": "Bewerken",
- "Search": "Zoeken",
- "Loading...": "Laden...",
- "Back to list": "Terug naar lijst",
- "Are you sure you want to delete this?": "Weet u zeker dat u dit wilt verwijderen?",
- "Download PDF": "PDF downloaden",
- "Select a template to generate a PDF from this character": "Selecteer een template om een PDF te genereren van dit karakter",
- "PDF generation requires the DocuDesk app to be installed and enabled": "PDF-generatie vereist dat de DocuDesk-app is geïnstalleerd en ingeschakeld",
- "Configuration saved": "Configuratie opgeslagen",
+ "Character": "Karakter",
+ "Character Card": "Personagekaart",
+ "Character Name": "Naam van het personage",
+ "Characters": "Karakters",
+ "Characters are the heart of your world. Open Characters from the menu to get started.": "Personages vormen de kern van je wereld. Open Personages in het menu om te beginnen.",
+ "Characters in this world": "Personages in deze wereld",
+ "Characters played": "Gespeelde personages",
+ "Characters with this skill": "Personages met deze vaardigheid",
+ "Check in": "Inchecken",
+ "Check-in": "Inchecken",
+ "Checked In At": "Ingecheckt op",
+ "Checked In By": "Ingecheckt door",
+ "Checked in": "Ingecheckt",
+ "Click Characters in the menu": "Klik op Personages in het menu",
+ "Click Events in the menu": "Klik op Evenementen in het menu",
+ "Click New and save a character": "Klik op Nieuw en sla een personage op",
+ "Click New and save an event": "Klik op Nieuw en sla een evenement op",
+ "Condition": "Conditie",
+ "Condition Name": "Naam van de conditie",
+ "Conditions": "Condities",
+ "Conditions granting this effect": "Condities die dit effect verlenen",
+ "Configuration": "Configuratie",
"Configuration re-imported successfully": "Configuratie succesvol opnieuw geïmporteerd",
- "Re-import configuration": "Configuratie opnieuw importeren",
- "Game setup": "Spelinstelling",
- "Advanced settings": "Geavanceerde instellingen",
+ "Configuration saved": "Configuratie opgeslagen",
+ "Configure": "Configureren",
"Configure OpenRegister data source to enable this widget": "Configureer OpenRegister-gegevensbron om deze widget in te schakelen",
- "Loading skill data...": "Skillgegevens laden...",
- "Retry": "Opnieuw proberen",
- "No skill data available": "Geen skillgegevens beschikbaar",
- "characters": "karakters",
- "Other": "Overig",
- "Failed to load skill data": "Laden van skillgegevens mislukt",
- "Data storage": "Gegevensopslag",
"Configure where to store your LARP data": "Configureer waar uw LARP-gegevens worden opgeslagen",
- "Open Register is not installed. Some features might be unavailable.": "Open Register is niet geïnstalleerd. Sommige functies zijn mogelijk niet beschikbaar.",
- "Source": "Bron",
- "Register": "Register",
- "Schema": "Schema",
- "Internal": "Intern",
- "Open Register": "Open Register",
- "Yes": "Ja",
- "No": "Nee",
- "Create": "Aanmaken",
- "No characters yet": "Nog geen karakters",
- "No events yet": "Nog geen evenementen",
- "View all ({count})": "Alles bekijken ({count})",
- "Recent characters": "Recente karakters",
- "Recent events": "Recente evenementen",
- "Skill usage by characters": "Skillgebruik per karakter",
- "Refresh dashboard": "Dashboard vernieuwen",
- "Larpinq settings": "Larpinq-instellingen",
"Configure your Larpinq installation": "Configureer uw Larpinq-installatie",
- "Version information": "Versie-informatie",
- "Information about the current Larpinq installation": "Informatie over de huidige Larpinq-installatie",
- "Support": "Ondersteuning",
- "For support, contact us at": "Voor ondersteuning, neem contact met ons op via",
- "For a Service Level Agreement (SLA), contact": "Voor een Service Level Agreement (SLA), neem contact op met",
- "Importing...": "Importeren...",
- "Re-import failed": "Opnieuw importeren mislukt",
- "Configuration": "Configuratie",
- "OpenRegister is not configured. Some features may be limited.": "OpenRegister is niet geconfigureerd. Sommige functies zijn mogelijk beperkt.",
- "Configure": "Configureren",
- "Failed to save. Please try again.": "Opslaan mislukt. Probeer het opnieuw.",
- "Failed to delete.": "Verwijderen mislukt.",
- "Background": "Achtergrond",
- "Save all": "Alles opslaan",
- "Unnamed character": "Naamloos karakter",
- "Unnamed event": "Naamloos evenement",
- "Welcome to Larpinq!": "Welkom bij Larpinq!",
"Configure your Larpinq settings here.": "Configureer hier uw Larpinq-instellingen.",
+ "Contact card": "Contactkaart",
+ "Contact email address": "E-mailadres voor contact",
+ "Copper": "Koper",
+ "Copper Pieces": "Koperstukken",
+ "Create": "Aanmaken",
+ "Create the Larpinq register and schemas in OpenRegister: the data store for characters, players, abilities, skills, items, conditions, effects, events and settings. This normally runs automatically on install; run it here if OpenRegister was enabled after Larpinq, or to repair a partial install. It is safe to run more than once.": "Maak het Larpinq-register en de schema's aan in OpenRegister: de gegevensopslag voor personages, spelers, eigenschappen, vaardigheden, voorwerpen, condities, effecten, evenementen en instellingen. Dit gebeurt normaal automatisch bij installatie; voer het hier uit als OpenRegister na Larpinq is ingeschakeld, of om een halve installatie te herstellen. Je kunt dit veilig meerdere keren uitvoeren.",
+ "Create your first event. Name it and set a start date, then save. Your characters can join it from here.": "Maak je eerste evenement aan. Geef het een naam en een startdatum en sla op. Je personages kunnen zich hier aanmelden.",
+ "Cumulative": "Cumulatief",
+ "Currently affecting": "Momenteel van invloed op",
+ "Dashboard": "Dashboard",
+ "Data storage": "Gegevensopslag",
+ "Delete": "Verwijderen",
+ "Demo data (optional)": "Demodata (optioneel)",
+ "Description": "Omschrijving",
+ "Direction": "Richting",
+ "Documentation": "Documentatie",
+ "Download PDF": "PDF downloaden",
+ "Edit": "Bewerken",
+ "Effect": "Effect",
+ "Effect Name": "Naam van het effect",
+ "Effects": "Effecten",
+ "Effects & prerequisites": "Effecten en vereisten",
+ "Effects applied after event": "Effecten toegepast na het evenement",
+ "Effects modifying this ability": "Effecten die deze eigenschap wijzigen",
+ "End Date": "Einddatum",
+ "End date": "Einddatum",
+ "Event": "Evenement",
+ "Event & character": "Evenement en personage",
+ "Event Name": "Naam van het evenement",
+ "Event description": "Beschrijving van het evenement",
+ "Event end date and time": "Einddatum en -tijd van het evenement",
+ "Event location": "Locatie van het evenement",
+ "Event name": "Naam van het evenement",
+ "Event pack": "Evenementpakket",
+ "Event start date and time": "Startdatum en -tijd van het evenement",
+ "Events": "Evenementen",
+ "Events are the game sessions where your world comes alive. Open Events from the menu.": "Evenementen zijn de speelsessies waarin je wereld tot leven komt. Open Evenementen in het menu.",
+ "Events in this world": "Evenementen in deze wereld",
+ "Failed to delete.": "Verwijderen mislukt.",
+ "Failed to load skill data": "Laden van skillgegevens mislukt",
"Failed to save settings": "Opslaan van instellingen mislukt",
+ "Failed to save. Please try again.": "Opslaan mislukt. Probeer het opnieuw.",
+ "Faith": "Geloof",
+ "Features & roadmap": "Functies en roadmap",
+ "Flow": "Flow",
+ "Flows": "Flows",
+ "Flows are what happens without anyone clicking: a reminder before a deadline passes, a confirmation sent on submission. This is where you read and edit them. Nothing to build now.": "Flows zijn wat er gebeurt zonder dat iemand klikt: een herinnering voordat een termijn verstrijkt, een bevestiging die bij indiening wordt verstuurd. Hier leest en bewerkt u ze. U hoeft nu niets te bouwen.",
+ "For a Service Level Agreement (SLA), contact": "Voor een Service Level Agreement (SLA), neem contact op met",
+ "For support, contact us at": "Voor ondersteuning, neem contact met ons op via",
+ "Full name of the player": "Volledige naam van de speler",
+ "Game Master Notes (Private)": "Notities van de spelleider (privé)",
+ "Game Master Notes (Public)": "Notities van de spelleider (openbaar)",
+ "Game Settings": "Spelinstellingen",
+ "Game setup": "Spelinstelling",
+ "Game state & notes": "Spelstatus en notities",
"General": "Algemeen",
+ "Getting started": "Aan de slag",
+ "Gold": "Goud",
+ "Gold Pieces": "Goudstukken",
+ "Gold pieces": "Goudstukken",
+ "Grants effects": "Verleent effecten",
+ "Held by": "In bezit van",
+ "History": "Geschiedenis",
+ "Identity": "Identiteit",
+ "Importing...": "Importeren...",
+ "Information about the current Larpinq installation": "Informatie over de huidige Larpinq-installatie",
+ "Internal": "Intern",
+ "Item": "Item",
+ "Item Name": "Naam van het voorwerp",
+ "Items": "Items",
+ "Items and Money": "Voorwerpen en geld",
+ "Items granting this effect": "Voorwerpen die dit effect verlenen",
+ "Larpinq": "Larpinq",
"Larpinq Settings": "Larpinq-instellingen",
- "Save All": "Alles opslaan",
- "Settings saved successfully": "Instellingen succesvol opgeslagen",
- "Version Information": "Versie-informatie",
- "Check-in": "Inchecken",
- "Attendance": "Aanwezigheid",
- "Check in": "Inchecken",
- "No-show": "Niet verschenen",
- "Registered": "Ingeschreven",
- "Checked in": "Ingecheckt",
- "No confirmed participants for this event yet.": "Nog geen bevestigde deelnemers voor dit evenement.",
- "Attendance tracking is unavailable — showing the participant list read-only.": "Aanwezigheidsregistratie is niet beschikbaar — de deelnemerslijst wordt alleen-lezen getoond.",
- "Skill tree": "Vaardigheidsboom",
- "No character (uncoloured)": "Geen personage (ongekleurd)",
- "All worlds": "Alle werelden",
- "Owned": "In bezit",
- "Available": "Beschikbaar",
+ "Larpinq settings": "Larpinq-instellingen",
+ "Let's take a quick spin through your world. We'll create a character and an event together so you can see how the pieces fit, and you'll add each record yourself.": "Laten we snel door je wereld lopen. We maken samen een personage en een evenement aan zodat je ziet hoe alles in elkaar grijpt, en jij legt elk record zelf vast.",
+ "Load an example LARP with characters, skills, items and events, so lists, character sheets and the event calendar show a working product right away. Optional, and safe to run more than once. Skip this on a production install.": "Laad een voorbeeld-LARP met personages, vaardigheden, items en evenementen, zodat lijsten, personagebladen en de evenementenkalender meteen een werkend product tonen. Optioneel en veilig om vaker uit te voeren. Sla dit over bij een productie-installatie.",
+ "Loading skill data...": "Skillgegevens laden...",
+ "Loading...": "Laden...",
+ "Location": "Locatie",
"Locked": "Vergrendeld",
- "Unknown": "Onbekend",
- "No skills to show": "Geen skills om te tonen",
- "No skills exist yet for the selected world.": "Er bestaan nog geen skills voor de geselecteerde wereld.",
- "Requires: {list}": "Vereist: {list}",
- "No prerequisites": "Geen vereisten",
- "Required skills": "Vereiste skills",
- "Required abilities": "Vereiste vaardigheden",
- "(score ≥ {n})": "(score ≥ {n})",
- "Required conditions": "Vereiste condities",
- "Required effects": "Vereiste effecten",
- "Prerequisites": "Vereisten",
- "None — this is a root skill.": "Geen — dit is een basisskill.",
- "Welcome to LARPing": "Welkom bij LARPing",
"Manage your live-action roleplay world, with characters, players, items and events all in one place. One quick step provisions your data store, then you're ready to play.": "Beheer je live-action roleplay-wereld, met personages, spelers, voorwerpen en evenementen op één plek. Eén snelle stap richt je gegevensopslag in, daarna kun je spelen.",
- "Provision your world": "Je wereld inrichten",
- "Create the Larpinq register and schemas in OpenRegister: the data store for characters, players, abilities, skills, items, conditions, effects, events and settings. This normally runs automatically on install; run it here if OpenRegister was enabled after Larpinq, or to repair a partial install. It is safe to run more than once.": "Maak het Larpinq-register en de schema's aan in OpenRegister: de gegevensopslag voor personages, spelers, eigenschappen, vaardigheden, voorwerpen, condities, effecten, evenementen en instellingen. Dit gebeurt normaal automatisch bij installatie; voer het hier uit als OpenRegister na Larpinq is ingeschakeld, of om een halve installatie te herstellen. Je kunt dit veilig meerdere keren uitvoeren.",
- "You're ready": "Je bent klaar",
- "That's it. Your world's data store is provisioned. Jump into the Dashboard to see it at a glance, and reopen this setup or the guided tour anytime from the app's … menu.": "Dat was het. De gegevensopslag van je wereld staat klaar. Ga naar het Dashboard voor een overzicht, en open deze installatie of de rondleiding wanneer je wilt opnieuw via het …-menu van de app.",
- "Getting started": "Aan de slag",
- "Let's take a quick spin through your world. We'll create a character and an event together so you can see how the pieces fit, and you'll add each record yourself.": "Laten we snel door je wereld lopen. We maken samen een personage en een evenement aan zodat je ziet hoe alles in elkaar grijpt, en jij legt elk record zelf vast.",
- "Characters are the heart of your world. Open Characters from the menu to get started.": "Personages vormen de kern van je wereld. Open Personages in het menu om te beginnen.",
- "Click Characters in the menu": "Klik op Personages in het menu",
- "Add your first character. Give them a name and a type, and save. You can flesh out abilities, skills and items later.": "Voeg je eerste personage toe. Geef het een naam en een type en sla op. Eigenschappen, vaardigheden en voorwerpen werk je later uit.",
- "Click New and save a character": "Klik op Nieuw en sla een personage op",
- "Events are the game sessions where your world comes alive. Open Events from the menu.": "Evenementen zijn de speelsessies waarin je wereld tot leven komt. Open Evenementen in het menu.",
- "Click Events in the menu": "Klik op Evenementen in het menu",
- "Create your first event. Name it and set a start date, then save. Your characters can join it from here.": "Maak je eerste evenement aan. Geef het een naam en een startdatum en sla op. Je personages kunnen zich hier aanmelden.",
- "Click New and save an event": "Klik op Nieuw en sla een evenement op",
- "Your world has its first character": "Je wereld heeft zijn eerste personage",
- "Add more characters and events from the menu, and the Dashboard tracks them as your world grows. The documentation covers the rest.": "Voeg via het menu meer personages en evenementen toe; het Dashboard houdt ze bij terwijl je wereld groeit. De documentatie behandelt de rest.",
- "Open the documentation to keep going": "Open de documentatie om verder te gaan",
+ "Mechanical Effect": "Speleffect",
"Mechanics": "Spelmechanieken",
- "XP Awards": "XP-toekenningen",
- "Game Settings": "Spelinstellingen",
- "Features & roadmap": "Functies en roadmap",
- "Flows": "Flows",
- "Starts": "Begint",
- "Identity": "Identiteit",
- "XP awarded": "Toegekende XP",
- "Gold pieces": "Goudstukken",
- "Game state & notes": "Spelstatus en notities",
- "Build & world": "Build en wereld",
- "XP award history": "Geschiedenis XP-toekenningen",
- "XP": "XP",
- "Reason": "Reden",
- "Awarded": "Toegekend",
+ "Min score": "Minimumscore",
+ "Modification": "Wijziging",
+ "Modifier": "Modifier",
+ "Modifier Value": "Waarde van de aanpassing",
+ "Modifier value": "Modificatiewaarde",
+ "Modifies abilities": "Wijzigt eigenschappen",
+ "Name": "Naam",
+ "Name of the condition": "Naam van de conditie",
+ "Name of the effect": "Naam van het effect",
+ "Name of the event": "Naam van het evenement",
+ "Name of the item": "Naam van het voorwerp",
+ "Name of the skill": "Naam van de vaardigheid",
+ "Name of the stat": "Naam van de statistiek",
+ "New ability": "Nieuwe vaardigheid",
+ "New character": "Nieuw karakter",
+ "New condition": "Nieuwe conditie",
+ "New effect": "Nieuw effect",
+ "New event": "Nieuw evenement",
+ "New item": "Nieuw item",
+ "New player": "Nieuwe speler",
+ "New skill": "Nieuwe skill",
+ "Nextcloud user": "Nextcloud-gebruiker",
+ "No": "Nee",
"No XP awarded yet.": "Nog geen XP toegekend.",
- "Portrait & sheet": "Portret en spelersblad",
- "History": "Geschiedenis",
- "Contact card": "Contactkaart",
- "Related": "Gerelateerd",
- "Characters played": "Gespeelde personages",
+ "No XP granted yet.": "Nog geen XP verleend.",
+ "No character (uncoloured)": "Geen personage (ongekleurd)",
+ "No characters are currently affected.": "Momenteel zijn er geen personages beïnvloed.",
+ "No characters have learned this skill yet.": "Nog geen personages hebben deze vaardigheid geleerd.",
+ "No characters in this world yet.": "Nog geen personages in deze wereld.",
"No characters played yet.": "Nog geen personages gespeeld.",
- "Base value": "Basiswaarde",
- "Effects modifying this ability": "Effecten die deze eigenschap wijzigen",
- "Direction": "Richting",
- "Stacks": "Stapelt",
+ "No characters registered yet.": "Nog geen personages aangemeld.",
+ "No characters yet": "Nog geen karakters",
+ "No conditions grant this effect yet.": "Nog geen condities verlenen dit effect.",
+ "No confirmed participants for this event yet.": "Nog geen bevestigde deelnemers voor dit evenement.",
"No effects modify this stat yet.": "Nog geen effecten wijzigen deze waarde.",
- "Skills requiring this stat": "Vaardigheden die deze waarde vereisen",
- "Min score": "Minimumscore",
+ "No events in this world yet.": "Nog geen evenementen in deze wereld.",
+ "No events yet": "Nog geen evenementen",
+ "No items grant this effect yet.": "Nog geen voorwerpen verlenen dit effect.",
+ "No prerequisites": "Geen vereisten",
+ "No skill data available": "Geen skillgegevens beschikbaar",
+ "No skills exist yet for the selected world.": "Er bestaan nog geen skills voor de geselecteerde wereld.",
+ "No skills grant this effect yet.": "Nog geen vaardigheden verlenen dit effect.",
"No skills require this stat yet.": "Nog geen vaardigheden vereisen deze waarde.",
- "Effects & prerequisites": "Effecten en vereisten",
- "Grants effects": "Verleent effecten",
- "Requires skills": "Vereist vaardigheden",
- "Requires stats": "Vereist waarden",
- "Requires conditions": "Vereist condities",
- "Requires effects": "Vereist effecten",
- "Characters with this skill": "Personages met deze vaardigheid",
- "No characters have learned this skill yet.": "Nog geen personages hebben deze vaardigheid geleerd.",
- "Held by": "In bezit van",
+ "No skills to show": "Geen skills om te tonen",
+ "No-show": "Niet verschenen",
"Nobody is holding this item yet.": "Niemand heeft dit voorwerp nog in bezit.",
+ "None — this is a root skill.": "Geen — dit is een basisskill.",
+ "Notes about items and money": "Notities over voorwerpen en geld",
+ "Notes about the player": "Notities over de speler",
+ "Open Flows in the menu": "Open Flows in het menu",
+ "Open Register": "Open Register",
+ "Open Register is not installed. Some features might be unavailable.": "Open Register is niet geïnstalleerd. Sommige functies zijn mogelijk niet beschikbaar.",
+ "Open the documentation to keep going": "Open de documentatie om verder te gaan",
+ "OpenRegister is not configured. Some features may be limited.": "OpenRegister is niet geconfigureerd. Sommige functies zijn mogelijk beperkt.",
+ "Other": "Overig",
+ "Overridden At": "Overschreven op",
+ "Overridden By": "Overschreven door",
+ "Override Reason": "Reden voor de overschrijving",
+ "Owned": "In bezit",
+ "Owner": "Eigenaar",
+ "Owner UID": "UID van de eigenaar",
+ "PDF generation requires the DocuDesk app to be installed and enabled": "PDF-generatie vereist dat de DocuDesk-app is geïnstalleerd en ingeschakeld",
+ "Participating Characters": "Deelnemende personages",
+ "Participating characters": "Deelnemende personages",
+ "Player": "Speler",
+ "Player Name": "Naam van de speler",
+ "Players": "Spelers",
+ "Portrait & sheet": "Portret en spelersblad",
+ "Post-Event Effects": "Effecten na het evenement",
+ "Post-event effects": "Effecten na afloop",
+ "Prerequisites": "Vereisten",
"Props & handouts": "Attributen en handouts",
- "Applied effects": "Toegepaste effecten",
- "Applies effects": "Past effecten toe",
- "Currently affecting": "Momenteel van invloed op",
- "No characters are currently affected.": "Momenteel zijn er geen personages beïnvloed.",
- "Modifier value": "Modificatiewaarde",
- "Modifies abilities": "Wijzigt eigenschappen",
- "Skills granting this effect": "Vaardigheden die dit effect verlenen",
- "No skills grant this effect yet.": "Nog geen vaardigheden verlenen dit effect.",
- "Items granting this effect": "Voorwerpen die dit effect verlenen",
- "No items grant this effect yet.": "Nog geen voorwerpen verlenen dit effect.",
- "Conditions granting this effect": "Condities die dit effect verlenen",
- "No conditions grant this effect yet.": "Nog geen condities verlenen dit effect.",
- "Attendees": "Deelnemers",
- "XP granted": "Verleende XP",
+ "Provision your world": "Je wereld inrichten",
+ "Re-import configuration": "Configuratie opnieuw importeren",
+ "Re-import failed": "Opnieuw importeren mislukt",
+ "Real name of the player": "Echte naam van de speler",
+ "Reason": "Reden",
+ "Recent characters": "Recente karakters",
+ "Recent events": "Recente evenementen",
+ "Refresh dashboard": "Dashboard vernieuwen",
+ "Register": "Register",
+ "Registered": "Ingeschreven",
+ "Related": "Gerelateerd",
+ "Required Conditions": "Vereiste condities",
+ "Required Effects": "Vereiste effecten",
+ "Required Score": "Vereiste score",
+ "Required Skills": "Vereiste vaardigheden",
+ "Required Stats": "Vereiste statistieken",
+ "Required abilities": "Vereiste vaardigheden",
+ "Required conditions": "Vereiste condities",
+ "Required effects": "Vereiste effecten",
+ "Required skills": "Vereiste skills",
+ "Requirement Overrides": "Overschreven vereisten",
+ "Requires conditions": "Vereist condities",
+ "Requires effects": "Vereist effecten",
+ "Requires skills": "Vereist vaardigheden",
+ "Requires stats": "Vereist waarden",
+ "Requires: {list}": "Vereist: {list}",
+ "Retry": "Opnieuw proberen",
+ "Save": "Opslaan",
+ "Save All": "Alles opslaan",
+ "Save all": "Alles opslaan",
"Schedule": "Programma",
- "Post-event effects": "Effecten na afloop",
- "Effects applied after event": "Effecten toegepast na het evenement",
+ "Schema": "Schema",
+ "Search": "Zoeken",
+ "Select a template to generate a PDF from this character": "Selecteer een template om een PDF te genereren van dit karakter",
+ "Setting": "Instelling",
+ "Setting Name": "Naam van de setting",
+ "Settings": "Instellingen",
+ "Settings saved successfully": "Instellingen succesvol opgeslagen",
"Sign-up": "Aanmelding",
- "Participating characters": "Deelnemende personages",
- "No characters registered yet.": "Nog geen personages aangemeld.",
- "XP awards": "XP-toekenningen",
- "No XP granted yet.": "Nog geen XP verleend.",
- "Event pack": "Evenementpakket",
- "Characters in this world": "Personages in deze wereld",
- "No characters in this world yet.": "Nog geen personages in deze wereld.",
- "Events in this world": "Evenementen in deze wereld",
- "No events in this world yet.": "Nog geen evenementen in deze wereld.",
- "XP Award": "XP-toekenning",
- "Award record": "Toekenningsrecord",
- "Event & character": "Evenement en personage",
- "Flow": "Flow",
- "Demo data (optional)": "Demodata (optioneel)",
- "Load an example LARP with characters, skills, items and events, so lists, character sheets and the event calendar show a working product right away. Optional, and safe to run more than once. Skip this on a production install.": "Laad een voorbeeld-LARP met personages, vaardigheden, items en evenementen, zodat lijsten, personagebladen en de evenementenkalender meteen een werkend product tonen. Optioneel en veilig om vaker uit te voeren. Sla dit over bij een productie-installatie.",
+ "Silver": "Zilver",
+ "Silver Pieces": "Zilverstukken",
+ "Skill": "Skill",
+ "Skill Name": "Naam van de vaardigheid",
+ "Skill tree": "Vaardigheidsboom",
+ "Skill usage by characters": "Skillgebruik per karakter",
+ "Skills": "Skills",
+ "Skills granting this effect": "Vaardigheden die dit effect verlenen",
+ "Skills requiring this stat": "Vaardigheden die deze waarde vereisen",
+ "Source": "Bron",
+ "Stacks": "Stapelt",
+ "Start Date": "Startdatum",
+ "Start date": "Startdatum",
+ "Starting value for all characters": "Startwaarde voor alle personages",
+ "Starts": "Begint",
+ "Stat": "Statistiek",
+ "Status": "Status",
+ "Support": "Ondersteuning",
+ "System Notice": "Systeemmelding",
+ "That's it. Your world's data store is provisioned. Jump into the Dashboard to see it at a glance, and reopen this setup or the guided tour anytime from the app's … menu.": "Dat was het. De gegevensopslag van je wereld staat klaar. Ga naar het Dashboard voor een overzicht, en open deze installatie of de rondleiding wanneer je wilt opnieuw via het …-menu van de app.",
+ "Type": "Type",
+ "Unique": "Uniek",
+ "Unique Artifact": "Uniek artefact",
+ "Unique Condition": "Unieke conditie",
+ "Unknown": "Onbekend",
+ "Unnamed character": "Naamloos karakter",
+ "Unnamed event": "Naamloos evenement",
+ "Value": "Waarde",
+ "Version Information": "Versie-informatie",
+ "Version information": "Versie-informatie",
+ "View all ({count})": "Alles bekijken ({count})",
+ "Welcome to LARPing": "Welkom bij LARPing",
+ "Welcome to Larpinq!": "Welkom bij Larpinq!",
"Where the automation lives": "Waar de automatisering zit",
- "Flows are what happens without anyone clicking: a reminder before a deadline passes, a confirmation sent on submission. This is where you read and edit them. Nothing to build now.": "Flows zijn wat er gebeurt zonder dat iemand klikt: een herinnering voordat een termijn verstrijkt, een bevestiging die bij indiening wordt verstuurd. Hier leest en bewerkt u ze. U hoeft nu niets te bouwen.",
- "Open Flows in the menu": "Open Flows in het menu"
+ "World": "Wereld",
+ "Worlds": "Werelden",
+ "XP": "XP",
+ "XP Amount": "Aantal ervaringspunten",
+ "XP Award": "XP-toekenning",
+ "XP Awards": "XP-toekenningen",
+ "XP award history": "Geschiedenis XP-toekenningen",
+ "XP awarded": "Toegekende XP",
+ "XP awards": "XP-toekenningen",
+ "XP granted": "Verleende XP",
+ "Yes": "Ja",
+ "You're ready": "Je bent klaar",
+ "Your world has its first character": "Je wereld heeft zijn eerste personage",
+ "approved": "goedgekeurd",
+ "characters": "karakters",
+ "cumulative": "cumulatief",
+ "negative": "negatief",
+ "no": "nee",
+ "non-cumulative": "niet-cumulatief",
+ "npc": "npc",
+ "other": "overig",
+ "player": "speler",
+ "positive": "positief"
},
"plurals": {},
"pluralForm": "nplurals=2; plural=(n != 1);"
diff --git a/l10n/pl.js b/l10n/pl.js
index cd49ebb5..abb8bab1 100644
--- a/l10n/pl.js
+++ b/l10n/pl.js
@@ -152,7 +152,78 @@ OC.L10N.register(
"None — this is a root skill.": "Brak — to jest umiejętność podstawowa.",
"Where the automation lives": "Gdzie mieszka automatyzacja",
"Flows are what happens without anyone clicking: a reminder before a deadline passes, a confirmation sent on submission. This is where you read and edit them. Nothing to build now.": "Flows to to, co dzieje się bez niczyjego kliknięcia: przypomnienie przed upływem terminu, potwierdzenie po złożeniu. Tutaj je czytasz i edytujesz — teraz nie trzeba niczego budować.",
- "Open Flows in the menu": "Otwórz Flows w menu"
+ "Open Flows in the menu": "Otwórz Flows w menu",
+ "Ability Name": "Nazwa zdolności",
+ "Affected Characters": "Postacie, których to dotyczy",
+ "Amount of copper pieces": "Liczba sztuk miedzi",
+ "Amount of gold pieces": "Liczba sztuk złota",
+ "Amount of silver pieces": "Liczba sztuk srebra",
+ "Automatic system notices": "Automatyczne powiadomienia systemowe",
+ "Award Reason": "Powód przyznania",
+ "Awarded At": "Przyznano dnia",
+ "Awarded By": "Przyznał",
+ "Background Story": "Historia postaci",
+ "Base Value": "Wartość bazowa",
+ "Character Card": "Karta postaci",
+ "Character Name": "Imię postaci",
+ "Checked In At": "Przybycie zarejestrowano dnia",
+ "Checked In By": "Przybycie zarejestrował",
+ "Condition Name": "Nazwa stanu",
+ "Contact email address": "Kontaktowy adres e-mail",
+ "Copper Pieces": "Sztuki miedzi",
+ "Effect Name": "Nazwa efektu",
+ "End Date": "Data zakończenia",
+ "Event Name": "Nazwa wydarzenia",
+ "Event description": "Opis wydarzenia",
+ "Event end date and time": "Data i godzina zakończenia wydarzenia",
+ "Event location": "Miejsce wydarzenia",
+ "Event name": "Nazwa wydarzenia",
+ "Event start date and time": "Data i godzina rozpoczęcia wydarzenia",
+ "Faith": "Wiara",
+ "Full name of the player": "Pełne imię i nazwisko gracza",
+ "Game Master Notes (Private)": "Notatki mistrza gry (prywatne)",
+ "Game Master Notes (Public)": "Notatki mistrza gry (publiczne)",
+ "Gold Pieces": "Sztuki złota",
+ "Item Name": "Nazwa przedmiotu",
+ "Items and Money": "Przedmioty i pieniądze",
+ "Mechanical Effect": "Efekt mechaniczny",
+ "Modifier Value": "Wartość modyfikatora",
+ "Name of the condition": "Nazwa stanu",
+ "Name of the effect": "Nazwa efektu",
+ "Name of the event": "Nazwa wydarzenia",
+ "Name of the item": "Nazwa przedmiotu",
+ "Name of the skill": "Nazwa umiejętności",
+ "Name of the stat": "Nazwa cechy",
+ "Nextcloud user": "Użytkownik Nextcloud",
+ "Notes about items and money": "Notatki o przedmiotach i pieniądzach",
+ "Notes about the player": "Notatki o graczu",
+ "Overridden At": "Odstępstwo przyznano dnia",
+ "Overridden By": "Odstępstwo przyznał",
+ "Override Reason": "Powód odstępstwa",
+ "Owner": "Właściciel",
+ "Owner UID": "UID właściciela",
+ "Participating Characters": "Uczestniczące postacie",
+ "Player Name": "Imię gracza",
+ "Post-Event Effects": "Efekty po wydarzeniu",
+ "Real name of the player": "Prawdziwe imię i nazwisko gracza",
+ "Required Conditions": "Wymagane stany",
+ "Required Effects": "Wymagane efekty",
+ "Required Score": "Wymagana wartość",
+ "Required Skills": "Wymagane umiejętności",
+ "Required Stats": "Wymagane cechy",
+ "Requirement Overrides": "Odstępstwa od wymagań",
+ "Setting Name": "Nazwa świata gry",
+ "Silver Pieces": "Sztuki srebra",
+ "Skill Name": "Nazwa umiejętności",
+ "Start Date": "Data rozpoczęcia",
+ "Starting value for all characters": "Wartość początkowa dla wszystkich postaci",
+ "Stat": "Cecha",
+ "Status": "Status",
+ "System Notice": "Powiadomienie systemowe",
+ "Unique Artifact": "Unikalny artefakt",
+ "Unique Condition": "Unikalny stan",
+ "XP Amount": "Liczba punktów doświadczenia",
+ "XP Award": "Przyznanie punktów doświadczenia"
},
"nplurals=2; plural=(n != 1);"
)
diff --git a/l10n/pl.json b/l10n/pl.json
index 90d02a3c..04dfe872 100644
--- a/l10n/pl.json
+++ b/l10n/pl.json
@@ -151,7 +151,78 @@
"None — this is a root skill.": "Brak — to jest umiejętność podstawowa.",
"Where the automation lives": "Gdzie mieszka automatyzacja",
"Flows are what happens without anyone clicking: a reminder before a deadline passes, a confirmation sent on submission. This is where you read and edit them. Nothing to build now.": "Flows to to, co dzieje się bez niczyjego kliknięcia: przypomnienie przed upływem terminu, potwierdzenie po złożeniu. Tutaj je czytasz i edytujesz — teraz nie trzeba niczego budować.",
- "Open Flows in the menu": "Otwórz Flows w menu"
+ "Open Flows in the menu": "Otwórz Flows w menu",
+ "Ability Name": "Nazwa zdolności",
+ "Affected Characters": "Postacie, których to dotyczy",
+ "Amount of copper pieces": "Liczba sztuk miedzi",
+ "Amount of gold pieces": "Liczba sztuk złota",
+ "Amount of silver pieces": "Liczba sztuk srebra",
+ "Automatic system notices": "Automatyczne powiadomienia systemowe",
+ "Award Reason": "Powód przyznania",
+ "Awarded At": "Przyznano dnia",
+ "Awarded By": "Przyznał",
+ "Background Story": "Historia postaci",
+ "Base Value": "Wartość bazowa",
+ "Character Card": "Karta postaci",
+ "Character Name": "Imię postaci",
+ "Checked In At": "Przybycie zarejestrowano dnia",
+ "Checked In By": "Przybycie zarejestrował",
+ "Condition Name": "Nazwa stanu",
+ "Contact email address": "Kontaktowy adres e-mail",
+ "Copper Pieces": "Sztuki miedzi",
+ "Effect Name": "Nazwa efektu",
+ "End Date": "Data zakończenia",
+ "Event Name": "Nazwa wydarzenia",
+ "Event description": "Opis wydarzenia",
+ "Event end date and time": "Data i godzina zakończenia wydarzenia",
+ "Event location": "Miejsce wydarzenia",
+ "Event name": "Nazwa wydarzenia",
+ "Event start date and time": "Data i godzina rozpoczęcia wydarzenia",
+ "Faith": "Wiara",
+ "Full name of the player": "Pełne imię i nazwisko gracza",
+ "Game Master Notes (Private)": "Notatki mistrza gry (prywatne)",
+ "Game Master Notes (Public)": "Notatki mistrza gry (publiczne)",
+ "Gold Pieces": "Sztuki złota",
+ "Item Name": "Nazwa przedmiotu",
+ "Items and Money": "Przedmioty i pieniądze",
+ "Mechanical Effect": "Efekt mechaniczny",
+ "Modifier Value": "Wartość modyfikatora",
+ "Name of the condition": "Nazwa stanu",
+ "Name of the effect": "Nazwa efektu",
+ "Name of the event": "Nazwa wydarzenia",
+ "Name of the item": "Nazwa przedmiotu",
+ "Name of the skill": "Nazwa umiejętności",
+ "Name of the stat": "Nazwa cechy",
+ "Nextcloud user": "Użytkownik Nextcloud",
+ "Notes about items and money": "Notatki o przedmiotach i pieniądzach",
+ "Notes about the player": "Notatki o graczu",
+ "Overridden At": "Odstępstwo przyznano dnia",
+ "Overridden By": "Odstępstwo przyznał",
+ "Override Reason": "Powód odstępstwa",
+ "Owner": "Właściciel",
+ "Owner UID": "UID właściciela",
+ "Participating Characters": "Uczestniczące postacie",
+ "Player Name": "Imię gracza",
+ "Post-Event Effects": "Efekty po wydarzeniu",
+ "Real name of the player": "Prawdziwe imię i nazwisko gracza",
+ "Required Conditions": "Wymagane stany",
+ "Required Effects": "Wymagane efekty",
+ "Required Score": "Wymagana wartość",
+ "Required Skills": "Wymagane umiejętności",
+ "Required Stats": "Wymagane cechy",
+ "Requirement Overrides": "Odstępstwa od wymagań",
+ "Setting Name": "Nazwa świata gry",
+ "Silver Pieces": "Sztuki srebra",
+ "Skill Name": "Nazwa umiejętności",
+ "Start Date": "Data rozpoczęcia",
+ "Starting value for all characters": "Wartość początkowa dla wszystkich postaci",
+ "Stat": "Cecha",
+ "Status": "Status",
+ "System Notice": "Powiadomienie systemowe",
+ "Unique Artifact": "Unikalny artefakt",
+ "Unique Condition": "Unikalny stan",
+ "XP Amount": "Liczba punktów doświadczenia",
+ "XP Award": "Przyznanie punktów doświadczenia"
},
"plurals": {}
}
diff --git a/l10n/pt.js b/l10n/pt.js
index 6fd3737b..88923f06 100644
--- a/l10n/pt.js
+++ b/l10n/pt.js
@@ -152,7 +152,78 @@ OC.L10N.register(
"None — this is a root skill.": "Nenhum — esta é uma habilidade de base.",
"Where the automation lives": "Onde vive a automação",
"Flows are what happens without anyone clicking: a reminder before a deadline passes, a confirmation sent on submission. This is where you read and edit them. Nothing to build now.": "Os Flows são o que acontece sem ninguém clicar: um lembrete antes de um prazo terminar, uma confirmação enviada na submissão. É aqui que os lê e edita — não há nada para construir agora.",
- "Open Flows in the menu": "Abra Flows no menu"
+ "Open Flows in the menu": "Abra Flows no menu",
+ "Ability Name": "Nome da aptidão",
+ "Affected Characters": "Personagens afetadas",
+ "Amount of copper pieces": "Quantidade de moedas de cobre",
+ "Amount of gold pieces": "Quantidade de moedas de ouro",
+ "Amount of silver pieces": "Quantidade de moedas de prata",
+ "Automatic system notices": "Avisos automáticos do sistema",
+ "Award Reason": "Motivo da atribuição",
+ "Awarded At": "Atribuído em",
+ "Awarded By": "Atribuído por",
+ "Background Story": "História pessoal",
+ "Base Value": "Valor base",
+ "Character Card": "Ficha da personagem",
+ "Character Name": "Nome da personagem",
+ "Checked In At": "Entrada registada em",
+ "Checked In By": "Entrada registada por",
+ "Condition Name": "Nome da condição",
+ "Contact email address": "Endereço de e-mail de contacto",
+ "Copper Pieces": "Moedas de cobre",
+ "Effect Name": "Nome do efeito",
+ "End Date": "Data de fim",
+ "Event Name": "Nome do evento",
+ "Event description": "Descrição do evento",
+ "Event end date and time": "Data e hora de fim do evento",
+ "Event location": "Localização do evento",
+ "Event name": "Nome do evento",
+ "Event start date and time": "Data e hora de início do evento",
+ "Faith": "Fé",
+ "Full name of the player": "Nome completo do jogador",
+ "Game Master Notes (Private)": "Notas do mestre de jogo (privadas)",
+ "Game Master Notes (Public)": "Notas do mestre de jogo (públicas)",
+ "Gold Pieces": "Moedas de ouro",
+ "Item Name": "Nome do item",
+ "Items and Money": "Itens e dinheiro",
+ "Mechanical Effect": "Efeito de jogo",
+ "Modifier Value": "Valor do modificador",
+ "Name of the condition": "Nome da condição",
+ "Name of the effect": "Nome do efeito",
+ "Name of the event": "Nome do evento",
+ "Name of the item": "Nome do item",
+ "Name of the skill": "Nome da habilidade",
+ "Name of the stat": "Nome do atributo",
+ "Nextcloud user": "Utilizador do Nextcloud",
+ "Notes about items and money": "Notas sobre itens e dinheiro",
+ "Notes about the player": "Notas sobre o jogador",
+ "Overridden At": "Exceção concedida em",
+ "Overridden By": "Exceção concedida por",
+ "Override Reason": "Motivo da exceção",
+ "Owner": "Proprietário",
+ "Owner UID": "UID do proprietário",
+ "Participating Characters": "Personagens participantes",
+ "Player Name": "Nome do jogador",
+ "Post-Event Effects": "Efeitos posteriores ao evento",
+ "Real name of the player": "Nome real do jogador",
+ "Required Conditions": "Condições necessárias",
+ "Required Effects": "Efeitos necessários",
+ "Required Score": "Valor necessário",
+ "Required Skills": "Habilidades necessárias",
+ "Required Stats": "Atributos necessários",
+ "Requirement Overrides": "Exceções aos pré-requisitos",
+ "Setting Name": "Nome do cenário",
+ "Silver Pieces": "Moedas de prata",
+ "Skill Name": "Nome da habilidade",
+ "Start Date": "Data de início",
+ "Starting value for all characters": "Valor inicial para todas as personagens",
+ "Stat": "Atributo",
+ "Status": "Estado",
+ "System Notice": "Aviso do sistema",
+ "Unique Artifact": "Artefacto único",
+ "Unique Condition": "Condição única",
+ "XP Amount": "Quantidade de pontos de experiência",
+ "XP Award": "Atribuição de pontos de experiência"
},
"nplurals=2; plural=(n != 1);"
)
diff --git a/l10n/pt.json b/l10n/pt.json
index 7139ddf5..71e9d0c0 100644
--- a/l10n/pt.json
+++ b/l10n/pt.json
@@ -151,7 +151,78 @@
"None — this is a root skill.": "Nenhum — esta é uma habilidade de base.",
"Where the automation lives": "Onde vive a automação",
"Flows are what happens without anyone clicking: a reminder before a deadline passes, a confirmation sent on submission. This is where you read and edit them. Nothing to build now.": "Os Flows são o que acontece sem ninguém clicar: um lembrete antes de um prazo terminar, uma confirmação enviada na submissão. É aqui que os lê e edita — não há nada para construir agora.",
- "Open Flows in the menu": "Abra Flows no menu"
+ "Open Flows in the menu": "Abra Flows no menu",
+ "Ability Name": "Nome da aptidão",
+ "Affected Characters": "Personagens afetadas",
+ "Amount of copper pieces": "Quantidade de moedas de cobre",
+ "Amount of gold pieces": "Quantidade de moedas de ouro",
+ "Amount of silver pieces": "Quantidade de moedas de prata",
+ "Automatic system notices": "Avisos automáticos do sistema",
+ "Award Reason": "Motivo da atribuição",
+ "Awarded At": "Atribuído em",
+ "Awarded By": "Atribuído por",
+ "Background Story": "História pessoal",
+ "Base Value": "Valor base",
+ "Character Card": "Ficha da personagem",
+ "Character Name": "Nome da personagem",
+ "Checked In At": "Entrada registada em",
+ "Checked In By": "Entrada registada por",
+ "Condition Name": "Nome da condição",
+ "Contact email address": "Endereço de e-mail de contacto",
+ "Copper Pieces": "Moedas de cobre",
+ "Effect Name": "Nome do efeito",
+ "End Date": "Data de fim",
+ "Event Name": "Nome do evento",
+ "Event description": "Descrição do evento",
+ "Event end date and time": "Data e hora de fim do evento",
+ "Event location": "Localização do evento",
+ "Event name": "Nome do evento",
+ "Event start date and time": "Data e hora de início do evento",
+ "Faith": "Fé",
+ "Full name of the player": "Nome completo do jogador",
+ "Game Master Notes (Private)": "Notas do mestre de jogo (privadas)",
+ "Game Master Notes (Public)": "Notas do mestre de jogo (públicas)",
+ "Gold Pieces": "Moedas de ouro",
+ "Item Name": "Nome do item",
+ "Items and Money": "Itens e dinheiro",
+ "Mechanical Effect": "Efeito de jogo",
+ "Modifier Value": "Valor do modificador",
+ "Name of the condition": "Nome da condição",
+ "Name of the effect": "Nome do efeito",
+ "Name of the event": "Nome do evento",
+ "Name of the item": "Nome do item",
+ "Name of the skill": "Nome da habilidade",
+ "Name of the stat": "Nome do atributo",
+ "Nextcloud user": "Utilizador do Nextcloud",
+ "Notes about items and money": "Notas sobre itens e dinheiro",
+ "Notes about the player": "Notas sobre o jogador",
+ "Overridden At": "Exceção concedida em",
+ "Overridden By": "Exceção concedida por",
+ "Override Reason": "Motivo da exceção",
+ "Owner": "Proprietário",
+ "Owner UID": "UID do proprietário",
+ "Participating Characters": "Personagens participantes",
+ "Player Name": "Nome do jogador",
+ "Post-Event Effects": "Efeitos posteriores ao evento",
+ "Real name of the player": "Nome real do jogador",
+ "Required Conditions": "Condições necessárias",
+ "Required Effects": "Efeitos necessários",
+ "Required Score": "Valor necessário",
+ "Required Skills": "Habilidades necessárias",
+ "Required Stats": "Atributos necessários",
+ "Requirement Overrides": "Exceções aos pré-requisitos",
+ "Setting Name": "Nome do cenário",
+ "Silver Pieces": "Moedas de prata",
+ "Skill Name": "Nome da habilidade",
+ "Start Date": "Data de início",
+ "Starting value for all characters": "Valor inicial para todas as personagens",
+ "Stat": "Atributo",
+ "Status": "Estado",
+ "System Notice": "Aviso do sistema",
+ "Unique Artifact": "Artefacto único",
+ "Unique Condition": "Condição única",
+ "XP Amount": "Quantidade de pontos de experiência",
+ "XP Award": "Atribuição de pontos de experiência"
},
"plurals": {}
}
diff --git a/l10n/rm.js b/l10n/rm.js
index d8cdf142..71148699 100644
--- a/l10n/rm.js
+++ b/l10n/rm.js
@@ -152,7 +152,78 @@ OC.L10N.register(
"None — this is a root skill.": "Nagina — quai è ina cumpetenza da basa.",
"Where the automation lives": "Nua che l'automatisaziun viva",
"Flows are what happens without anyone clicking: a reminder before a deadline passes, a confirmation sent on submission. This is where you read and edit them. Nothing to build now.": "Flows èn quai che capita senza ch'insatgi cliccia: ina memoria avant ch'in termin scada, ina conferma cun l'inoltraziun. Qua las legias e las modifitgeschas — i n'è nagut da construir ussa.",
- "Open Flows in the menu": "Avra Flows en il menu"
+ "Open Flows in the menu": "Avra Flows en il menu",
+ "Ability Name": "Num da l'abilitad",
+ "Affected Characters": "Persunajs pertutgads",
+ "Amount of copper pieces": "Dumber da munaidas da cuper",
+ "Amount of gold pieces": "Dumber da munaidas d'aur",
+ "Amount of silver pieces": "Dumber da munaidas d'argient",
+ "Automatic system notices": "Avis automatics dal sistem",
+ "Award Reason": "Motiv da l'attribuziun",
+ "Awarded At": "Attribuì ils",
+ "Awarded By": "Attribuì da",
+ "Background Story": "Istorgia da fundament",
+ "Base Value": "Valur da basa",
+ "Character Card": "Carta dal persunaj",
+ "Character Name": "Num dal persunaj",
+ "Checked In At": "Arrivada annunziada ils",
+ "Checked In By": "Arrivada annunziada da",
+ "Condition Name": "Num da la conditiun",
+ "Contact email address": "Adressa dad e-mail da contact",
+ "Copper Pieces": "Munaidas da cuper",
+ "Effect Name": "Num da l'effect",
+ "End Date": "Data da finiziun",
+ "Event Name": "Num da l'eveniment",
+ "Event description": "Descripziun da l'eveniment",
+ "Event end date and time": "Data e temp da finiziun da l'eveniment",
+ "Event location": "Lieu da l'eveniment",
+ "Event name": "Num da l'eveniment",
+ "Event start date and time": "Data e temp da cumenzament da l'eveniment",
+ "Faith": "Cardientscha",
+ "Full name of the player": "Num cumplet dal giugader",
+ "Game Master Notes (Private)": "Notizias dal manader dal gieu (privatas)",
+ "Game Master Notes (Public)": "Notizias dal manader dal gieu (publicas)",
+ "Gold Pieces": "Munaidas d'aur",
+ "Item Name": "Num da l'object",
+ "Items and Money": "Objects e daners",
+ "Mechanical Effect": "Effect dal gieu",
+ "Modifier Value": "Valur dal modifitgader",
+ "Name of the condition": "Num da la conditiun",
+ "Name of the effect": "Num da l'effect",
+ "Name of the event": "Num da l'eveniment",
+ "Name of the item": "Num da l'object",
+ "Name of the skill": "Num da la cumpetenza",
+ "Name of the stat": "Num da l'attribut",
+ "Nextcloud user": "Utilisader da Nextcloud",
+ "Notes about items and money": "Notizias davart objects e daners",
+ "Notes about the player": "Notizias davart il giugader",
+ "Overridden At": "Surpassà ils",
+ "Overridden By": "Surpassà da",
+ "Override Reason": "Motiv da la surpassada",
+ "Owner": "Possessur",
+ "Owner UID": "UID dal possessur",
+ "Participating Characters": "Persunajs participants",
+ "Player Name": "Num dal giugader",
+ "Post-Event Effects": "Effects suenter l'eveniment",
+ "Real name of the player": "Num real dal giugader",
+ "Required Conditions": "Conditiuns necessarias",
+ "Required Effects": "Effects necessaris",
+ "Required Score": "Valur necessaria",
+ "Required Skills": "Cumpetenzas necessarias",
+ "Required Stats": "Attributs necessaris",
+ "Requirement Overrides": "Surpassadas da las premissas",
+ "Setting Name": "Num dal mund da gieu",
+ "Silver Pieces": "Munaidas d'argient",
+ "Skill Name": "Num da la cumpetenza",
+ "Start Date": "Data da cumenzament",
+ "Starting value for all characters": "Valur da partenza per tut ils persunajs",
+ "Stat": "Attribut",
+ "Status": "Status",
+ "System Notice": "Avis dal sistem",
+ "Unique Artifact": "Artefact unic",
+ "Unique Condition": "Conditiun unica",
+ "XP Amount": "Dumber da puncts d'experientscha",
+ "XP Award": "Attribuziun da puncts d'experientscha"
},
"nplurals=2; plural=(n != 1);"
)
diff --git a/l10n/rm.json b/l10n/rm.json
index 4dfb8c93..a686f445 100644
--- a/l10n/rm.json
+++ b/l10n/rm.json
@@ -151,7 +151,78 @@
"None — this is a root skill.": "Nagina — quai è ina cumpetenza da basa.",
"Where the automation lives": "Nua che l'automatisaziun viva",
"Flows are what happens without anyone clicking: a reminder before a deadline passes, a confirmation sent on submission. This is where you read and edit them. Nothing to build now.": "Flows èn quai che capita senza ch'insatgi cliccia: ina memoria avant ch'in termin scada, ina conferma cun l'inoltraziun. Qua las legias e las modifitgeschas — i n'è nagut da construir ussa.",
- "Open Flows in the menu": "Avra Flows en il menu"
+ "Open Flows in the menu": "Avra Flows en il menu",
+ "Ability Name": "Num da l'abilitad",
+ "Affected Characters": "Persunajs pertutgads",
+ "Amount of copper pieces": "Dumber da munaidas da cuper",
+ "Amount of gold pieces": "Dumber da munaidas d'aur",
+ "Amount of silver pieces": "Dumber da munaidas d'argient",
+ "Automatic system notices": "Avis automatics dal sistem",
+ "Award Reason": "Motiv da l'attribuziun",
+ "Awarded At": "Attribuì ils",
+ "Awarded By": "Attribuì da",
+ "Background Story": "Istorgia da fundament",
+ "Base Value": "Valur da basa",
+ "Character Card": "Carta dal persunaj",
+ "Character Name": "Num dal persunaj",
+ "Checked In At": "Arrivada annunziada ils",
+ "Checked In By": "Arrivada annunziada da",
+ "Condition Name": "Num da la conditiun",
+ "Contact email address": "Adressa dad e-mail da contact",
+ "Copper Pieces": "Munaidas da cuper",
+ "Effect Name": "Num da l'effect",
+ "End Date": "Data da finiziun",
+ "Event Name": "Num da l'eveniment",
+ "Event description": "Descripziun da l'eveniment",
+ "Event end date and time": "Data e temp da finiziun da l'eveniment",
+ "Event location": "Lieu da l'eveniment",
+ "Event name": "Num da l'eveniment",
+ "Event start date and time": "Data e temp da cumenzament da l'eveniment",
+ "Faith": "Cardientscha",
+ "Full name of the player": "Num cumplet dal giugader",
+ "Game Master Notes (Private)": "Notizias dal manader dal gieu (privatas)",
+ "Game Master Notes (Public)": "Notizias dal manader dal gieu (publicas)",
+ "Gold Pieces": "Munaidas d'aur",
+ "Item Name": "Num da l'object",
+ "Items and Money": "Objects e daners",
+ "Mechanical Effect": "Effect dal gieu",
+ "Modifier Value": "Valur dal modifitgader",
+ "Name of the condition": "Num da la conditiun",
+ "Name of the effect": "Num da l'effect",
+ "Name of the event": "Num da l'eveniment",
+ "Name of the item": "Num da l'object",
+ "Name of the skill": "Num da la cumpetenza",
+ "Name of the stat": "Num da l'attribut",
+ "Nextcloud user": "Utilisader da Nextcloud",
+ "Notes about items and money": "Notizias davart objects e daners",
+ "Notes about the player": "Notizias davart il giugader",
+ "Overridden At": "Surpassà ils",
+ "Overridden By": "Surpassà da",
+ "Override Reason": "Motiv da la surpassada",
+ "Owner": "Possessur",
+ "Owner UID": "UID dal possessur",
+ "Participating Characters": "Persunajs participants",
+ "Player Name": "Num dal giugader",
+ "Post-Event Effects": "Effects suenter l'eveniment",
+ "Real name of the player": "Num real dal giugader",
+ "Required Conditions": "Conditiuns necessarias",
+ "Required Effects": "Effects necessaris",
+ "Required Score": "Valur necessaria",
+ "Required Skills": "Cumpetenzas necessarias",
+ "Required Stats": "Attributs necessaris",
+ "Requirement Overrides": "Surpassadas da las premissas",
+ "Setting Name": "Num dal mund da gieu",
+ "Silver Pieces": "Munaidas d'argient",
+ "Skill Name": "Num da la cumpetenza",
+ "Start Date": "Data da cumenzament",
+ "Starting value for all characters": "Valur da partenza per tut ils persunajs",
+ "Stat": "Attribut",
+ "Status": "Status",
+ "System Notice": "Avis dal sistem",
+ "Unique Artifact": "Artefact unic",
+ "Unique Condition": "Conditiun unica",
+ "XP Amount": "Dumber da puncts d'experientscha",
+ "XP Award": "Attribuziun da puncts d'experientscha"
},
"plurals": {}
}
diff --git a/l10n/ro.js b/l10n/ro.js
index 3f1d1a73..6142cbf3 100644
--- a/l10n/ro.js
+++ b/l10n/ro.js
@@ -152,7 +152,78 @@ OC.L10N.register(
"None — this is a root skill.": "Niciuna — aceasta este o abilitate de bază.",
"Where the automation lives": "Unde locuiește automatizarea",
"Flows are what happens without anyone clicking: a reminder before a deadline passes, a confirmation sent on submission. This is where you read and edit them. Nothing to build now.": "Flows este ceea ce se întâmplă fără ca nimeni să dea clic: un memento înainte de expirarea unui termen, o confirmare la trimitere. Aici le citești și le editezi — nu e nimic de construit acum.",
- "Open Flows in the menu": "Deschide Flows din meniu"
+ "Open Flows in the menu": "Deschide Flows din meniu",
+ "Ability Name": "Numele aptitudinii",
+ "Affected Characters": "Personaje afectate",
+ "Amount of copper pieces": "Cantitatea de monede de aramă",
+ "Amount of gold pieces": "Cantitatea de monede de aur",
+ "Amount of silver pieces": "Cantitatea de monede de argint",
+ "Automatic system notices": "Notificări automate de sistem",
+ "Award Reason": "Motivul acordării",
+ "Awarded At": "Acordat la",
+ "Awarded By": "Acordat de",
+ "Background Story": "Poveste de fundal",
+ "Base Value": "Valoare de bază",
+ "Character Card": "Fișa personajului",
+ "Character Name": "Numele personajului",
+ "Checked In At": "Prezență înregistrată la",
+ "Checked In By": "Prezență înregistrată de",
+ "Condition Name": "Numele stării",
+ "Contact email address": "Adresă de e-mail de contact",
+ "Copper Pieces": "Monede de aramă",
+ "Effect Name": "Numele efectului",
+ "End Date": "Data de sfârșit",
+ "Event Name": "Numele evenimentului",
+ "Event description": "Descrierea evenimentului",
+ "Event end date and time": "Data și ora de sfârșit ale evenimentului",
+ "Event location": "Locația evenimentului",
+ "Event name": "Numele evenimentului",
+ "Event start date and time": "Data și ora de început ale evenimentului",
+ "Faith": "Credință",
+ "Full name of the player": "Numele complet al jucătorului",
+ "Game Master Notes (Private)": "Notele maestrului de joc (private)",
+ "Game Master Notes (Public)": "Notele maestrului de joc (publice)",
+ "Gold Pieces": "Monede de aur",
+ "Item Name": "Numele obiectului",
+ "Items and Money": "Obiecte și bani",
+ "Mechanical Effect": "Efect de joc",
+ "Modifier Value": "Valoarea modificatorului",
+ "Name of the condition": "Numele stării",
+ "Name of the effect": "Numele efectului",
+ "Name of the event": "Numele evenimentului",
+ "Name of the item": "Numele obiectului",
+ "Name of the skill": "Numele abilității",
+ "Name of the stat": "Numele atributului",
+ "Nextcloud user": "Utilizator Nextcloud",
+ "Notes about items and money": "Note despre obiecte și bani",
+ "Notes about the player": "Note despre jucător",
+ "Overridden At": "Derogare acordată la",
+ "Overridden By": "Derogare acordată de",
+ "Override Reason": "Motivul derogării",
+ "Owner": "Proprietar",
+ "Owner UID": "UID-ul proprietarului",
+ "Participating Characters": "Personaje participante",
+ "Player Name": "Numele jucătorului",
+ "Post-Event Effects": "Efecte după eveniment",
+ "Real name of the player": "Numele real al jucătorului",
+ "Required Conditions": "Stări necesare",
+ "Required Effects": "Efecte necesare",
+ "Required Score": "Valoare necesară",
+ "Required Skills": "Abilități necesare",
+ "Required Stats": "Atribute necesare",
+ "Requirement Overrides": "Derogări de la cerințe",
+ "Setting Name": "Numele universului",
+ "Silver Pieces": "Monede de argint",
+ "Skill Name": "Numele abilității",
+ "Start Date": "Data de început",
+ "Starting value for all characters": "Valoare inițială pentru toate personajele",
+ "Stat": "Atribut",
+ "Status": "Status",
+ "System Notice": "Notificare de sistem",
+ "Unique Artifact": "Artefact unic",
+ "Unique Condition": "Stare unică",
+ "XP Amount": "Cantitatea de puncte de experiență",
+ "XP Award": "Acordare de puncte de experiență"
},
"nplurals=2; plural=(n != 1);"
)
diff --git a/l10n/ro.json b/l10n/ro.json
index a7233939..252d1b4a 100644
--- a/l10n/ro.json
+++ b/l10n/ro.json
@@ -151,7 +151,78 @@
"None — this is a root skill.": "Niciuna — aceasta este o abilitate de bază.",
"Where the automation lives": "Unde locuiește automatizarea",
"Flows are what happens without anyone clicking: a reminder before a deadline passes, a confirmation sent on submission. This is where you read and edit them. Nothing to build now.": "Flows este ceea ce se întâmplă fără ca nimeni să dea clic: un memento înainte de expirarea unui termen, o confirmare la trimitere. Aici le citești și le editezi — nu e nimic de construit acum.",
- "Open Flows in the menu": "Deschide Flows din meniu"
+ "Open Flows in the menu": "Deschide Flows din meniu",
+ "Ability Name": "Numele aptitudinii",
+ "Affected Characters": "Personaje afectate",
+ "Amount of copper pieces": "Cantitatea de monede de aramă",
+ "Amount of gold pieces": "Cantitatea de monede de aur",
+ "Amount of silver pieces": "Cantitatea de monede de argint",
+ "Automatic system notices": "Notificări automate de sistem",
+ "Award Reason": "Motivul acordării",
+ "Awarded At": "Acordat la",
+ "Awarded By": "Acordat de",
+ "Background Story": "Poveste de fundal",
+ "Base Value": "Valoare de bază",
+ "Character Card": "Fișa personajului",
+ "Character Name": "Numele personajului",
+ "Checked In At": "Prezență înregistrată la",
+ "Checked In By": "Prezență înregistrată de",
+ "Condition Name": "Numele stării",
+ "Contact email address": "Adresă de e-mail de contact",
+ "Copper Pieces": "Monede de aramă",
+ "Effect Name": "Numele efectului",
+ "End Date": "Data de sfârșit",
+ "Event Name": "Numele evenimentului",
+ "Event description": "Descrierea evenimentului",
+ "Event end date and time": "Data și ora de sfârșit ale evenimentului",
+ "Event location": "Locația evenimentului",
+ "Event name": "Numele evenimentului",
+ "Event start date and time": "Data și ora de început ale evenimentului",
+ "Faith": "Credință",
+ "Full name of the player": "Numele complet al jucătorului",
+ "Game Master Notes (Private)": "Notele maestrului de joc (private)",
+ "Game Master Notes (Public)": "Notele maestrului de joc (publice)",
+ "Gold Pieces": "Monede de aur",
+ "Item Name": "Numele obiectului",
+ "Items and Money": "Obiecte și bani",
+ "Mechanical Effect": "Efect de joc",
+ "Modifier Value": "Valoarea modificatorului",
+ "Name of the condition": "Numele stării",
+ "Name of the effect": "Numele efectului",
+ "Name of the event": "Numele evenimentului",
+ "Name of the item": "Numele obiectului",
+ "Name of the skill": "Numele abilității",
+ "Name of the stat": "Numele atributului",
+ "Nextcloud user": "Utilizator Nextcloud",
+ "Notes about items and money": "Note despre obiecte și bani",
+ "Notes about the player": "Note despre jucător",
+ "Overridden At": "Derogare acordată la",
+ "Overridden By": "Derogare acordată de",
+ "Override Reason": "Motivul derogării",
+ "Owner": "Proprietar",
+ "Owner UID": "UID-ul proprietarului",
+ "Participating Characters": "Personaje participante",
+ "Player Name": "Numele jucătorului",
+ "Post-Event Effects": "Efecte după eveniment",
+ "Real name of the player": "Numele real al jucătorului",
+ "Required Conditions": "Stări necesare",
+ "Required Effects": "Efecte necesare",
+ "Required Score": "Valoare necesară",
+ "Required Skills": "Abilități necesare",
+ "Required Stats": "Atribute necesare",
+ "Requirement Overrides": "Derogări de la cerințe",
+ "Setting Name": "Numele universului",
+ "Silver Pieces": "Monede de argint",
+ "Skill Name": "Numele abilității",
+ "Start Date": "Data de început",
+ "Starting value for all characters": "Valoare inițială pentru toate personajele",
+ "Stat": "Atribut",
+ "Status": "Status",
+ "System Notice": "Notificare de sistem",
+ "Unique Artifact": "Artefact unic",
+ "Unique Condition": "Stare unică",
+ "XP Amount": "Cantitatea de puncte de experiență",
+ "XP Award": "Acordare de puncte de experiență"
},
"plurals": {}
}
diff --git a/l10n/ru.js b/l10n/ru.js
index 4588e3dc..3d78b445 100644
--- a/l10n/ru.js
+++ b/l10n/ru.js
@@ -152,7 +152,78 @@ OC.L10N.register(
"None — this is a root skill.": "Нет — это базовый навык.",
"Where the automation lives": "Где живёт автоматизация",
"Flows are what happens without anyone clicking: a reminder before a deadline passes, a confirmation sent on submission. This is where you read and edit them. Nothing to build now.": "Flows — это то, что происходит без единого клика: напоминание до истечения срока, подтверждение при отправке. Здесь вы их читаете и редактируете — сейчас ничего строить не нужно.",
- "Open Flows in the menu": "Откройте Flows в меню"
+ "Open Flows in the menu": "Откройте Flows в меню",
+ "Ability Name": "Название способности",
+ "Affected Characters": "Затронутые персонажи",
+ "Amount of copper pieces": "Количество медных монет",
+ "Amount of gold pieces": "Количество золотых монет",
+ "Amount of silver pieces": "Количество серебряных монет",
+ "Automatic system notices": "Автоматические системные уведомления",
+ "Award Reason": "Причина начисления",
+ "Awarded At": "Начислено",
+ "Awarded By": "Начислил",
+ "Background Story": "Предыстория персонажа",
+ "Base Value": "Базовое значение",
+ "Character Card": "Карточка персонажа",
+ "Character Name": "Имя персонажа",
+ "Checked In At": "Прибытие отмечено",
+ "Checked In By": "Прибытие отметил",
+ "Condition Name": "Название состояния",
+ "Contact email address": "Контактный адрес электронной почты",
+ "Copper Pieces": "Медные монеты",
+ "Effect Name": "Название эффекта",
+ "End Date": "Дата окончания",
+ "Event Name": "Название события",
+ "Event description": "Описание события",
+ "Event end date and time": "Дата и время окончания события",
+ "Event location": "Место проведения события",
+ "Event name": "Название события",
+ "Event start date and time": "Дата и время начала события",
+ "Faith": "Вера",
+ "Full name of the player": "Полное имя игрока",
+ "Game Master Notes (Private)": "Заметки мастера игры (личные)",
+ "Game Master Notes (Public)": "Заметки мастера игры (общедоступные)",
+ "Gold Pieces": "Золотые монеты",
+ "Item Name": "Название предмета",
+ "Items and Money": "Предметы и деньги",
+ "Mechanical Effect": "Игровой эффект",
+ "Modifier Value": "Значение модификатора",
+ "Name of the condition": "Название состояния",
+ "Name of the effect": "Название эффекта",
+ "Name of the event": "Название события",
+ "Name of the item": "Название предмета",
+ "Name of the skill": "Название навыка",
+ "Name of the stat": "Название характеристики",
+ "Nextcloud user": "Пользователь Nextcloud",
+ "Notes about items and money": "Заметки о предметах и деньгах",
+ "Notes about the player": "Заметки об игроке",
+ "Overridden At": "Исключение предоставлено",
+ "Overridden By": "Исключение предоставил",
+ "Override Reason": "Причина исключения",
+ "Owner": "Владелец",
+ "Owner UID": "UID владельца",
+ "Participating Characters": "Участвующие персонажи",
+ "Player Name": "Имя игрока",
+ "Post-Event Effects": "Эффекты после события",
+ "Real name of the player": "Настоящее имя игрока",
+ "Required Conditions": "Требуемые состояния",
+ "Required Effects": "Требуемые эффекты",
+ "Required Score": "Требуемое значение",
+ "Required Skills": "Требуемые навыки",
+ "Required Stats": "Требуемые характеристики",
+ "Requirement Overrides": "Исключения из требований",
+ "Setting Name": "Название игрового мира",
+ "Silver Pieces": "Серебряные монеты",
+ "Skill Name": "Название навыка",
+ "Start Date": "Дата начала",
+ "Starting value for all characters": "Начальное значение для всех персонажей",
+ "Stat": "Характеристика",
+ "Status": "Статус",
+ "System Notice": "Системное уведомление",
+ "Unique Artifact": "Уникальный артефакт",
+ "Unique Condition": "Уникальное состояние",
+ "XP Amount": "Количество очков опыта",
+ "XP Award": "Начисление очков опыта"
},
"nplurals=2; plural=(n != 1);"
)
diff --git a/l10n/ru.json b/l10n/ru.json
index 7e6536c1..5570e3c3 100644
--- a/l10n/ru.json
+++ b/l10n/ru.json
@@ -151,7 +151,78 @@
"None — this is a root skill.": "Нет — это базовый навык.",
"Where the automation lives": "Где живёт автоматизация",
"Flows are what happens without anyone clicking: a reminder before a deadline passes, a confirmation sent on submission. This is where you read and edit them. Nothing to build now.": "Flows — это то, что происходит без единого клика: напоминание до истечения срока, подтверждение при отправке. Здесь вы их читаете и редактируете — сейчас ничего строить не нужно.",
- "Open Flows in the menu": "Откройте Flows в меню"
+ "Open Flows in the menu": "Откройте Flows в меню",
+ "Ability Name": "Название способности",
+ "Affected Characters": "Затронутые персонажи",
+ "Amount of copper pieces": "Количество медных монет",
+ "Amount of gold pieces": "Количество золотых монет",
+ "Amount of silver pieces": "Количество серебряных монет",
+ "Automatic system notices": "Автоматические системные уведомления",
+ "Award Reason": "Причина начисления",
+ "Awarded At": "Начислено",
+ "Awarded By": "Начислил",
+ "Background Story": "Предыстория персонажа",
+ "Base Value": "Базовое значение",
+ "Character Card": "Карточка персонажа",
+ "Character Name": "Имя персонажа",
+ "Checked In At": "Прибытие отмечено",
+ "Checked In By": "Прибытие отметил",
+ "Condition Name": "Название состояния",
+ "Contact email address": "Контактный адрес электронной почты",
+ "Copper Pieces": "Медные монеты",
+ "Effect Name": "Название эффекта",
+ "End Date": "Дата окончания",
+ "Event Name": "Название события",
+ "Event description": "Описание события",
+ "Event end date and time": "Дата и время окончания события",
+ "Event location": "Место проведения события",
+ "Event name": "Название события",
+ "Event start date and time": "Дата и время начала события",
+ "Faith": "Вера",
+ "Full name of the player": "Полное имя игрока",
+ "Game Master Notes (Private)": "Заметки мастера игры (личные)",
+ "Game Master Notes (Public)": "Заметки мастера игры (общедоступные)",
+ "Gold Pieces": "Золотые монеты",
+ "Item Name": "Название предмета",
+ "Items and Money": "Предметы и деньги",
+ "Mechanical Effect": "Игровой эффект",
+ "Modifier Value": "Значение модификатора",
+ "Name of the condition": "Название состояния",
+ "Name of the effect": "Название эффекта",
+ "Name of the event": "Название события",
+ "Name of the item": "Название предмета",
+ "Name of the skill": "Название навыка",
+ "Name of the stat": "Название характеристики",
+ "Nextcloud user": "Пользователь Nextcloud",
+ "Notes about items and money": "Заметки о предметах и деньгах",
+ "Notes about the player": "Заметки об игроке",
+ "Overridden At": "Исключение предоставлено",
+ "Overridden By": "Исключение предоставил",
+ "Override Reason": "Причина исключения",
+ "Owner": "Владелец",
+ "Owner UID": "UID владельца",
+ "Participating Characters": "Участвующие персонажи",
+ "Player Name": "Имя игрока",
+ "Post-Event Effects": "Эффекты после события",
+ "Real name of the player": "Настоящее имя игрока",
+ "Required Conditions": "Требуемые состояния",
+ "Required Effects": "Требуемые эффекты",
+ "Required Score": "Требуемое значение",
+ "Required Skills": "Требуемые навыки",
+ "Required Stats": "Требуемые характеристики",
+ "Requirement Overrides": "Исключения из требований",
+ "Setting Name": "Название игрового мира",
+ "Silver Pieces": "Серебряные монеты",
+ "Skill Name": "Название навыка",
+ "Start Date": "Дата начала",
+ "Starting value for all characters": "Начальное значение для всех персонажей",
+ "Stat": "Характеристика",
+ "Status": "Статус",
+ "System Notice": "Системное уведомление",
+ "Unique Artifact": "Уникальный артефакт",
+ "Unique Condition": "Уникальное состояние",
+ "XP Amount": "Количество очков опыта",
+ "XP Award": "Начисление очков опыта"
},
"plurals": {}
}
diff --git a/l10n/sk.js b/l10n/sk.js
index 912ca2f3..7b5b998e 100644
--- a/l10n/sk.js
+++ b/l10n/sk.js
@@ -152,7 +152,78 @@ OC.L10N.register(
"None — this is a root skill.": "Žiadne — toto je koreňová zručnosť.",
"Where the automation lives": "Kde býva automatizácia",
"Flows are what happens without anyone clicking: a reminder before a deadline passes, a confirmation sent on submission. This is where you read and edit them. Nothing to build now.": "Flows je to, čo sa deje bez toho, aby niekto klikol: pripomienka pred uplynutím lehoty, potvrdenie pri odoslaní. Tu ich čítaš a upravuješ — teraz netreba nič stavať.",
- "Open Flows in the menu": "Otvor Flows v ponuke"
+ "Open Flows in the menu": "Otvor Flows v ponuke",
+ "Ability Name": "Názov schopnosti",
+ "Affected Characters": "Dotknuté postavy",
+ "Amount of copper pieces": "Počet medených mincí",
+ "Amount of gold pieces": "Počet zlatých mincí",
+ "Amount of silver pieces": "Počet strieborných mincí",
+ "Automatic system notices": "Automatické systémové oznámenia",
+ "Award Reason": "Dôvod udelenia",
+ "Awarded At": "Udelené dňa",
+ "Awarded By": "Udelil",
+ "Background Story": "Príbeh postavy",
+ "Base Value": "Základná hodnota",
+ "Character Card": "Karta postavy",
+ "Character Name": "Meno postavy",
+ "Checked In At": "Príchod zaregistrovaný dňa",
+ "Checked In By": "Príchod zaregistroval",
+ "Condition Name": "Názov stavu",
+ "Contact email address": "Kontaktná e-mailová adresa",
+ "Copper Pieces": "Medené mince",
+ "Effect Name": "Názov účinku",
+ "End Date": "Dátum ukončenia",
+ "Event Name": "Názov podujatia",
+ "Event description": "Popis podujatia",
+ "Event end date and time": "Dátum a čas ukončenia podujatia",
+ "Event location": "Miesto konania podujatia",
+ "Event name": "Názov podujatia",
+ "Event start date and time": "Dátum a čas začiatku podujatia",
+ "Faith": "Viera",
+ "Full name of the player": "Celé meno hráča",
+ "Game Master Notes (Private)": "Poznámky rozprávača (súkromné)",
+ "Game Master Notes (Public)": "Poznámky rozprávača (verejné)",
+ "Gold Pieces": "Zlaté mince",
+ "Item Name": "Názov predmetu",
+ "Items and Money": "Predmety a peniaze",
+ "Mechanical Effect": "Herný účinok",
+ "Modifier Value": "Hodnota modifikátora",
+ "Name of the condition": "Názov stavu",
+ "Name of the effect": "Názov účinku",
+ "Name of the event": "Názov podujatia",
+ "Name of the item": "Názov predmetu",
+ "Name of the skill": "Názov zručnosti",
+ "Name of the stat": "Názov vlastnosti",
+ "Nextcloud user": "Používateľ Nextcloudu",
+ "Notes about items and money": "Poznámky k predmetom a peniazom",
+ "Notes about the player": "Poznámky k hráčovi",
+ "Overridden At": "Výnimka udelená dňa",
+ "Overridden By": "Výnimku udelil",
+ "Override Reason": "Dôvod výnimky",
+ "Owner": "Vlastník",
+ "Owner UID": "UID vlastníka",
+ "Participating Characters": "Zúčastnené postavy",
+ "Player Name": "Meno hráča",
+ "Post-Event Effects": "Účinky po podujatí",
+ "Real name of the player": "Skutočné meno hráča",
+ "Required Conditions": "Požadované stavy",
+ "Required Effects": "Požadované účinky",
+ "Required Score": "Požadovaná hodnota",
+ "Required Skills": "Požadované zručnosti",
+ "Required Stats": "Požadované vlastnosti",
+ "Requirement Overrides": "Výnimky z predpokladov",
+ "Setting Name": "Názov herného sveta",
+ "Silver Pieces": "Strieborné mince",
+ "Skill Name": "Názov zručnosti",
+ "Start Date": "Dátum začiatku",
+ "Starting value for all characters": "Počiatočná hodnota pre všetky postavy",
+ "Stat": "Vlastnosť",
+ "Status": "Status",
+ "System Notice": "Systémové oznámenie",
+ "Unique Artifact": "Jedinečný artefakt",
+ "Unique Condition": "Jedinečný stav",
+ "XP Amount": "Počet skúsenostných bodov",
+ "XP Award": "Udelenie skúsenostných bodov"
},
"nplurals=2; plural=(n != 1);"
)
diff --git a/l10n/sk.json b/l10n/sk.json
index e3b31328..5427bd0e 100644
--- a/l10n/sk.json
+++ b/l10n/sk.json
@@ -151,7 +151,78 @@
"None — this is a root skill.": "Žiadne — toto je koreňová zručnosť.",
"Where the automation lives": "Kde býva automatizácia",
"Flows are what happens without anyone clicking: a reminder before a deadline passes, a confirmation sent on submission. This is where you read and edit them. Nothing to build now.": "Flows je to, čo sa deje bez toho, aby niekto klikol: pripomienka pred uplynutím lehoty, potvrdenie pri odoslaní. Tu ich čítaš a upravuješ — teraz netreba nič stavať.",
- "Open Flows in the menu": "Otvor Flows v ponuke"
+ "Open Flows in the menu": "Otvor Flows v ponuke",
+ "Ability Name": "Názov schopnosti",
+ "Affected Characters": "Dotknuté postavy",
+ "Amount of copper pieces": "Počet medených mincí",
+ "Amount of gold pieces": "Počet zlatých mincí",
+ "Amount of silver pieces": "Počet strieborných mincí",
+ "Automatic system notices": "Automatické systémové oznámenia",
+ "Award Reason": "Dôvod udelenia",
+ "Awarded At": "Udelené dňa",
+ "Awarded By": "Udelil",
+ "Background Story": "Príbeh postavy",
+ "Base Value": "Základná hodnota",
+ "Character Card": "Karta postavy",
+ "Character Name": "Meno postavy",
+ "Checked In At": "Príchod zaregistrovaný dňa",
+ "Checked In By": "Príchod zaregistroval",
+ "Condition Name": "Názov stavu",
+ "Contact email address": "Kontaktná e-mailová adresa",
+ "Copper Pieces": "Medené mince",
+ "Effect Name": "Názov účinku",
+ "End Date": "Dátum ukončenia",
+ "Event Name": "Názov podujatia",
+ "Event description": "Popis podujatia",
+ "Event end date and time": "Dátum a čas ukončenia podujatia",
+ "Event location": "Miesto konania podujatia",
+ "Event name": "Názov podujatia",
+ "Event start date and time": "Dátum a čas začiatku podujatia",
+ "Faith": "Viera",
+ "Full name of the player": "Celé meno hráča",
+ "Game Master Notes (Private)": "Poznámky rozprávača (súkromné)",
+ "Game Master Notes (Public)": "Poznámky rozprávača (verejné)",
+ "Gold Pieces": "Zlaté mince",
+ "Item Name": "Názov predmetu",
+ "Items and Money": "Predmety a peniaze",
+ "Mechanical Effect": "Herný účinok",
+ "Modifier Value": "Hodnota modifikátora",
+ "Name of the condition": "Názov stavu",
+ "Name of the effect": "Názov účinku",
+ "Name of the event": "Názov podujatia",
+ "Name of the item": "Názov predmetu",
+ "Name of the skill": "Názov zručnosti",
+ "Name of the stat": "Názov vlastnosti",
+ "Nextcloud user": "Používateľ Nextcloudu",
+ "Notes about items and money": "Poznámky k predmetom a peniazom",
+ "Notes about the player": "Poznámky k hráčovi",
+ "Overridden At": "Výnimka udelená dňa",
+ "Overridden By": "Výnimku udelil",
+ "Override Reason": "Dôvod výnimky",
+ "Owner": "Vlastník",
+ "Owner UID": "UID vlastníka",
+ "Participating Characters": "Zúčastnené postavy",
+ "Player Name": "Meno hráča",
+ "Post-Event Effects": "Účinky po podujatí",
+ "Real name of the player": "Skutočné meno hráča",
+ "Required Conditions": "Požadované stavy",
+ "Required Effects": "Požadované účinky",
+ "Required Score": "Požadovaná hodnota",
+ "Required Skills": "Požadované zručnosti",
+ "Required Stats": "Požadované vlastnosti",
+ "Requirement Overrides": "Výnimky z predpokladov",
+ "Setting Name": "Názov herného sveta",
+ "Silver Pieces": "Strieborné mince",
+ "Skill Name": "Názov zručnosti",
+ "Start Date": "Dátum začiatku",
+ "Starting value for all characters": "Počiatočná hodnota pre všetky postavy",
+ "Stat": "Vlastnosť",
+ "Status": "Status",
+ "System Notice": "Systémové oznámenie",
+ "Unique Artifact": "Jedinečný artefakt",
+ "Unique Condition": "Jedinečný stav",
+ "XP Amount": "Počet skúsenostných bodov",
+ "XP Award": "Udelenie skúsenostných bodov"
},
"plurals": {}
}
diff --git a/l10n/sl.js b/l10n/sl.js
index a49e01b4..923e45d2 100644
--- a/l10n/sl.js
+++ b/l10n/sl.js
@@ -152,7 +152,78 @@ OC.L10N.register(
"None — this is a root skill.": "Brez — to je korenska veščina.",
"Where the automation lives": "Kje živi avtomatizacija",
"Flows are what happens without anyone clicking: a reminder before a deadline passes, a confirmation sent on submission. This is where you read and edit them. Nothing to build now.": "Flows je to, kar se zgodi, ne da bi kdo kliknil: opomnik pred iztekom roka, potrditev ob oddaji. Tukaj jih bereš in urejaš — zdaj ni treba ničesar graditi.",
- "Open Flows in the menu": "Odpri Flows v meniju"
+ "Open Flows in the menu": "Odpri Flows v meniju",
+ "Ability Name": "Ime sposobnosti",
+ "Affected Characters": "Prizadeti liki",
+ "Amount of copper pieces": "Število bakrenih kovancev",
+ "Amount of gold pieces": "Število zlatih kovancev",
+ "Amount of silver pieces": "Število srebrnih kovancev",
+ "Automatic system notices": "Samodejna sistemska obvestila",
+ "Award Reason": "Razlog za dodelitev",
+ "Awarded At": "Dodeljeno dne",
+ "Awarded By": "Dodelil",
+ "Background Story": "Zgodba ozadja",
+ "Base Value": "Osnovna vrednost",
+ "Character Card": "Kartica lika",
+ "Character Name": "Ime lika",
+ "Checked In At": "Prihod zabeležen dne",
+ "Checked In By": "Prihod zabeležil",
+ "Condition Name": "Ime stanja",
+ "Contact email address": "Kontaktni e-poštni naslov",
+ "Copper Pieces": "Bakreni kovanci",
+ "Effect Name": "Ime učinka",
+ "End Date": "Datum konca",
+ "Event Name": "Ime dogodka",
+ "Event description": "Opis dogodka",
+ "Event end date and time": "Datum in čas konca dogodka",
+ "Event location": "Kraj dogodka",
+ "Event name": "Ime dogodka",
+ "Event start date and time": "Datum in čas začetka dogodka",
+ "Faith": "Vera",
+ "Full name of the player": "Polno ime igralca",
+ "Game Master Notes (Private)": "Zapiski vodje igre (zasebni)",
+ "Game Master Notes (Public)": "Zapiski vodje igre (javni)",
+ "Gold Pieces": "Zlati kovanci",
+ "Item Name": "Ime predmeta",
+ "Items and Money": "Predmeti in denar",
+ "Mechanical Effect": "Igralni učinek",
+ "Modifier Value": "Vrednost modifikatorja",
+ "Name of the condition": "Ime stanja",
+ "Name of the effect": "Ime učinka",
+ "Name of the event": "Ime dogodka",
+ "Name of the item": "Ime predmeta",
+ "Name of the skill": "Ime veščine",
+ "Name of the stat": "Ime lastnosti",
+ "Nextcloud user": "Uporabnik Nextcloud",
+ "Notes about items and money": "Zapiski o predmetih in denarju",
+ "Notes about the player": "Zapiski o igralcu",
+ "Overridden At": "Izjema odobrena dne",
+ "Overridden By": "Izjemo odobril",
+ "Override Reason": "Razlog za izjemo",
+ "Owner": "Lastnik",
+ "Owner UID": "UID lastnika",
+ "Participating Characters": "Sodelujoči liki",
+ "Player Name": "Ime igralca",
+ "Post-Event Effects": "Učinki po dogodku",
+ "Real name of the player": "Pravo ime igralca",
+ "Required Conditions": "Zahtevana stanja",
+ "Required Effects": "Zahtevani učinki",
+ "Required Score": "Zahtevana vrednost",
+ "Required Skills": "Zahtevane veščine",
+ "Required Stats": "Zahtevane lastnosti",
+ "Requirement Overrides": "Izjeme od predpogojev",
+ "Setting Name": "Ime igralnega sveta",
+ "Silver Pieces": "Srebrni kovanci",
+ "Skill Name": "Ime veščine",
+ "Start Date": "Datum začetka",
+ "Starting value for all characters": "Začetna vrednost za vse like",
+ "Stat": "Lastnost",
+ "Status": "Status",
+ "System Notice": "Sistemsko obvestilo",
+ "Unique Artifact": "Edinstven artefakt",
+ "Unique Condition": "Edinstveno stanje",
+ "XP Amount": "Število izkušenjskih točk",
+ "XP Award": "Dodelitev izkušenjskih točk"
},
"nplurals=2; plural=(n != 1);"
)
diff --git a/l10n/sl.json b/l10n/sl.json
index f63f1d0c..cd16ee12 100644
--- a/l10n/sl.json
+++ b/l10n/sl.json
@@ -151,7 +151,78 @@
"None — this is a root skill.": "Brez — to je korenska veščina.",
"Where the automation lives": "Kje živi avtomatizacija",
"Flows are what happens without anyone clicking: a reminder before a deadline passes, a confirmation sent on submission. This is where you read and edit them. Nothing to build now.": "Flows je to, kar se zgodi, ne da bi kdo kliknil: opomnik pred iztekom roka, potrditev ob oddaji. Tukaj jih bereš in urejaš — zdaj ni treba ničesar graditi.",
- "Open Flows in the menu": "Odpri Flows v meniju"
+ "Open Flows in the menu": "Odpri Flows v meniju",
+ "Ability Name": "Ime sposobnosti",
+ "Affected Characters": "Prizadeti liki",
+ "Amount of copper pieces": "Število bakrenih kovancev",
+ "Amount of gold pieces": "Število zlatih kovancev",
+ "Amount of silver pieces": "Število srebrnih kovancev",
+ "Automatic system notices": "Samodejna sistemska obvestila",
+ "Award Reason": "Razlog za dodelitev",
+ "Awarded At": "Dodeljeno dne",
+ "Awarded By": "Dodelil",
+ "Background Story": "Zgodba ozadja",
+ "Base Value": "Osnovna vrednost",
+ "Character Card": "Kartica lika",
+ "Character Name": "Ime lika",
+ "Checked In At": "Prihod zabeležen dne",
+ "Checked In By": "Prihod zabeležil",
+ "Condition Name": "Ime stanja",
+ "Contact email address": "Kontaktni e-poštni naslov",
+ "Copper Pieces": "Bakreni kovanci",
+ "Effect Name": "Ime učinka",
+ "End Date": "Datum konca",
+ "Event Name": "Ime dogodka",
+ "Event description": "Opis dogodka",
+ "Event end date and time": "Datum in čas konca dogodka",
+ "Event location": "Kraj dogodka",
+ "Event name": "Ime dogodka",
+ "Event start date and time": "Datum in čas začetka dogodka",
+ "Faith": "Vera",
+ "Full name of the player": "Polno ime igralca",
+ "Game Master Notes (Private)": "Zapiski vodje igre (zasebni)",
+ "Game Master Notes (Public)": "Zapiski vodje igre (javni)",
+ "Gold Pieces": "Zlati kovanci",
+ "Item Name": "Ime predmeta",
+ "Items and Money": "Predmeti in denar",
+ "Mechanical Effect": "Igralni učinek",
+ "Modifier Value": "Vrednost modifikatorja",
+ "Name of the condition": "Ime stanja",
+ "Name of the effect": "Ime učinka",
+ "Name of the event": "Ime dogodka",
+ "Name of the item": "Ime predmeta",
+ "Name of the skill": "Ime veščine",
+ "Name of the stat": "Ime lastnosti",
+ "Nextcloud user": "Uporabnik Nextcloud",
+ "Notes about items and money": "Zapiski o predmetih in denarju",
+ "Notes about the player": "Zapiski o igralcu",
+ "Overridden At": "Izjema odobrena dne",
+ "Overridden By": "Izjemo odobril",
+ "Override Reason": "Razlog za izjemo",
+ "Owner": "Lastnik",
+ "Owner UID": "UID lastnika",
+ "Participating Characters": "Sodelujoči liki",
+ "Player Name": "Ime igralca",
+ "Post-Event Effects": "Učinki po dogodku",
+ "Real name of the player": "Pravo ime igralca",
+ "Required Conditions": "Zahtevana stanja",
+ "Required Effects": "Zahtevani učinki",
+ "Required Score": "Zahtevana vrednost",
+ "Required Skills": "Zahtevane veščine",
+ "Required Stats": "Zahtevane lastnosti",
+ "Requirement Overrides": "Izjeme od predpogojev",
+ "Setting Name": "Ime igralnega sveta",
+ "Silver Pieces": "Srebrni kovanci",
+ "Skill Name": "Ime veščine",
+ "Start Date": "Datum začetka",
+ "Starting value for all characters": "Začetna vrednost za vse like",
+ "Stat": "Lastnost",
+ "Status": "Status",
+ "System Notice": "Sistemsko obvestilo",
+ "Unique Artifact": "Edinstven artefakt",
+ "Unique Condition": "Edinstveno stanje",
+ "XP Amount": "Število izkušenjskih točk",
+ "XP Award": "Dodelitev izkušenjskih točk"
},
"plurals": {}
}
diff --git a/l10n/sq.js b/l10n/sq.js
index c4d7b786..d8c927ad 100644
--- a/l10n/sq.js
+++ b/l10n/sq.js
@@ -152,7 +152,78 @@ OC.L10N.register(
"None — this is a root skill.": "Asnjë — kjo është një shkathtësi bazë.",
"Where the automation lives": "Ku jeton automatizimi",
"Flows are what happens without anyone clicking: a reminder before a deadline passes, a confirmation sent on submission. This is where you read and edit them. Nothing to build now.": "Flows është ajo që ndodh pa klikuar askush: një kujtesë para se të skadojë një afat, një konfirmim në dorëzim. Këtu i lexoni dhe i redaktoni — nuk ka asgjë për të ndërtuar tani.",
- "Open Flows in the menu": "Hapni Flows në meny"
+ "Open Flows in the menu": "Hapni Flows në meny",
+ "Ability Name": "Emri i aftësisë",
+ "Affected Characters": "Personazhet e prekur",
+ "Amount of copper pieces": "Sasia e monedhave prej bakri",
+ "Amount of gold pieces": "Sasia e monedhave prej ari",
+ "Amount of silver pieces": "Sasia e monedhave prej argjendi",
+ "Automatic system notices": "Njoftime automatike të sistemit",
+ "Award Reason": "Arsyeja e dhënies",
+ "Awarded At": "Dhënë më",
+ "Awarded By": "Dhënë nga",
+ "Background Story": "Historia e sfondit",
+ "Base Value": "Vlera bazë",
+ "Character Card": "Karta e personazhit",
+ "Character Name": "Emri i personazhit",
+ "Checked In At": "Mbërritja u regjistrua më",
+ "Checked In By": "Mbërritja u regjistrua nga",
+ "Condition Name": "Emri i gjendjes",
+ "Contact email address": "Adresa e e-mailit për kontakt",
+ "Copper Pieces": "Monedha prej bakri",
+ "Effect Name": "Emri i efektit",
+ "End Date": "Data e mbarimit",
+ "Event Name": "Emri i ngjarjes",
+ "Event description": "Përshkrimi i ngjarjes",
+ "Event end date and time": "Data dhe ora e mbarimit të ngjarjes",
+ "Event location": "Vendndodhja e ngjarjes",
+ "Event name": "Emri i ngjarjes",
+ "Event start date and time": "Data dhe ora e fillimit të ngjarjes",
+ "Faith": "Besimi",
+ "Full name of the player": "Emri i plotë i lojtarit",
+ "Game Master Notes (Private)": "Shënimet e udhëheqësit të lojës (private)",
+ "Game Master Notes (Public)": "Shënimet e udhëheqësit të lojës (publike)",
+ "Gold Pieces": "Monedha prej ari",
+ "Item Name": "Emri i artikullit",
+ "Items and Money": "Artikujt dhe paratë",
+ "Mechanical Effect": "Efekti në lojë",
+ "Modifier Value": "Vlera e modifikuesit",
+ "Name of the condition": "Emri i gjendjes",
+ "Name of the effect": "Emri i efektit",
+ "Name of the event": "Emri i ngjarjes",
+ "Name of the item": "Emri i artikullit",
+ "Name of the skill": "Emri i shkathtësisë",
+ "Name of the stat": "Emri i tiparit",
+ "Nextcloud user": "Përdorues i Nextcloud",
+ "Notes about items and money": "Shënime për artikujt dhe paratë",
+ "Notes about the player": "Shënime për lojtarin",
+ "Overridden At": "Përjashtimi u dha më",
+ "Overridden By": "Përjashtimi u dha nga",
+ "Override Reason": "Arsyeja e përjashtimit",
+ "Owner": "Pronari",
+ "Owner UID": "UID i pronarit",
+ "Participating Characters": "Personazhet pjesëmarrës",
+ "Player Name": "Emri i lojtarit",
+ "Post-Event Effects": "Efektet pas ngjarjes",
+ "Real name of the player": "Emri i vërtetë i lojtarit",
+ "Required Conditions": "Gjendjet e nevojshme",
+ "Required Effects": "Efektet e nevojshme",
+ "Required Score": "Vlera e nevojshme",
+ "Required Skills": "Shkathtësitë e nevojshme",
+ "Required Stats": "Tiparet e nevojshme",
+ "Requirement Overrides": "Përjashtimet nga parakushtet",
+ "Setting Name": "Emri i botës së lojës",
+ "Silver Pieces": "Monedha prej argjendi",
+ "Skill Name": "Emri i shkathtësisë",
+ "Start Date": "Data e fillimit",
+ "Starting value for all characters": "Vlera fillestare për të gjithë personazhet",
+ "Stat": "Tipar",
+ "Status": "Statusi",
+ "System Notice": "Njoftim i sistemit",
+ "Unique Artifact": "Artefakt unik",
+ "Unique Condition": "Gjendje unike",
+ "XP Amount": "Sasia e pikëve të përvojës",
+ "XP Award": "Dhënie e pikëve të përvojës"
},
"nplurals=2; plural=(n != 1);"
)
diff --git a/l10n/sq.json b/l10n/sq.json
index f0021e8d..b28083c0 100644
--- a/l10n/sq.json
+++ b/l10n/sq.json
@@ -151,7 +151,78 @@
"None — this is a root skill.": "Asnjë — kjo është një shkathtësi bazë.",
"Where the automation lives": "Ku jeton automatizimi",
"Flows are what happens without anyone clicking: a reminder before a deadline passes, a confirmation sent on submission. This is where you read and edit them. Nothing to build now.": "Flows është ajo që ndodh pa klikuar askush: një kujtesë para se të skadojë një afat, një konfirmim në dorëzim. Këtu i lexoni dhe i redaktoni — nuk ka asgjë për të ndërtuar tani.",
- "Open Flows in the menu": "Hapni Flows në meny"
+ "Open Flows in the menu": "Hapni Flows në meny",
+ "Ability Name": "Emri i aftësisë",
+ "Affected Characters": "Personazhet e prekur",
+ "Amount of copper pieces": "Sasia e monedhave prej bakri",
+ "Amount of gold pieces": "Sasia e monedhave prej ari",
+ "Amount of silver pieces": "Sasia e monedhave prej argjendi",
+ "Automatic system notices": "Njoftime automatike të sistemit",
+ "Award Reason": "Arsyeja e dhënies",
+ "Awarded At": "Dhënë më",
+ "Awarded By": "Dhënë nga",
+ "Background Story": "Historia e sfondit",
+ "Base Value": "Vlera bazë",
+ "Character Card": "Karta e personazhit",
+ "Character Name": "Emri i personazhit",
+ "Checked In At": "Mbërritja u regjistrua më",
+ "Checked In By": "Mbërritja u regjistrua nga",
+ "Condition Name": "Emri i gjendjes",
+ "Contact email address": "Adresa e e-mailit për kontakt",
+ "Copper Pieces": "Monedha prej bakri",
+ "Effect Name": "Emri i efektit",
+ "End Date": "Data e mbarimit",
+ "Event Name": "Emri i ngjarjes",
+ "Event description": "Përshkrimi i ngjarjes",
+ "Event end date and time": "Data dhe ora e mbarimit të ngjarjes",
+ "Event location": "Vendndodhja e ngjarjes",
+ "Event name": "Emri i ngjarjes",
+ "Event start date and time": "Data dhe ora e fillimit të ngjarjes",
+ "Faith": "Besimi",
+ "Full name of the player": "Emri i plotë i lojtarit",
+ "Game Master Notes (Private)": "Shënimet e udhëheqësit të lojës (private)",
+ "Game Master Notes (Public)": "Shënimet e udhëheqësit të lojës (publike)",
+ "Gold Pieces": "Monedha prej ari",
+ "Item Name": "Emri i artikullit",
+ "Items and Money": "Artikujt dhe paratë",
+ "Mechanical Effect": "Efekti në lojë",
+ "Modifier Value": "Vlera e modifikuesit",
+ "Name of the condition": "Emri i gjendjes",
+ "Name of the effect": "Emri i efektit",
+ "Name of the event": "Emri i ngjarjes",
+ "Name of the item": "Emri i artikullit",
+ "Name of the skill": "Emri i shkathtësisë",
+ "Name of the stat": "Emri i tiparit",
+ "Nextcloud user": "Përdorues i Nextcloud",
+ "Notes about items and money": "Shënime për artikujt dhe paratë",
+ "Notes about the player": "Shënime për lojtarin",
+ "Overridden At": "Përjashtimi u dha më",
+ "Overridden By": "Përjashtimi u dha nga",
+ "Override Reason": "Arsyeja e përjashtimit",
+ "Owner": "Pronari",
+ "Owner UID": "UID i pronarit",
+ "Participating Characters": "Personazhet pjesëmarrës",
+ "Player Name": "Emri i lojtarit",
+ "Post-Event Effects": "Efektet pas ngjarjes",
+ "Real name of the player": "Emri i vërtetë i lojtarit",
+ "Required Conditions": "Gjendjet e nevojshme",
+ "Required Effects": "Efektet e nevojshme",
+ "Required Score": "Vlera e nevojshme",
+ "Required Skills": "Shkathtësitë e nevojshme",
+ "Required Stats": "Tiparet e nevojshme",
+ "Requirement Overrides": "Përjashtimet nga parakushtet",
+ "Setting Name": "Emri i botës së lojës",
+ "Silver Pieces": "Monedha prej argjendi",
+ "Skill Name": "Emri i shkathtësisë",
+ "Start Date": "Data e fillimit",
+ "Starting value for all characters": "Vlera fillestare për të gjithë personazhet",
+ "Stat": "Tipar",
+ "Status": "Statusi",
+ "System Notice": "Njoftim i sistemit",
+ "Unique Artifact": "Artefakt unik",
+ "Unique Condition": "Gjendje unike",
+ "XP Amount": "Sasia e pikëve të përvojës",
+ "XP Award": "Dhënie e pikëve të përvojës"
},
"plurals": {}
}
diff --git a/l10n/sr.js b/l10n/sr.js
index 91a39780..728b6ad1 100644
--- a/l10n/sr.js
+++ b/l10n/sr.js
@@ -152,7 +152,78 @@ OC.L10N.register(
"None — this is a root skill.": "Нема — ово је основна вештина.",
"Where the automation lives": "Где живи аутоматизација",
"Flows are what happens without anyone clicking: a reminder before a deadline passes, a confirmation sent on submission. This is where you read and edit them. Nothing to build now.": "Flows је оно што се дешава без ичијег клика: подсетник пре истека рока, потврда при предаји. Овде их читаш и уређујеш — сада нема шта да се гради.",
- "Open Flows in the menu": "Отвори Flows у менију"
+ "Open Flows in the menu": "Отвори Flows у менију",
+ "Ability Name": "Назив способности",
+ "Affected Characters": "Обухваћени ликови",
+ "Amount of copper pieces": "Број бакарних новчића",
+ "Amount of gold pieces": "Број златних новчића",
+ "Amount of silver pieces": "Број сребрних новчића",
+ "Automatic system notices": "Аутоматска системска обавештења",
+ "Award Reason": "Разлог доделе",
+ "Awarded At": "Додељено",
+ "Awarded By": "Доделио",
+ "Background Story": "Позадинска прича",
+ "Base Value": "Основна вредност",
+ "Character Card": "Картица лика",
+ "Character Name": "Име лика",
+ "Checked In At": "Долазак забележен",
+ "Checked In By": "Долазак забележио",
+ "Condition Name": "Назив стања",
+ "Contact email address": "Контакт адреса е-поште",
+ "Copper Pieces": "Бакарни новчићи",
+ "Effect Name": "Назив ефекта",
+ "End Date": "Датум завршетка",
+ "Event Name": "Назив догађаја",
+ "Event description": "Опис догађаја",
+ "Event end date and time": "Датум и време завршетка догађаја",
+ "Event location": "Место догађаја",
+ "Event name": "Назив догађаја",
+ "Event start date and time": "Датум и време почетка догађаја",
+ "Faith": "Вера",
+ "Full name of the player": "Пуно име играча",
+ "Game Master Notes (Private)": "Белешке водитеља игре (приватне)",
+ "Game Master Notes (Public)": "Белешке водитеља игре (јавне)",
+ "Gold Pieces": "Златни новчићи",
+ "Item Name": "Назив предмета",
+ "Items and Money": "Предмети и новац",
+ "Mechanical Effect": "Ефекат у игри",
+ "Modifier Value": "Вредност модификатора",
+ "Name of the condition": "Назив стања",
+ "Name of the effect": "Назив ефекта",
+ "Name of the event": "Назив догађаја",
+ "Name of the item": "Назив предмета",
+ "Name of the skill": "Назив вештине",
+ "Name of the stat": "Назив својства",
+ "Nextcloud user": "Nextcloud корисник",
+ "Notes about items and money": "Белешке о предметима и новцу",
+ "Notes about the player": "Белешке о играчу",
+ "Overridden At": "Изузетак одобрен",
+ "Overridden By": "Изузетак одобрио",
+ "Override Reason": "Разлог изузетка",
+ "Owner": "Власник",
+ "Owner UID": "UID власника",
+ "Participating Characters": "Ликови који учествују",
+ "Player Name": "Име играча",
+ "Post-Event Effects": "Ефекти након догађаја",
+ "Real name of the player": "Право име играча",
+ "Required Conditions": "Потребна стања",
+ "Required Effects": "Потребни ефекти",
+ "Required Score": "Потребна вредност",
+ "Required Skills": "Потребне вештине",
+ "Required Stats": "Потребна својства",
+ "Requirement Overrides": "Изузеци од предуслова",
+ "Setting Name": "Назив света игре",
+ "Silver Pieces": "Сребрни новчићи",
+ "Skill Name": "Назив вештине",
+ "Start Date": "Датум почетка",
+ "Starting value for all characters": "Почетна вредност за све ликове",
+ "Stat": "Својство",
+ "Status": "Статус",
+ "System Notice": "Системско обавештење",
+ "Unique Artifact": "Јединствени артефакт",
+ "Unique Condition": "Јединствено стање",
+ "XP Amount": "Број поена искуства",
+ "XP Award": "Додела поена искуства"
},
"nplurals=2; plural=(n != 1);"
)
diff --git a/l10n/sr.json b/l10n/sr.json
index ee0caea7..a836e17e 100644
--- a/l10n/sr.json
+++ b/l10n/sr.json
@@ -151,7 +151,78 @@
"None — this is a root skill.": "Нема — ово је основна вештина.",
"Where the automation lives": "Где живи аутоматизација",
"Flows are what happens without anyone clicking: a reminder before a deadline passes, a confirmation sent on submission. This is where you read and edit them. Nothing to build now.": "Flows је оно што се дешава без ичијег клика: подсетник пре истека рока, потврда при предаји. Овде их читаш и уређујеш — сада нема шта да се гради.",
- "Open Flows in the menu": "Отвори Flows у менију"
+ "Open Flows in the menu": "Отвори Flows у менију",
+ "Ability Name": "Назив способности",
+ "Affected Characters": "Обухваћени ликови",
+ "Amount of copper pieces": "Број бакарних новчића",
+ "Amount of gold pieces": "Број златних новчића",
+ "Amount of silver pieces": "Број сребрних новчића",
+ "Automatic system notices": "Аутоматска системска обавештења",
+ "Award Reason": "Разлог доделе",
+ "Awarded At": "Додељено",
+ "Awarded By": "Доделио",
+ "Background Story": "Позадинска прича",
+ "Base Value": "Основна вредност",
+ "Character Card": "Картица лика",
+ "Character Name": "Име лика",
+ "Checked In At": "Долазак забележен",
+ "Checked In By": "Долазак забележио",
+ "Condition Name": "Назив стања",
+ "Contact email address": "Контакт адреса е-поште",
+ "Copper Pieces": "Бакарни новчићи",
+ "Effect Name": "Назив ефекта",
+ "End Date": "Датум завршетка",
+ "Event Name": "Назив догађаја",
+ "Event description": "Опис догађаја",
+ "Event end date and time": "Датум и време завршетка догађаја",
+ "Event location": "Место догађаја",
+ "Event name": "Назив догађаја",
+ "Event start date and time": "Датум и време почетка догађаја",
+ "Faith": "Вера",
+ "Full name of the player": "Пуно име играча",
+ "Game Master Notes (Private)": "Белешке водитеља игре (приватне)",
+ "Game Master Notes (Public)": "Белешке водитеља игре (јавне)",
+ "Gold Pieces": "Златни новчићи",
+ "Item Name": "Назив предмета",
+ "Items and Money": "Предмети и новац",
+ "Mechanical Effect": "Ефекат у игри",
+ "Modifier Value": "Вредност модификатора",
+ "Name of the condition": "Назив стања",
+ "Name of the effect": "Назив ефекта",
+ "Name of the event": "Назив догађаја",
+ "Name of the item": "Назив предмета",
+ "Name of the skill": "Назив вештине",
+ "Name of the stat": "Назив својства",
+ "Nextcloud user": "Nextcloud корисник",
+ "Notes about items and money": "Белешке о предметима и новцу",
+ "Notes about the player": "Белешке о играчу",
+ "Overridden At": "Изузетак одобрен",
+ "Overridden By": "Изузетак одобрио",
+ "Override Reason": "Разлог изузетка",
+ "Owner": "Власник",
+ "Owner UID": "UID власника",
+ "Participating Characters": "Ликови који учествују",
+ "Player Name": "Име играча",
+ "Post-Event Effects": "Ефекти након догађаја",
+ "Real name of the player": "Право име играча",
+ "Required Conditions": "Потребна стања",
+ "Required Effects": "Потребни ефекти",
+ "Required Score": "Потребна вредност",
+ "Required Skills": "Потребне вештине",
+ "Required Stats": "Потребна својства",
+ "Requirement Overrides": "Изузеци од предуслова",
+ "Setting Name": "Назив света игре",
+ "Silver Pieces": "Сребрни новчићи",
+ "Skill Name": "Назив вештине",
+ "Start Date": "Датум почетка",
+ "Starting value for all characters": "Почетна вредност за све ликове",
+ "Stat": "Својство",
+ "Status": "Статус",
+ "System Notice": "Системско обавештење",
+ "Unique Artifact": "Јединствени артефакт",
+ "Unique Condition": "Јединствено стање",
+ "XP Amount": "Број поена искуства",
+ "XP Award": "Додела поена искуства"
},
"plurals": {}
}
diff --git a/l10n/sv.js b/l10n/sv.js
index 14f79034..aed0e38a 100644
--- a/l10n/sv.js
+++ b/l10n/sv.js
@@ -152,7 +152,78 @@ OC.L10N.register(
"None — this is a root skill.": "Inga — detta är en grundfärdighet.",
"Where the automation lives": "Där automatiseringen bor",
"Flows are what happens without anyone clicking: a reminder before a deadline passes, a confirmation sent on submission. This is where you read and edit them. Nothing to build now.": "Flows är det som händer utan att någon klickar: en påminnelse innan en tidsfrist löper ut, en bekräftelse vid inlämning. Här läser och redigerar du dem — det finns inget att bygga nu.",
- "Open Flows in the menu": "Öppna Flows i menyn"
+ "Open Flows in the menu": "Öppna Flows i menyn",
+ "Ability Name": "Namn på förmågan",
+ "Affected Characters": "Berörda karaktärer",
+ "Amount of copper pieces": "Antal kopparmynt",
+ "Amount of gold pieces": "Antal guldmynt",
+ "Amount of silver pieces": "Antal silvermynt",
+ "Automatic system notices": "Automatiska systemmeddelanden",
+ "Award Reason": "Skäl till tilldelningen",
+ "Awarded At": "Tilldelad den",
+ "Awarded By": "Tilldelad av",
+ "Background Story": "Bakgrundshistoria",
+ "Base Value": "Basvärde",
+ "Character Card": "Karaktärskort",
+ "Character Name": "Namn på karaktären",
+ "Checked In At": "Incheckad den",
+ "Checked In By": "Incheckad av",
+ "Condition Name": "Namn på tillståndet",
+ "Contact email address": "E-postadress för kontakt",
+ "Copper Pieces": "Kopparmynt",
+ "Effect Name": "Namn på effekten",
+ "End Date": "Slutdatum",
+ "Event Name": "Namn på evenemanget",
+ "Event description": "Beskrivning av evenemanget",
+ "Event end date and time": "Slutdatum och -tid för evenemanget",
+ "Event location": "Plats för evenemanget",
+ "Event name": "Namn på evenemanget",
+ "Event start date and time": "Startdatum och -tid för evenemanget",
+ "Faith": "Tro",
+ "Full name of the player": "Spelarens fullständiga namn",
+ "Game Master Notes (Private)": "Spelledarens anteckningar (privata)",
+ "Game Master Notes (Public)": "Spelledarens anteckningar (offentliga)",
+ "Gold Pieces": "Guldmynt",
+ "Item Name": "Namn på föremålet",
+ "Items and Money": "Föremål och pengar",
+ "Mechanical Effect": "Spelteknisk effekt",
+ "Modifier Value": "Modifierarens värde",
+ "Name of the condition": "Namn på tillståndet",
+ "Name of the effect": "Namn på effekten",
+ "Name of the event": "Namn på evenemanget",
+ "Name of the item": "Namn på föremålet",
+ "Name of the skill": "Namn på färdigheten",
+ "Name of the stat": "Namn på attributet",
+ "Nextcloud user": "Nextcloud-användare",
+ "Notes about items and money": "Anteckningar om föremål och pengar",
+ "Notes about the player": "Anteckningar om spelaren",
+ "Overridden At": "Åsidosatt den",
+ "Overridden By": "Åsidosatt av",
+ "Override Reason": "Skäl till åsidosättandet",
+ "Owner": "Ägare",
+ "Owner UID": "Ägarens UID",
+ "Participating Characters": "Deltagande karaktärer",
+ "Player Name": "Namn på spelaren",
+ "Post-Event Effects": "Effekter efter evenemanget",
+ "Real name of the player": "Spelarens riktiga namn",
+ "Required Conditions": "Nödvändiga tillstånd",
+ "Required Effects": "Nödvändiga effekter",
+ "Required Score": "Nödvändigt värde",
+ "Required Skills": "Nödvändiga färdigheter",
+ "Required Stats": "Nödvändiga attribut",
+ "Requirement Overrides": "Åsidosatta förkunskapskrav",
+ "Setting Name": "Namn på spelvärlden",
+ "Silver Pieces": "Silvermynt",
+ "Skill Name": "Namn på färdigheten",
+ "Start Date": "Startdatum",
+ "Starting value for all characters": "Startvärde för alla karaktärer",
+ "Stat": "Attribut",
+ "Status": "Status",
+ "System Notice": "Systemmeddelande",
+ "Unique Artifact": "Unik artefakt",
+ "Unique Condition": "Unikt tillstånd",
+ "XP Amount": "Antal erfarenhetspoäng",
+ "XP Award": "XP-tilldelning"
},
"nplurals=2; plural=(n != 1);"
)
diff --git a/l10n/sv.json b/l10n/sv.json
index f6f363e2..d7cba46f 100644
--- a/l10n/sv.json
+++ b/l10n/sv.json
@@ -151,7 +151,78 @@
"None — this is a root skill.": "Inga — detta är en grundfärdighet.",
"Where the automation lives": "Där automatiseringen bor",
"Flows are what happens without anyone clicking: a reminder before a deadline passes, a confirmation sent on submission. This is where you read and edit them. Nothing to build now.": "Flows är det som händer utan att någon klickar: en påminnelse innan en tidsfrist löper ut, en bekräftelse vid inlämning. Här läser och redigerar du dem — det finns inget att bygga nu.",
- "Open Flows in the menu": "Öppna Flows i menyn"
+ "Open Flows in the menu": "Öppna Flows i menyn",
+ "Ability Name": "Namn på förmågan",
+ "Affected Characters": "Berörda karaktärer",
+ "Amount of copper pieces": "Antal kopparmynt",
+ "Amount of gold pieces": "Antal guldmynt",
+ "Amount of silver pieces": "Antal silvermynt",
+ "Automatic system notices": "Automatiska systemmeddelanden",
+ "Award Reason": "Skäl till tilldelningen",
+ "Awarded At": "Tilldelad den",
+ "Awarded By": "Tilldelad av",
+ "Background Story": "Bakgrundshistoria",
+ "Base Value": "Basvärde",
+ "Character Card": "Karaktärskort",
+ "Character Name": "Namn på karaktären",
+ "Checked In At": "Incheckad den",
+ "Checked In By": "Incheckad av",
+ "Condition Name": "Namn på tillståndet",
+ "Contact email address": "E-postadress för kontakt",
+ "Copper Pieces": "Kopparmynt",
+ "Effect Name": "Namn på effekten",
+ "End Date": "Slutdatum",
+ "Event Name": "Namn på evenemanget",
+ "Event description": "Beskrivning av evenemanget",
+ "Event end date and time": "Slutdatum och -tid för evenemanget",
+ "Event location": "Plats för evenemanget",
+ "Event name": "Namn på evenemanget",
+ "Event start date and time": "Startdatum och -tid för evenemanget",
+ "Faith": "Tro",
+ "Full name of the player": "Spelarens fullständiga namn",
+ "Game Master Notes (Private)": "Spelledarens anteckningar (privata)",
+ "Game Master Notes (Public)": "Spelledarens anteckningar (offentliga)",
+ "Gold Pieces": "Guldmynt",
+ "Item Name": "Namn på föremålet",
+ "Items and Money": "Föremål och pengar",
+ "Mechanical Effect": "Spelteknisk effekt",
+ "Modifier Value": "Modifierarens värde",
+ "Name of the condition": "Namn på tillståndet",
+ "Name of the effect": "Namn på effekten",
+ "Name of the event": "Namn på evenemanget",
+ "Name of the item": "Namn på föremålet",
+ "Name of the skill": "Namn på färdigheten",
+ "Name of the stat": "Namn på attributet",
+ "Nextcloud user": "Nextcloud-användare",
+ "Notes about items and money": "Anteckningar om föremål och pengar",
+ "Notes about the player": "Anteckningar om spelaren",
+ "Overridden At": "Åsidosatt den",
+ "Overridden By": "Åsidosatt av",
+ "Override Reason": "Skäl till åsidosättandet",
+ "Owner": "Ägare",
+ "Owner UID": "Ägarens UID",
+ "Participating Characters": "Deltagande karaktärer",
+ "Player Name": "Namn på spelaren",
+ "Post-Event Effects": "Effekter efter evenemanget",
+ "Real name of the player": "Spelarens riktiga namn",
+ "Required Conditions": "Nödvändiga tillstånd",
+ "Required Effects": "Nödvändiga effekter",
+ "Required Score": "Nödvändigt värde",
+ "Required Skills": "Nödvändiga färdigheter",
+ "Required Stats": "Nödvändiga attribut",
+ "Requirement Overrides": "Åsidosatta förkunskapskrav",
+ "Setting Name": "Namn på spelvärlden",
+ "Silver Pieces": "Silvermynt",
+ "Skill Name": "Namn på färdigheten",
+ "Start Date": "Startdatum",
+ "Starting value for all characters": "Startvärde för alla karaktärer",
+ "Stat": "Attribut",
+ "Status": "Status",
+ "System Notice": "Systemmeddelande",
+ "Unique Artifact": "Unik artefakt",
+ "Unique Condition": "Unikt tillstånd",
+ "XP Amount": "Antal erfarenhetspoäng",
+ "XP Award": "XP-tilldelning"
},
"plurals": {}
}
diff --git a/l10n/tr.js b/l10n/tr.js
index 88459be9..5580dd03 100644
--- a/l10n/tr.js
+++ b/l10n/tr.js
@@ -152,7 +152,78 @@ OC.L10N.register(
"None — this is a root skill.": "Yok — bu bir kök beceridir.",
"Where the automation lives": "Otomasyonun yaşadığı yer",
"Flows are what happens without anyone clicking: a reminder before a deadline passes, a confirmation sent on submission. This is where you read and edit them. Nothing to build now.": "Flows, kimse tıklamadan olan şeydir: bir süre dolmadan önce bir hatırlatma, gönderimde bir onay. Bunları burada okur ve düzenlersiniz — şimdi inşa edilecek bir şey yok.",
- "Open Flows in the menu": "Menüden Flows'u açın"
+ "Open Flows in the menu": "Menüden Flows'u açın",
+ "Ability Name": "Yeteneğin adı",
+ "Affected Characters": "Etkilenen karakterler",
+ "Amount of copper pieces": "Bakır sikke miktarı",
+ "Amount of gold pieces": "Altın sikke miktarı",
+ "Amount of silver pieces": "Gümüş sikke miktarı",
+ "Automatic system notices": "Otomatik sistem bildirimleri",
+ "Award Reason": "Verilme nedeni",
+ "Awarded At": "Verilme tarihi",
+ "Awarded By": "Veren",
+ "Background Story": "Geçmiş hikâyesi",
+ "Base Value": "Temel değer",
+ "Character Card": "Karakter kartı",
+ "Character Name": "Karakterin adı",
+ "Checked In At": "Giriş kaydı tarihi",
+ "Checked In By": "Giriş kaydını yapan",
+ "Condition Name": "Durumun adı",
+ "Contact email address": "İletişim e-posta adresi",
+ "Copper Pieces": "Bakır sikkeler",
+ "Effect Name": "Etkinin adı",
+ "End Date": "Bitiş tarihi",
+ "Event Name": "Etkinliğin adı",
+ "Event description": "Etkinliğin açıklaması",
+ "Event end date and time": "Etkinliğin bitiş tarihi ve saati",
+ "Event location": "Etkinliğin konumu",
+ "Event name": "Etkinliğin adı",
+ "Event start date and time": "Etkinliğin başlangıç tarihi ve saati",
+ "Faith": "İnanç",
+ "Full name of the player": "Oyuncunun tam adı",
+ "Game Master Notes (Private)": "Oyun yöneticisinin notları (özel)",
+ "Game Master Notes (Public)": "Oyun yöneticisinin notları (herkese açık)",
+ "Gold Pieces": "Altın sikkeler",
+ "Item Name": "Eşyanın adı",
+ "Items and Money": "Eşyalar ve para",
+ "Mechanical Effect": "Oyun içi etki",
+ "Modifier Value": "Değiştiricinin değeri",
+ "Name of the condition": "Durumun adı",
+ "Name of the effect": "Etkinin adı",
+ "Name of the event": "Etkinliğin adı",
+ "Name of the item": "Eşyanın adı",
+ "Name of the skill": "Becerinin adı",
+ "Name of the stat": "Özelliğin adı",
+ "Nextcloud user": "Nextcloud kullanıcısı",
+ "Notes about items and money": "Eşyalar ve para hakkında notlar",
+ "Notes about the player": "Oyuncu hakkında notlar",
+ "Overridden At": "Muafiyet tarihi",
+ "Overridden By": "Muafiyeti veren",
+ "Override Reason": "Muafiyet nedeni",
+ "Owner": "Sahip",
+ "Owner UID": "Sahibin UID'si",
+ "Participating Characters": "Katılan karakterler",
+ "Player Name": "Oyuncunun adı",
+ "Post-Event Effects": "Etkinlik sonrası etkiler",
+ "Real name of the player": "Oyuncunun gerçek adı",
+ "Required Conditions": "Gerekli durumlar",
+ "Required Effects": "Gerekli etkiler",
+ "Required Score": "Gerekli değer",
+ "Required Skills": "Gerekli beceriler",
+ "Required Stats": "Gerekli özellikler",
+ "Requirement Overrides": "Ön koşul muafiyetleri",
+ "Setting Name": "Oyun dünyasının adı",
+ "Silver Pieces": "Gümüş sikkeler",
+ "Skill Name": "Becerinin adı",
+ "Start Date": "Başlangıç tarihi",
+ "Starting value for all characters": "Tüm karakterler için başlangıç değeri",
+ "Stat": "Özellik",
+ "Status": "Durum",
+ "System Notice": "Sistem bildirimi",
+ "Unique Artifact": "Benzersiz eser",
+ "Unique Condition": "Benzersiz durum",
+ "XP Amount": "Deneyim puanı miktarı",
+ "XP Award": "Deneyim puanı verilmesi"
},
"nplurals=2; plural=(n != 1);"
)
diff --git a/l10n/tr.json b/l10n/tr.json
index b8ebee71..34a15975 100644
--- a/l10n/tr.json
+++ b/l10n/tr.json
@@ -151,7 +151,78 @@
"None — this is a root skill.": "Yok — bu bir kök beceridir.",
"Where the automation lives": "Otomasyonun yaşadığı yer",
"Flows are what happens without anyone clicking: a reminder before a deadline passes, a confirmation sent on submission. This is where you read and edit them. Nothing to build now.": "Flows, kimse tıklamadan olan şeydir: bir süre dolmadan önce bir hatırlatma, gönderimde bir onay. Bunları burada okur ve düzenlersiniz — şimdi inşa edilecek bir şey yok.",
- "Open Flows in the menu": "Menüden Flows'u açın"
+ "Open Flows in the menu": "Menüden Flows'u açın",
+ "Ability Name": "Yeteneğin adı",
+ "Affected Characters": "Etkilenen karakterler",
+ "Amount of copper pieces": "Bakır sikke miktarı",
+ "Amount of gold pieces": "Altın sikke miktarı",
+ "Amount of silver pieces": "Gümüş sikke miktarı",
+ "Automatic system notices": "Otomatik sistem bildirimleri",
+ "Award Reason": "Verilme nedeni",
+ "Awarded At": "Verilme tarihi",
+ "Awarded By": "Veren",
+ "Background Story": "Geçmiş hikâyesi",
+ "Base Value": "Temel değer",
+ "Character Card": "Karakter kartı",
+ "Character Name": "Karakterin adı",
+ "Checked In At": "Giriş kaydı tarihi",
+ "Checked In By": "Giriş kaydını yapan",
+ "Condition Name": "Durumun adı",
+ "Contact email address": "İletişim e-posta adresi",
+ "Copper Pieces": "Bakır sikkeler",
+ "Effect Name": "Etkinin adı",
+ "End Date": "Bitiş tarihi",
+ "Event Name": "Etkinliğin adı",
+ "Event description": "Etkinliğin açıklaması",
+ "Event end date and time": "Etkinliğin bitiş tarihi ve saati",
+ "Event location": "Etkinliğin konumu",
+ "Event name": "Etkinliğin adı",
+ "Event start date and time": "Etkinliğin başlangıç tarihi ve saati",
+ "Faith": "İnanç",
+ "Full name of the player": "Oyuncunun tam adı",
+ "Game Master Notes (Private)": "Oyun yöneticisinin notları (özel)",
+ "Game Master Notes (Public)": "Oyun yöneticisinin notları (herkese açık)",
+ "Gold Pieces": "Altın sikkeler",
+ "Item Name": "Eşyanın adı",
+ "Items and Money": "Eşyalar ve para",
+ "Mechanical Effect": "Oyun içi etki",
+ "Modifier Value": "Değiştiricinin değeri",
+ "Name of the condition": "Durumun adı",
+ "Name of the effect": "Etkinin adı",
+ "Name of the event": "Etkinliğin adı",
+ "Name of the item": "Eşyanın adı",
+ "Name of the skill": "Becerinin adı",
+ "Name of the stat": "Özelliğin adı",
+ "Nextcloud user": "Nextcloud kullanıcısı",
+ "Notes about items and money": "Eşyalar ve para hakkında notlar",
+ "Notes about the player": "Oyuncu hakkında notlar",
+ "Overridden At": "Muafiyet tarihi",
+ "Overridden By": "Muafiyeti veren",
+ "Override Reason": "Muafiyet nedeni",
+ "Owner": "Sahip",
+ "Owner UID": "Sahibin UID'si",
+ "Participating Characters": "Katılan karakterler",
+ "Player Name": "Oyuncunun adı",
+ "Post-Event Effects": "Etkinlik sonrası etkiler",
+ "Real name of the player": "Oyuncunun gerçek adı",
+ "Required Conditions": "Gerekli durumlar",
+ "Required Effects": "Gerekli etkiler",
+ "Required Score": "Gerekli değer",
+ "Required Skills": "Gerekli beceriler",
+ "Required Stats": "Gerekli özellikler",
+ "Requirement Overrides": "Ön koşul muafiyetleri",
+ "Setting Name": "Oyun dünyasının adı",
+ "Silver Pieces": "Gümüş sikkeler",
+ "Skill Name": "Becerinin adı",
+ "Start Date": "Başlangıç tarihi",
+ "Starting value for all characters": "Tüm karakterler için başlangıç değeri",
+ "Stat": "Özellik",
+ "Status": "Durum",
+ "System Notice": "Sistem bildirimi",
+ "Unique Artifact": "Benzersiz eser",
+ "Unique Condition": "Benzersiz durum",
+ "XP Amount": "Deneyim puanı miktarı",
+ "XP Award": "Deneyim puanı verilmesi"
},
"plurals": {}
}
diff --git a/l10n/uk.js b/l10n/uk.js
index eb0e7519..e0426db4 100644
--- a/l10n/uk.js
+++ b/l10n/uk.js
@@ -152,7 +152,78 @@ OC.L10N.register(
"None — this is a root skill.": "Немає — це базова навичка.",
"Where the automation lives": "Де живе автоматизація",
"Flows are what happens without anyone clicking: a reminder before a deadline passes, a confirmation sent on submission. This is where you read and edit them. Nothing to build now.": "Flows — це те, що відбувається без жодного кліку: нагадування до завершення строку, підтвердження під час подання. Тут ви їх читаєте та редагуєте — зараз нічого будувати не потрібно.",
- "Open Flows in the menu": "Відкрийте Flows у меню"
+ "Open Flows in the menu": "Відкрийте Flows у меню",
+ "Ability Name": "Назва здібності",
+ "Affected Characters": "Уражені персонажі",
+ "Amount of copper pieces": "Кількість мідних монет",
+ "Amount of gold pieces": "Кількість золотих монет",
+ "Amount of silver pieces": "Кількість срібних монет",
+ "Automatic system notices": "Автоматичні системні сповіщення",
+ "Award Reason": "Причина нарахування",
+ "Awarded At": "Нараховано",
+ "Awarded By": "Нарахував",
+ "Background Story": "Передісторія персонажа",
+ "Base Value": "Базове значення",
+ "Character Card": "Картка персонажа",
+ "Character Name": "Ім'я персонажа",
+ "Checked In At": "Прибуття зафіксовано",
+ "Checked In By": "Прибуття зафіксував",
+ "Condition Name": "Назва стану",
+ "Contact email address": "Контактна адреса електронної пошти",
+ "Copper Pieces": "Мідні монети",
+ "Effect Name": "Назва ефекту",
+ "End Date": "Дата завершення",
+ "Event Name": "Назва події",
+ "Event description": "Опис події",
+ "Event end date and time": "Дата й час завершення події",
+ "Event location": "Місце проведення події",
+ "Event name": "Назва події",
+ "Event start date and time": "Дата й час початку події",
+ "Faith": "Віра",
+ "Full name of the player": "Повне ім'я гравця",
+ "Game Master Notes (Private)": "Нотатки ведучого гри (приватні)",
+ "Game Master Notes (Public)": "Нотатки ведучого гри (загальнодоступні)",
+ "Gold Pieces": "Золоті монети",
+ "Item Name": "Назва предмета",
+ "Items and Money": "Предмети та гроші",
+ "Mechanical Effect": "Ігровий ефект",
+ "Modifier Value": "Значення модифікатора",
+ "Name of the condition": "Назва стану",
+ "Name of the effect": "Назва ефекту",
+ "Name of the event": "Назва події",
+ "Name of the item": "Назва предмета",
+ "Name of the skill": "Назва навички",
+ "Name of the stat": "Назва характеристики",
+ "Nextcloud user": "Користувач Nextcloud",
+ "Notes about items and money": "Нотатки про предмети та гроші",
+ "Notes about the player": "Нотатки про гравця",
+ "Overridden At": "Виняток надано",
+ "Overridden By": "Виняток надав",
+ "Override Reason": "Причина винятку",
+ "Owner": "Власник",
+ "Owner UID": "UID власника",
+ "Participating Characters": "Персонажі, що беруть участь",
+ "Player Name": "Ім'я гравця",
+ "Post-Event Effects": "Ефекти після події",
+ "Real name of the player": "Справжнє ім'я гравця",
+ "Required Conditions": "Потрібні стани",
+ "Required Effects": "Потрібні ефекти",
+ "Required Score": "Потрібне значення",
+ "Required Skills": "Потрібні навички",
+ "Required Stats": "Потрібні характеристики",
+ "Requirement Overrides": "Винятки з вимог",
+ "Setting Name": "Назва світу гри",
+ "Silver Pieces": "Срібні монети",
+ "Skill Name": "Назва навички",
+ "Start Date": "Дата початку",
+ "Starting value for all characters": "Початкове значення для всіх персонажів",
+ "Stat": "Характеристика",
+ "Status": "Статус",
+ "System Notice": "Системне сповіщення",
+ "Unique Artifact": "Унікальний артефакт",
+ "Unique Condition": "Унікальний стан",
+ "XP Amount": "Кількість очок досвіду",
+ "XP Award": "Нарахування очок досвіду"
},
"nplurals=2; plural=(n != 1);"
)
diff --git a/l10n/uk.json b/l10n/uk.json
index 322c1ca2..1c7d8140 100644
--- a/l10n/uk.json
+++ b/l10n/uk.json
@@ -151,7 +151,78 @@
"None — this is a root skill.": "Немає — це базова навичка.",
"Where the automation lives": "Де живе автоматизація",
"Flows are what happens without anyone clicking: a reminder before a deadline passes, a confirmation sent on submission. This is where you read and edit them. Nothing to build now.": "Flows — це те, що відбувається без жодного кліку: нагадування до завершення строку, підтвердження під час подання. Тут ви їх читаєте та редагуєте — зараз нічого будувати не потрібно.",
- "Open Flows in the menu": "Відкрийте Flows у меню"
+ "Open Flows in the menu": "Відкрийте Flows у меню",
+ "Ability Name": "Назва здібності",
+ "Affected Characters": "Уражені персонажі",
+ "Amount of copper pieces": "Кількість мідних монет",
+ "Amount of gold pieces": "Кількість золотих монет",
+ "Amount of silver pieces": "Кількість срібних монет",
+ "Automatic system notices": "Автоматичні системні сповіщення",
+ "Award Reason": "Причина нарахування",
+ "Awarded At": "Нараховано",
+ "Awarded By": "Нарахував",
+ "Background Story": "Передісторія персонажа",
+ "Base Value": "Базове значення",
+ "Character Card": "Картка персонажа",
+ "Character Name": "Ім'я персонажа",
+ "Checked In At": "Прибуття зафіксовано",
+ "Checked In By": "Прибуття зафіксував",
+ "Condition Name": "Назва стану",
+ "Contact email address": "Контактна адреса електронної пошти",
+ "Copper Pieces": "Мідні монети",
+ "Effect Name": "Назва ефекту",
+ "End Date": "Дата завершення",
+ "Event Name": "Назва події",
+ "Event description": "Опис події",
+ "Event end date and time": "Дата й час завершення події",
+ "Event location": "Місце проведення події",
+ "Event name": "Назва події",
+ "Event start date and time": "Дата й час початку події",
+ "Faith": "Віра",
+ "Full name of the player": "Повне ім'я гравця",
+ "Game Master Notes (Private)": "Нотатки ведучого гри (приватні)",
+ "Game Master Notes (Public)": "Нотатки ведучого гри (загальнодоступні)",
+ "Gold Pieces": "Золоті монети",
+ "Item Name": "Назва предмета",
+ "Items and Money": "Предмети та гроші",
+ "Mechanical Effect": "Ігровий ефект",
+ "Modifier Value": "Значення модифікатора",
+ "Name of the condition": "Назва стану",
+ "Name of the effect": "Назва ефекту",
+ "Name of the event": "Назва події",
+ "Name of the item": "Назва предмета",
+ "Name of the skill": "Назва навички",
+ "Name of the stat": "Назва характеристики",
+ "Nextcloud user": "Користувач Nextcloud",
+ "Notes about items and money": "Нотатки про предмети та гроші",
+ "Notes about the player": "Нотатки про гравця",
+ "Overridden At": "Виняток надано",
+ "Overridden By": "Виняток надав",
+ "Override Reason": "Причина винятку",
+ "Owner": "Власник",
+ "Owner UID": "UID власника",
+ "Participating Characters": "Персонажі, що беруть участь",
+ "Player Name": "Ім'я гравця",
+ "Post-Event Effects": "Ефекти після події",
+ "Real name of the player": "Справжнє ім'я гравця",
+ "Required Conditions": "Потрібні стани",
+ "Required Effects": "Потрібні ефекти",
+ "Required Score": "Потрібне значення",
+ "Required Skills": "Потрібні навички",
+ "Required Stats": "Потрібні характеристики",
+ "Requirement Overrides": "Винятки з вимог",
+ "Setting Name": "Назва світу гри",
+ "Silver Pieces": "Срібні монети",
+ "Skill Name": "Назва навички",
+ "Start Date": "Дата початку",
+ "Starting value for all characters": "Початкове значення для всіх персонажів",
+ "Stat": "Характеристика",
+ "Status": "Статус",
+ "System Notice": "Системне сповіщення",
+ "Unique Artifact": "Унікальний артефакт",
+ "Unique Condition": "Унікальний стан",
+ "XP Amount": "Кількість очок досвіду",
+ "XP Award": "Нарахування очок досвіду"
},
"plurals": {}
}
From 6b687edd44216f0de25e81281fdb4732b4dbaff7 Mon Sep 17 00:00:00 2001
From: Ruben van der Linde
Date: Mon, 31 Aug 2026 07:00:09 +0200
Subject: [PATCH 05/35] chore(register): drop the stale larping_register.json
(#624)
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
check:specs failed on development:
larping_register.json: missing or incomplete top-level x-openregister block
(needs at least { type, app })
The file is a leftover from the larpingapp -> larpinq rename. It is an OpenAPI
document (openapi/info/components) with no x-openregister block at all, and
larpinq_register.json beside it carries that block correctly and is the one the
app actually uses.
Verified before removing: nothing in the repository references it — not PHP,
not JS, not a workflow, not another register. The validator picked it up only
because it matches the *register*.json glob.
check:specs now PASSES (2 register files, 2 pre-existing warnings about stub
schemas in larpinq_register.json, which this change does not touch). lint and
build both exit 0.
---
lib/Settings/larping_register.json | 466 -----------------------------
1 file changed, 466 deletions(-)
delete mode 100644 lib/Settings/larping_register.json
diff --git a/lib/Settings/larping_register.json b/lib/Settings/larping_register.json
deleted file mode 100644
index ceca12a8..00000000
--- a/lib/Settings/larping_register.json
+++ /dev/null
@@ -1,466 +0,0 @@
-{
- "openapi": "3.0.0",
- "info": {
- "title": "Larping",
- "description": "The Larping Register is a comprehensive data structure designed to support Live Action Role-Playing (LARP) games. It provides a framework for managing characters, players, skills, items, conditions, and events within a LARP setting. This register enables game masters and players to track character progression, manage game events, and handle complex game mechanics like skills, conditions, and effects. Perfect for both small-scale LARP events and large campaign management.",
- "version": "1.0.7"
- },
- "components": {
- "registers": {
- "larping": {
- "slug": "larping",
- "title": "Larping",
- "version": "1.0.7",
- "description": "A comprehensive register for managing LARP game data, including character sheets, player information, game mechanics, and event management. This register provides the core data structures needed for running and managing LARP games.",
- "schemas": [
- "character",
- "player",
- "effect",
- "stat",
- "item",
- "skill",
- "event",
- "condition"
- ],
- "source": "",
- "tablePrefix": "",
- "folder": "Open Registers/Larping Register",
- "updated": "2025-04-01T17:47:20+00:00",
- "created": "2025-04-01T15:37:02+00:00",
- "owner": null,
- "application": null,
- "organisation": null,
- "authorization": [],
- "deleted": null
- }
- },
- "schemas": {
- "character": {
- "slug": "character",
- "title": "Character",
- "description": "Represents a player character in the LARP game. Contains all character-specific information including stats, skills, conditions, and inventory. This schema is central to the game as it ties together all other aspects of character management.",
- "version": "1.0.1",
- "summary": "Core character information and attributes",
- "required": ["name"],
- "properties": {
- "gold": {
- "type": "integer",
- "description": "Amount of gold coins the character possesses"
- },
- "faith": {
- "type": "string",
- "description": "The religious belief or faith system the character follows"
- },
- "OCName": {
- "type": "string",
- "description": "Out-of-Character name of the player controlling this character"
- },
- "silver": {
- "type": "integer",
- "description": "Amount of silver coins the character possesses"
- },
- "copper": {
- "type": "integer",
- "description": "Amount of copper coins the character possesses"
- },
- "approved": {
- "type": "string",
- "description": "Approval status of the character by game masters"
- },
- "background": {
- "type": "string",
- "description": "Character's backstory and history"
- },
- "itemsAndMoney": {
- "type": "string",
- "description": "Detailed description of character's inventory and wealth"
- },
- "slNotesPublic": {
- "type": "string",
- "description": "Public notes visible to all players"
- },
- "slNotesPrivate": {
- "type": "string",
- "description": "Private notes only visible to game masters"
- },
- "skills": {
- "type": "array",
- "description": "List of skills the character has learned"
- },
- "name": {
- "type": "string",
- "description": "In-game name of the character"
- },
- "type": {
- "type": "string",
- "description": "Character type or class"
- },
- "card": {
- "type": "string",
- "description": "Character card identifier"
- },
- "notice": {
- "type": "string",
- "description": "Important notices about the character"
- },
- "description": {
- "type": "string",
- "description": "Physical description and appearance of the character"
- },
- "stats": {
- "type": "object",
- "description": "Character's base statistics and attributes"
- },
- "events": {
- "type": "array",
- "description": "Events the character has participated in"
- },
- "conditions": {
- "type": "array",
- "description": "Active conditions affecting the character"
- },
- "embedded": {
- "type": "object",
- "description": "Additional embedded data for the character"
- }
- },
- "archive": [],
- "source": "",
- "hardValidation": false,
- "maxDepth": 0,
- "owner": null,
- "application": null,
- "organisation": null,
- "authorization": [],
- "deleted": null,
- "configuration": null
- },
- "player": {
- "slug": "player",
- "title": "Player",
- "description": "Represents a real person participating in the LARP game. Contains player-specific information and preferences, separate from their character data.",
- "version": "1.0.1",
- "summary": "Player information and preferences",
- "required": ["name"],
- "properties": {
- "name": {
- "type": "string",
- "description": "Real name of the player"
- },
- "email": {
- "type": "string",
- "description": "Contact email address"
- },
- "preferences": {
- "type": "object",
- "description": "Player's game preferences and settings"
- }
- },
- "archive": [],
- "source": "",
- "hardValidation": false,
- "maxDepth": 0,
- "owner": null,
- "application": null,
- "organisation": null,
- "authorization": [],
- "deleted": null,
- "configuration": null
- },
- "effect": {
- "slug": "effect",
- "title": "Effect",
- "description": "Represents a game effect that can modify character stats or behavior. Effects can be applied through items, skills, or conditions.",
- "version": "1.0.1",
- "summary": "Game effects and modifiers",
- "required": ["name", "description"],
- "properties": {
- "cumulative": {
- "type": "string",
- "description": "Whether the effect can stack with similar effects"
- },
- "stat": {
- "type": "string",
- "description": "The stat this effect modifies"
- },
- "name": {
- "type": "string",
- "description": "Name of the effect"
- },
- "description": {
- "type": "string",
- "description": "Detailed description of what the effect does"
- },
- "modification": {
- "type": "string",
- "description": "Type of modification (add, subtract, multiply, etc.)"
- },
- "modifier": {
- "type": "integer",
- "description": "Numerical value of the modification"
- },
- "embedded": {
- "type": "object",
- "description": "Additional embedded data for the effect"
- }
- },
- "archive": [],
- "source": "",
- "hardValidation": false,
- "maxDepth": 0,
- "owner": null,
- "application": null,
- "organisation": null,
- "authorization": [],
- "deleted": null,
- "configuration": null
- },
- "stat": {
- "slug": "stat",
- "title": "Stat",
- "description": "Represents a base statistic or attribute that characters can have. Stats can be modified by effects and are used for skill requirements.",
- "version": "1.0.1",
- "summary": "Character statistics and attributes",
- "required": ["name", "base"],
- "properties": {
- "description": {
- "type": "string",
- "description": "Detailed description of what the stat represents"
- },
- "name": {
- "type": "string",
- "description": "Name of the stat"
- },
- "base": {
- "type": "integer",
- "description": "Base value of the stat before modifications"
- }
- },
- "archive": [],
- "source": "",
- "hardValidation": false,
- "maxDepth": 0,
- "owner": null,
- "application": null,
- "organisation": null,
- "authorization": [],
- "deleted": null,
- "configuration": null
- },
- "item": {
- "slug": "item",
- "title": "Item",
- "description": "Represents physical items that characters can possess. Items can have effects and may be unique or common.",
- "version": "1.0.1",
- "summary": "Game items and equipment",
- "required": ["name"],
- "properties": {
- "effect": {
- "type": "string",
- "description": "Legacy field for simple effect description"
- },
- "description": {
- "type": "string",
- "description": "Detailed description of the item"
- },
- "effects": {
- "type": "array",
- "description": "List of effects this item provides"
- },
- "unique": {
- "type": "boolean",
- "description": "Whether this is a unique item"
- },
- "name": {
- "type": "string",
- "description": "Name of the item"
- },
- "characters": {
- "type": "array",
- "description": "Characters currently possessing this item"
- },
- "embedded": {
- "type": "object",
- "description": "Additional embedded data for the item"
- }
- },
- "archive": [],
- "source": "",
- "hardValidation": false,
- "maxDepth": 0,
- "owner": null,
- "application": null,
- "organisation": null,
- "authorization": [],
- "deleted": null,
- "configuration": null
- },
- "skill": {
- "slug": "skill",
- "title": "Skill",
- "description": "Represents abilities that characters can learn. Skills may have requirements and can provide effects when used.",
- "version": "1.0.1",
- "summary": "Character abilities and skills",
- "required": ["name", "description"],
- "properties": {
- "requiredEffects": {
- "type": "array",
- "description": "Effects required to learn this skill"
- },
- "effect": {
- "type": "string",
- "description": "Legacy field for simple effect description"
- },
- "name": {
- "type": "string",
- "description": "Name of the skill"
- },
- "effects": {
- "type": "array",
- "description": "Effects this skill provides when used"
- },
- "requiredSkills": {
- "type": "array",
- "description": "Other skills required to learn this skill"
- },
- "requiredStats": {
- "type": "array",
- "description": "Stats required to learn this skill"
- },
- "requiredConditions": {
- "type": "array",
- "description": "Conditions required to learn this skill"
- },
- "requiredScore": {
- "type": "integer",
- "description": "Minimum score required in specified stats"
- },
- "description": {
- "type": "string",
- "description": "Detailed description of what the skill does"
- },
- "embedded": {
- "type": "object",
- "description": "Additional embedded data for the skill"
- }
- },
- "archive": [],
- "source": "",
- "hardValidation": false,
- "maxDepth": 0,
- "owner": null,
- "application": null,
- "organisation": null,
- "authorization": [],
- "deleted": null,
- "configuration": null
- },
- "event": {
- "slug": "event",
- "title": "Event",
- "description": "Represents LARP events or game sessions. Contains information about timing, location, and participating characters.",
- "version": "1.0.1",
- "summary": "Game events and sessions",
- "required": ["name", "startDate", "endDate"],
- "properties": {
- "name": {
- "type": "string",
- "description": "Name of the event"
- },
- "description": {
- "type": "string",
- "description": "Detailed description of the event"
- },
- "location": {
- "type": "string",
- "description": "Physical location where the event takes place"
- },
- "endDate": {
- "type": "string",
- "description": "End date and time of the event"
- },
- "characters": {
- "type": "array",
- "description": "Characters participating in this event"
- },
- "startDate": {
- "type": "string",
- "description": "Start date and time of the event"
- },
- "effects": {
- "type": "array",
- "description": "Effects active during this event"
- },
- "embedded": {
- "type": "object",
- "description": "Additional embedded data for the event"
- }
- },
- "archive": [],
- "source": "",
- "hardValidation": false,
- "maxDepth": 0,
- "owner": null,
- "application": null,
- "organisation": null,
- "authorization": [],
- "deleted": null,
- "configuration": null
- },
- "condition": {
- "slug": "condition",
- "title": "Condition",
- "description": "Represents temporary or permanent conditions that can affect characters. Conditions can provide effects and may be unique.",
- "version": "1.0.1",
- "summary": "Character conditions and status effects",
- "required": ["name", "description"],
- "properties": {
- "characters": {
- "type": "array",
- "description": "Characters currently affected by this condition"
- },
- "effect": {
- "type": "string",
- "description": "Legacy field for simple effect description"
- },
- "effects": {
- "type": "array",
- "description": "Effects this condition applies"
- },
- "description": {
- "type": "string",
- "description": "Detailed description of the condition"
- },
- "unique": {
- "type": "boolean",
- "description": "Whether this condition can only affect a character once"
- },
- "name": {
- "type": "string",
- "description": "Name of the condition"
- },
- "embedded": {
- "type": "object",
- "description": "Additional embedded data for the condition"
- }
- },
- "archive": [],
- "source": "",
- "hardValidation": false,
- "maxDepth": 0,
- "owner": null,
- "application": null,
- "organisation": null,
- "authorization": [],
- "deleted": null,
- "configuration": null
- }
- },
- "endpoints": [],
- "sources": [],
- "mappings": [],
- "jobs": [],
- "synchronizations": [],
- "rules": []
- }
-}
\ No newline at end of file
From 8774f39aee1e80fc58ad1fad1f7b3993ea4b3120 Mon Sep 17 00:00:00 2001
From: Ruben van der Linde
Date: Mon, 31 Aug 2026 07:10:15 +0200
Subject: [PATCH 06/35] fix(register): drop the pre-rename register file the
gate rejects (#625)
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
check:specs fails on development:
[validate-register] ERROR lib/Settings/larping_register.json: missing
or incomplete top-level x-openregister block (needs at least { type, ...
[validate-register] FAIL — 1 error(s), 12 warning(s).
lib/Settings/larping_register.json is residue from before the app was
renamed larpingapp -> larpinq. It was last touched on 2026-04-23
('Working on the larping refactor for object store'), carries only
{ openapi, info, components } with no x-openregister block at all, and is
15KB against the 33KB larpinq_register.json that replaced it.
Nothing loads it. ConfigFileLoaderService names the current file
explicitly:
private const REGISTER_FILE = '/lib/Settings/larpinq_register.json'
and a repo-wide grep for 'larping_register' returns no other hit. The
only thing that reads it is the gate, which scans lib/Settings for
*register*.json and correctly refuses a register declaring no register.
Deleting rather than back-filling the block: adding x-openregister would
make a dead file valid, and a second register file that nothing loads is
the next reader's puzzle. OpenRegister slugs are frozen once written into
stored data -- this file never declared one, so nothing can be pointing at
it.
From 482cfe29c2b5a8e8873ab81f3fa2019479fffed9 Mon Sep 17 00:00:00 2001
From: "github-actions[bot]"
<41898282+github-actions[bot]@users.noreply.github.com>
Date: Mon, 31 Aug 2026 07:35:01 +0200
Subject: [PATCH 07/35] chore(release): 0.2.6-unstable.20260831051044 (#627)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
---
appinfo/info.xml | 2 +-
openapi.json | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/appinfo/info.xml b/appinfo/info.xml
index 5b3ce9ad..124b6d35 100644
--- a/appinfo/info.xml
+++ b/appinfo/info.xml
@@ -46,7 +46,7 @@ Maak een [featureverzoek](https://github.com/ConductionNL/larpinq/issues)
**Support:** neem voor support contact op met support@conduction.nl. Voor een Service Level Agreement (SLA), neem contact op met sales@conduction.nl.
]]>
- 0.2.4-unstable.20260830175353
+ 0.2.6-unstable.20260831051044
EUPL-1.2
Conduction
Larpinq
diff --git a/openapi.json b/openapi.json
index 3a09c85d..a7dd642a 100644
--- a/openapi.json
+++ b/openapi.json
@@ -2,7 +2,7 @@
"openapi": "3.0.3",
"info": {
"title": "dsonextcloud",
- "version": "0.2.4-unstable.20260830175353",
+ "version": "0.2.6-unstable.20260831051044",
"description": "DSO Nextcloud",
"license": {
"name": "agpl"
From d772447d9b0da886086aebd344b35c4478d41a31 Mon Sep 17 00:00:00 2001
From: Ruben van der Linde
Date: Mon, 31 Aug 2026 07:37:39 +0200
Subject: [PATCH 08/35] chore(deps): refresh the shared Conduction locks (#628)
hydra-gates v1.10.0 -> v1.10.0
nc-vue 2.25.1 -> 2.26.0
Lock-only: both packages are already declared with caret ranges that
permit these versions, so nothing about what this app ACCEPTS changes
- only what it currently resolves to. Opened by the weekly fleet
shared-dependency bump, because a lock nobody re-resolves is a pin
nobody chose.
Merging is gated by this repository's own suite, deliberately: taking
hydra-gates v1.8.1 added patchObject() to a published interface, which
is a load-time fatal for any concrete double that implements it without
the method. CI is the only thing that can tell a safe bump from that.
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
---
package-lock.json | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/package-lock.json b/package-lock.json
index 5fedab11..624514cd 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1829,9 +1829,9 @@
}
},
"node_modules/@conduction/nextcloud-vue": {
- "version": "2.25.1",
- "resolved": "https://registry.npmjs.org/@conduction/nextcloud-vue/-/nextcloud-vue-2.25.1.tgz",
- "integrity": "sha512-c5sY4XnHrfGUIUEatJEIT5jK78k9REj2UCqXylbHiDPkv1HpUx7Sf3XtfDxAd4xPjn/kbO094rNqShK4tPnY7w==",
+ "version": "2.26.0",
+ "resolved": "https://registry.npmjs.org/@conduction/nextcloud-vue/-/nextcloud-vue-2.26.0.tgz",
+ "integrity": "sha512-PrEd1Ej9UMXTw7qzq6WqqPnwdO2yLlJvj8/Lz7fGbtrUbO8xUAkPwgJlKNbsWHv2DhhF5G/MRN4ZA+YvNDaJIg==",
"license": "EUPL-1.2",
"dependencies": {
"@ckpack/vue-color": "^1.6.0",
From 75d798f3353ee4821358ec4ed89ef81504ed88c5 Mon Sep 17 00:00:00 2001
From: Ruben van der Linde
Date: Mon, 31 Aug 2026 09:44:43 +0200
Subject: [PATCH 09/35] chore(deps): take @conduction/nextcloud-vue 2.27.0
(#631)
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Carries the two KPI-card fixes this dashboard reads: the canonical card is flat
and horizontal (no grey box inside the white card CnWidgetWrapper already
draws), and a calendar-aligned date range follows the reader's calendar rather
than UTC — "Current month" previously showed a To of 1 September in CEST on
31 August.
The caret range already allowed it; only the lockfile pinned this app back.
Lockfile only, and npm pruned nothing.
---
package-lock.json | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/package-lock.json b/package-lock.json
index 624514cd..4437fd63 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1829,9 +1829,9 @@
}
},
"node_modules/@conduction/nextcloud-vue": {
- "version": "2.26.0",
- "resolved": "https://registry.npmjs.org/@conduction/nextcloud-vue/-/nextcloud-vue-2.26.0.tgz",
- "integrity": "sha512-PrEd1Ej9UMXTw7qzq6WqqPnwdO2yLlJvj8/Lz7fGbtrUbO8xUAkPwgJlKNbsWHv2DhhF5G/MRN4ZA+YvNDaJIg==",
+ "version": "2.27.0",
+ "resolved": "https://registry.npmjs.org/@conduction/nextcloud-vue/-/nextcloud-vue-2.27.0.tgz",
+ "integrity": "sha512-64IS6VrAp4c+Hr9AAS9/z6AzznmaPfbO4GrZtmOX57dLCpJORkn5M/wSKpAC6ZG+gUHTJeXDUiabut9bV0kRnQ==",
"license": "EUPL-1.2",
"dependencies": {
"@ckpack/vue-color": "^1.6.0",
From 72d8fac5136b775920cbf875b146adef4137500c Mon Sep 17 00:00:00 2001
From: Ruben van der Linde
Date: Mon, 31 Aug 2026 12:30:41 +0200
Subject: [PATCH 10/35] fix(kpi): drop hardcoded KPI colours so the cards
follow the theme (#636)
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Per-widget `valueColor` is applied as an INLINE style on the number, so it beats
the canonical card accent, and a hex literal opts the card out of NL Design
System theming — which kpi-card.css forbids outright, because the nldesign app
re-themes by overriding the Nextcloud tokens.
Two outcomes, no third:
* a colour that merely restated the default accent is deleted — `#0082c9` IS
`--color-primary-element` in the default theme, so the tile looks identical
and now re-themes correctly;
* a colour that carried meaning becomes `variant`, which is themed and drives
the icon tint and the number together so the two cannot disagree.
`variant` on a stat/delta resolves through VARIANT_COLORS, which was moved onto
the `-text` tokens first (nextcloud-vue#888) — the plain fill tokens failed WCAG
AA at 1.08:1 as a foreground colour, and these conversions would have been the
first tiles to hit that path.
Edited as text rather than re-serialised, so the manifest keeps its hand-laid-out
formatting; every `valueColor` in this file was confirmed to sit on a KPI widget
first. Manifest schema validation passes.
---
src/manifest.json | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/src/manifest.json b/src/manifest.json
index 0ee3bd5b..829ba419 100644
--- a/src/manifest.json
+++ b/src/manifest.json
@@ -95,10 +95,10 @@
"title": "Dashboard",
"config": {
"widgets": [
- { "id": "kpi-characters", "title": "Characters", "type": "stat", "content": { "label": "Characters", "route": { "name": "Characters" }, "icon": "AccountGroup", "valueColor": "#0082c9", "format": { "style": "number" }, "source": { "register": "larpinq", "schema": "character", "metric": "count", "filter": {} } } },
- { "id": "kpi-events", "title": "Events", "type": "stat", "content": { "label": "Events", "route": { "name": "Events" }, "icon": "Calendar", "valueColor": "#0082c9", "format": { "style": "number" }, "source": { "register": "larpinq", "schema": "larping_event", "metric": "count", "filter": {} } } },
- { "id": "kpi-items", "title": "Items", "type": "stat", "content": { "label": "Items", "route": { "name": "Items" }, "icon": "Star", "valueColor": "#0082c9", "format": { "style": "number" }, "source": { "register": "larpinq", "schema": "larping_item", "metric": "count", "filter": {} } } },
- { "id": "kpi-players", "title": "Players", "type": "stat", "content": { "label": "Players", "route": { "name": "Players" }, "icon": "Account", "valueColor": "#0082c9", "format": { "style": "number" }, "source": { "register": "larpinq", "schema": "player", "metric": "count", "filter": {} } } },
+ { "id": "kpi-characters", "title": "Characters", "type": "stat", "content": { "label": "Characters", "route": { "name": "Characters" }, "icon": "AccountGroup", "format": { "style": "number" }, "source": { "register": "larpinq", "schema": "character", "metric": "count", "filter": {} } } },
+ { "id": "kpi-events", "title": "Events", "type": "stat", "content": { "label": "Events", "route": { "name": "Events" }, "icon": "Calendar", "format": { "style": "number" }, "source": { "register": "larpinq", "schema": "larping_event", "metric": "count", "filter": {} } } },
+ { "id": "kpi-items", "title": "Items", "type": "stat", "content": { "label": "Items", "route": { "name": "Items" }, "icon": "Star", "format": { "style": "number" }, "source": { "register": "larpinq", "schema": "larping_item", "metric": "count", "filter": {} } } },
+ { "id": "kpi-players", "title": "Players", "type": "stat", "content": { "label": "Players", "route": { "name": "Players" }, "icon": "Account", "format": { "style": "number" }, "source": { "register": "larpinq", "schema": "player", "metric": "count", "filter": {} } } },
{ "id": "recent-characters", "title": "Recent characters", "type": "object-table", "content": { "register": "larpinq", "schema": "character", "filter": {}, "sort": { "field": "created", "dir": "desc" }, "limit": 6, "rowRoute": "CharacterDetail", "rowIcon": "AccountGroup", "hideHeader": true, "viewAllRoute": { "name": "Characters" }, "viewAllLabel": "View all characters", "emptyText": "No characters yet", "columns": [{ "key": "name", "label": "Name" }, { "key": "type", "label": "Type" }] } },
{ "id": "recent-events", "title": "Recent events", "type": "object-table", "content": { "register": "larpinq", "schema": "larping_event", "filter": {}, "sort": { "field": "startDate", "dir": "desc" }, "limit": 6, "rowRoute": "EventDetail", "rowIcon": "CalendarStar", "hideHeader": true, "viewAllRoute": { "name": "Events" }, "viewAllLabel": "View all events", "emptyText": "No events yet", "columns": [{ "key": "name", "label": "Event" }, { "key": "startDate", "label": "Starts" }] } },
{ "id": "skill-usage", "title": "Skill usage by characters", "type": "chart", "content": { "chartKind": "donut", "legendPosition": "bottom", "emptyLabel": "No skill data available", "dataSource": { "register": "larpinq", "schema": "character", "aggregate": { "groupBy": "skills", "metric": "count", "topN": 10, "otherBucket": true, "labelResolve": { "schema": "skill", "labelField": "name" } } } } }
From 3afd99521b2564816ef72fc1c463596f238e6851 Mon Sep 17 00:00:00 2001
From: Ruben van der Linde
Date: Mon, 31 Aug 2026 12:34:57 +0200
Subject: [PATCH 11/35] fix(composer): declare ext-xsl so dependabot can
resolve (#633)
Dependabot cannot propose composer updates for this app. Its updater fails
with:
Your requirements could not be resolved to an installable set of packages.
- edgedesign/phpqa[v1.27.0, ..., v1.27.2] require ext-xsl * ->
it is missing from your system.
config.platform pins php 8.3 so composer resolves against a known PHP version,
but says nothing about extensions. edgedesign/phpqa requires ext-xsl and the
resolving environment does not have it, so the resolve fails before any bump
can be computed.
CI is unaffected, which is why this went unnoticed: composer install replays
the committed lock and never re-resolves, so the pipeline stays green while
dependabot -- which does re-resolve -- fails every time. The shared quality.yml
installs no xsl extension anywhere and never invokes phpqa.
Declaring ext-xsl beside the php pin makes resolution assume exactly what the
committed lockfile already assumes. Verified in a clean composer:2 container
without --ignore-platform-reqs: the same file fails without this line and
resolves (103 installs, lock written) with it.
Co-authored-by: Conduction Release Bot
---
composer.json | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/composer.json b/composer.json
index b66376c0..539ee2ed 100644
--- a/composer.json
+++ b/composer.json
@@ -103,7 +103,8 @@
"optimize-autoloader": true,
"sort-packages": true,
"platform": {
- "php": "8.3"
+ "php": "8.3",
+ "ext-xsl": "1"
}
}
}
From 779009780aaa4aaa5f34da25850a13edcf97a248 Mon Sep 17 00:00:00 2001
From: Ruben van der Linde
Date: Mon, 31 Aug 2026 13:21:51 +0200
Subject: [PATCH 12/35] chore(deps): take @conduction/nextcloud-vue 2.27.2
(#640)
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Levels this app with the fleet. 2.27.2 adds two fixes the earlier 2.27.0 pin does
not carry:
* headerless is no longer chromeless — a flat KPI card in a borderless wrapper
had no card, border or background at all;
* a stat `variant` paints from the `-text` tokens rather than the fill tokens,
which failed WCAG AA at 1.08:1 as a foreground colour. The KPI colour
cleanup converted hardcoded values to `variant`, so this is what makes those
conversions contrast-safe.
Lockfile only, and npm pruned nothing.
---
package-lock.json | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/package-lock.json b/package-lock.json
index 4437fd63..12a9aad1 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1829,9 +1829,9 @@
}
},
"node_modules/@conduction/nextcloud-vue": {
- "version": "2.27.0",
- "resolved": "https://registry.npmjs.org/@conduction/nextcloud-vue/-/nextcloud-vue-2.27.0.tgz",
- "integrity": "sha512-64IS6VrAp4c+Hr9AAS9/z6AzznmaPfbO4GrZtmOX57dLCpJORkn5M/wSKpAC6ZG+gUHTJeXDUiabut9bV0kRnQ==",
+ "version": "2.27.2",
+ "resolved": "https://registry.npmjs.org/@conduction/nextcloud-vue/-/nextcloud-vue-2.27.2.tgz",
+ "integrity": "sha512-FhDF3FvM+ee0Jx7z70Lki7o7Mm4DeX/GsOqHo33hOcdylzXR63UXLRbxKMedodEiIqgOFUAI6GTox735iyL8Dw==",
"license": "EUPL-1.2",
"dependencies": {
"@ckpack/vue-color": "^1.6.0",
From f28d4031066bbb89dce8faceacd82dd8392a467b Mon Sep 17 00:00:00 2001
From: "github-actions[bot]"
<41898282+github-actions[bot]@users.noreply.github.com>
Date: Mon, 31 Aug 2026 16:04:38 +0200
Subject: [PATCH 13/35] chore(release): 0.2.7-unstable.20260831114923 (#642)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
---
appinfo/info.xml | 2 +-
openapi.json | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/appinfo/info.xml b/appinfo/info.xml
index 124b6d35..c4b5ea64 100644
--- a/appinfo/info.xml
+++ b/appinfo/info.xml
@@ -46,7 +46,7 @@ Maak een [featureverzoek](https://github.com/ConductionNL/larpinq/issues)
**Support:** neem voor support contact op met support@conduction.nl. Voor een Service Level Agreement (SLA), neem contact op met sales@conduction.nl.
]]>
- 0.2.6-unstable.20260831051044
+ 0.2.7-unstable.20260831114923
EUPL-1.2
Conduction
Larpinq
diff --git a/openapi.json b/openapi.json
index a7dd642a..e82a3da2 100644
--- a/openapi.json
+++ b/openapi.json
@@ -2,7 +2,7 @@
"openapi": "3.0.3",
"info": {
"title": "dsonextcloud",
- "version": "0.2.6-unstable.20260831051044",
+ "version": "0.2.7-unstable.20260831114923",
"description": "DSO Nextcloud",
"license": {
"name": "agpl"
From 65e8d2a0266e89eb99b7df9383cc980763fa4ad2 Mon Sep 17 00:00:00 2001
From: Ruben van der Linde
Date: Mon, 31 Aug 2026 18:56:58 +0200
Subject: [PATCH 14/35] fix(deps): make the npm overrides follow their direct
dependency (#643)
Dependabot cannot update these packages. Its npm updater fails with:
npm error code EOVERRIDE
npm error Override for conflicts with direct dependency
The package is listed BOTH as a direct dependency and as a literal overrides
entry pinned to the same range. Dependabot bumps the direct dependency and
does not move the override, npm rejects the mismatched pair, and the update
is abandoned -- so these packages can never be updated, security advisories
included.
npm's self-reference is the idiom for exactly this: $ tells the
override to follow whatever the direct dependency resolves to, instead of a
range that has to be kept in lockstep by hand. This repo already uses it (see
the vue entry under @vue/test-utils).
Transitive consumers still get pinned to one version -- the direct
dependency's -- which is what the override was there to do. What changes is
that the pin tracks the dependency instead of duplicating it.
Verified in a clean container: bumping the direct dependency with the literal
override reproduces the EOVERRIDE above; with the self-reference the same
bump resolves.
Co-authored-by: Conduction Release Bot
---
package.json | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/package.json b/package.json
index bb2ab954..8b704594 100644
--- a/package.json
+++ b/package.json
@@ -60,8 +60,8 @@
},
"overrides": {
"libxmljs2": "^0.37.0",
- "@nextcloud/axios": "~2.5.2",
- "@nextcloud/l10n": "3.4.1"
+ "@nextcloud/axios": "$@nextcloud/axios",
+ "@nextcloud/l10n": "$@nextcloud/l10n"
},
"devDependencies": {
"@babel/core": "^7.22.9",
From e416b7ea6819b9e965432e9d219b3f58d3d123b1 Mon Sep 17 00:00:00 2001
From: "github-actions[bot]"
<41898282+github-actions[bot]@users.noreply.github.com>
Date: Mon, 31 Aug 2026 22:12:58 +0200
Subject: [PATCH 15/35] chore(release): 0.2.8-unstable.20260831165721 (#644)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
---
appinfo/info.xml | 2 +-
openapi.json | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/appinfo/info.xml b/appinfo/info.xml
index c4b5ea64..ec563486 100644
--- a/appinfo/info.xml
+++ b/appinfo/info.xml
@@ -46,7 +46,7 @@ Maak een [featureverzoek](https://github.com/ConductionNL/larpinq/issues)
**Support:** neem voor support contact op met support@conduction.nl. Voor een Service Level Agreement (SLA), neem contact op met sales@conduction.nl.
]]>
- 0.2.7-unstable.20260831114923
+ 0.2.8-unstable.20260831165721
EUPL-1.2
Conduction
Larpinq
diff --git a/openapi.json b/openapi.json
index e82a3da2..7e01e7d7 100644
--- a/openapi.json
+++ b/openapi.json
@@ -2,7 +2,7 @@
"openapi": "3.0.3",
"info": {
"title": "dsonextcloud",
- "version": "0.2.7-unstable.20260831114923",
+ "version": "0.2.8-unstable.20260831165721",
"description": "DSO Nextcloud",
"license": {
"name": "agpl"
From a6d50f530a119188ba582c0cce738d3729a29b02 Mon Sep 17 00:00:00 2001
From: Ruben van der Linde
Date: Tue, 1 Sep 2026 06:56:10 +0200
Subject: [PATCH 16/35] chore(register): rename the skill slug to larping_skill
(#645)
* chore(register): rename the skill slug to larping_skill
Pipelinq also ships a schema slugged `skill`, an agent competence matched
against request categories for routing. Larpinq's is a character skill
bought with experience points. Slugs are global on a shared OpenRegister and
a bare relation resolves by slug alone, so the two could bind to each other.
Measured on the dev instance: schema id 55 (pipelinq) and id 1231 (larpinq).
The prefix follows this register's own `larping_item` and `larping_event`,
which exist for the same reason.
The OBJECT TYPE stays `skill`. Only the slug it maps to changes, exactly as
`item` maps to `larping_item`:
- SettingsLoadService::OBJECT_TYPE_SCHEMA_SLUGS, the value only
- PortalContributionProvider skillCatalog, a real schema binding
- src/manifest.json, five real schema bindings
- the register's own slug, three $refs and its schema list
- three mock seed objects
SettingsController::objectTypes and store.js SCHEMA_SLUGS are type keys, not
slugs: both already list `item` and `event` rather than the prefixed slugs,
so both stay as they are.
* fix(portal): bind skillCatalog by dict key, matching its siblings
PortalContributionProviderTest::testScopingMapMatchesRegisterAtHead caught
this. The provider binds every collection by the register's DICT KEY, not by
the slug: its 'event' and 'item' entries sit beside slugs larping_event and
larping_item. Moving skillCatalog to the new slug broke that convention and
the test that pins it.
The slug rename itself stands. Only this binding goes back.
* test(newman): point skillSchema at the renamed slug
The API resolves an object collection by SLUG, which is why itemSchema is
larping_item and eventSchema is larping_event. skillSchema was still 'skill'
and the 'skill created (2xx)' assertion failed against a slug that no longer
exists.
---------
Co-authored-by: Conduction Release Bot
---
lib/Service/SettingsLoadService.php | 2 +-
lib/Settings/larpinq_mock_register.json | 6 +++---
lib/Settings/larpinq_register.json | 14 +++++++-------
src/manifest.json | 10 +++++-----
tests/integration/larpinq.postman_collection.json | 2 +-
5 files changed, 17 insertions(+), 17 deletions(-)
diff --git a/lib/Service/SettingsLoadService.php b/lib/Service/SettingsLoadService.php
index 3943a030..5049f463 100644
--- a/lib/Service/SettingsLoadService.php
+++ b/lib/Service/SettingsLoadService.php
@@ -73,7 +73,7 @@ class SettingsLoadService {
'character' => 'character',
'player' => 'player',
'ability' => 'ability',
- 'skill' => 'skill',
+ 'skill' => 'larping_skill',
'item' => 'larping_item',
'condition' => 'condition',
'effect' => 'effect',
diff --git a/lib/Settings/larpinq_mock_register.json b/lib/Settings/larpinq_mock_register.json
index 9ebd9e43..4e4a86b4 100644
--- a/lib/Settings/larpinq_mock_register.json
+++ b/lib/Settings/larpinq_mock_register.json
@@ -465,7 +465,7 @@
{
"@self": {
"register": "larpinq",
- "schema": "skill",
+ "schema": "larping_skill",
"slug": "skill-voorbeeld-name-1-1"
},
"name": "Voorbeeld Name 1",
@@ -492,7 +492,7 @@
{
"@self": {
"register": "larpinq",
- "schema": "skill",
+ "schema": "larping_skill",
"slug": "skill-voorbeeld-name-2-2"
},
"name": "Voorbeeld Name 2",
@@ -519,7 +519,7 @@
{
"@self": {
"register": "larpinq",
- "schema": "skill",
+ "schema": "larping_skill",
"slug": "skill-voorbeeld-name-3-3"
},
"name": "Voorbeeld Name 3",
diff --git a/lib/Settings/larpinq_register.json b/lib/Settings/larpinq_register.json
index 09fa10b0..1ce85480 100644
--- a/lib/Settings/larpinq_register.json
+++ b/lib/Settings/larpinq_register.json
@@ -2,8 +2,8 @@
"openapi": "3.0.0",
"info": {
"title": "Larpinq Register",
- "description": "Live Action Role Playing character management register for the Larpinq Nextcloud app. Manages characters, players, abilities, skills, items, conditions, effects, events, and worlds.",
- "version": "1.2.0"
+ "description": "Live Action Role Playing character management register for the Larpinq Nextcloud app. Manages characters, players, abilities, skills, items, conditions, effects, events, and worlds. v1.3.0 renames the `skill` schema slug to `larping_skill`. Pipelinq also ships a `skill`, an agent competence used for routing, and slugs are global on a shared OpenRegister. The prefix follows this register's own `larping_item` and `larping_event`. The object type stays `skill`; only the slug it maps to changes.",
+ "version": "1.3.0"
},
"x-openregister": {
"type": "application",
@@ -23,7 +23,7 @@
"character",
"player",
"ability",
- "skill",
+ "larping_skill",
"larping_item",
"condition",
"effect",
@@ -180,7 +180,7 @@
"type": "string",
"format": "uuid"
},
- "$ref": "skill",
+ "$ref": "larping_skill",
"x-relation-filter": { "setting": "@object.setting" },
"visible": false,
"title": "Skills"
@@ -238,7 +238,7 @@
"skill": {
"type": "string",
"format": "uuid",
- "$ref": "skill",
+ "$ref": "larping_skill",
"x-relation-filter": { "setting": "@object.setting" },
"description": "The assigned skill whose requirements are waived",
"title": "Skill"
@@ -430,7 +430,7 @@
}
},
"skill": {
- "slug": "skill",
+ "slug": "larping_skill",
"title": "Skill",
"icon": "SwordCross",
"version": "1.2.0",
@@ -484,7 +484,7 @@
"type": "string",
"format": "uuid"
},
- "$ref": "skill",
+ "$ref": "larping_skill",
"x-relation-filter": { "setting": "@object.setting" },
"visible": false,
"title": "Required Skills"
diff --git a/src/manifest.json b/src/manifest.json
index 829ba419..06cd6a18 100644
--- a/src/manifest.json
+++ b/src/manifest.json
@@ -101,7 +101,7 @@
{ "id": "kpi-players", "title": "Players", "type": "stat", "content": { "label": "Players", "route": { "name": "Players" }, "icon": "Account", "format": { "style": "number" }, "source": { "register": "larpinq", "schema": "player", "metric": "count", "filter": {} } } },
{ "id": "recent-characters", "title": "Recent characters", "type": "object-table", "content": { "register": "larpinq", "schema": "character", "filter": {}, "sort": { "field": "created", "dir": "desc" }, "limit": 6, "rowRoute": "CharacterDetail", "rowIcon": "AccountGroup", "hideHeader": true, "viewAllRoute": { "name": "Characters" }, "viewAllLabel": "View all characters", "emptyText": "No characters yet", "columns": [{ "key": "name", "label": "Name" }, { "key": "type", "label": "Type" }] } },
{ "id": "recent-events", "title": "Recent events", "type": "object-table", "content": { "register": "larpinq", "schema": "larping_event", "filter": {}, "sort": { "field": "startDate", "dir": "desc" }, "limit": 6, "rowRoute": "EventDetail", "rowIcon": "CalendarStar", "hideHeader": true, "viewAllRoute": { "name": "Events" }, "viewAllLabel": "View all events", "emptyText": "No events yet", "columns": [{ "key": "name", "label": "Event" }, { "key": "startDate", "label": "Starts" }] } },
- { "id": "skill-usage", "title": "Skill usage by characters", "type": "chart", "content": { "chartKind": "donut", "legendPosition": "bottom", "emptyLabel": "No skill data available", "dataSource": { "register": "larpinq", "schema": "character", "aggregate": { "groupBy": "skills", "metric": "count", "topN": 10, "otherBucket": true, "labelResolve": { "schema": "skill", "labelField": "name" } } } } }
+ { "id": "skill-usage", "title": "Skill usage by characters", "type": "chart", "content": { "chartKind": "donut", "legendPosition": "bottom", "emptyLabel": "No skill data available", "dataSource": { "register": "larpinq", "schema": "character", "aggregate": { "groupBy": "skills", "metric": "count", "topN": 10, "otherBucket": true, "labelResolve": { "schema": "larping_skill", "labelField": "name" } } } } }
],
"layout": [
{ "id": 1, "widgetId": "kpi-characters", "gridX": 0, "gridY": 0, "gridWidth": 3, "gridHeight": 2, "showTitle": false },
@@ -224,7 +224,7 @@
{ "id": "ability-data", "type": "data", "title": "Ability", "icon": "Gauge", "content": { "columns": 2 } },
{ "id": "ability-base", "type": "stat", "title": "Base value", "icon": "Gauge", "content": { "label": "Base value", "icon": "Gauge", "format": { "style": "number" }, "source": { "register": "larpinq", "schema": "ability", "metric": "sum", "field": "base", "filter": { "id": "@objectId" } } } },
{ "id": "ability-effects", "type": "object-list", "title": "Effects modifying this ability", "icon": "TrendingUp", "content": { "register": "larpinq", "schema": "effect", "filter": { "abilities": "@objectId" }, "columns": [ { "key": "name", "label": "Effect" }, { "key": "modifier", "label": "Modifier" }, { "key": "modification", "label": "Direction" }, { "key": "cumulative", "label": "Stacks" } ], "limit": 50, "viewAllRoute": "Effects", "viewAllQuery": { "abilities": "@objectId" }, "emptyText": "No effects modify this stat yet." } },
- { "id": "ability-skills", "type": "object-list", "title": "Skills requiring this stat", "icon": "School", "content": { "register": "larpinq", "schema": "skill", "filter": { "requiredStats": "@objectId" }, "columns": [ { "key": "name", "label": "Skill" }, { "key": "requiredScore", "label": "Min score" } ], "limit": 50, "viewAllRoute": "Skills", "viewAllQuery": { "requiredStats": "@objectId" }, "emptyText": "No skills require this stat yet." } },
+ { "id": "ability-skills", "type": "object-list", "title": "Skills requiring this stat", "icon": "School", "content": { "register": "larpinq", "schema": "larping_skill", "filter": { "requiredStats": "@objectId" }, "columns": [ { "key": "name", "label": "Skill" }, { "key": "requiredScore", "label": "Min score" } ], "limit": 50, "viewAllRoute": "Skills", "viewAllQuery": { "requiredStats": "@objectId" }, "emptyText": "No skills require this stat yet." } },
{ "id": "ability-related", "type": "related", "title": "Related", "icon": "LinkVariant" }
],
"layout": [
@@ -248,7 +248,7 @@
"route": "/skills",
"type": "index",
"title": "Skills",
- "config": { "register": "larpinq", "schema": "skill", "documentationUrl": "https://larpinq.conduction.nl" }
+ "config": { "register": "larpinq", "schema": "larping_skill", "documentationUrl": "https://larpinq.conduction.nl" }
},
{
"id": "SkillTree",
@@ -266,7 +266,7 @@
"title": "Skill",
"config": {
"register": "larpinq",
- "schema": "skill",
+ "schema": "larping_skill",
"documentationUrl": "https://larpinq.conduction.nl",
"_note": "Skill = a learnable, XP-purchased ability with prerequisites (rules-object archetype, prerequisite-heavy). The body leads with the skill's flavour + mechanical effect (data, 8-wide) beside a related rail that surfaces the four prerequisite groups the schema carries (required skills, required stats, required conditions, required effects) plus the effects it grants — the whole dependency tree in one place. Below, an object-list of characters who have learned this skill (character.skills contains @objectId) lets a GM see adoption. Pure rules object: no comms, no files.",
"widgets": [
@@ -383,7 +383,7 @@
{ "id": "effect-data", "type": "data", "title": "Effect", "icon": "Lightbulb", "content": { "columns": 2 } },
{ "id": "effect-modifier", "type": "stat", "title": "Modifier", "icon": "TrendingUp", "content": { "label": "Modifier value", "icon": "TrendingUp", "format": { "style": "number" }, "source": { "register": "larpinq", "schema": "effect", "metric": "sum", "field": "modifier", "filter": { "id": "@objectId" } } } },
{ "id": "effect-abilities", "type": "related", "title": "Modifies abilities", "icon": "LinkVariant", "content": { "groups": [ { "key": "abilities", "label": "Abilities" } ] } },
- { "id": "effect-skills", "type": "object-list", "title": "Skills granting this effect", "icon": "School", "content": { "register": "larpinq", "schema": "skill", "filter": { "effects": "@objectId" }, "columns": [ { "key": "name", "label": "Skill" } ], "limit": 50, "viewAllRoute": "Skills", "viewAllQuery": { "effects": "@objectId" }, "emptyText": "No skills grant this effect yet." } },
+ { "id": "effect-skills", "type": "object-list", "title": "Skills granting this effect", "icon": "School", "content": { "register": "larpinq", "schema": "larping_skill", "filter": { "effects": "@objectId" }, "columns": [ { "key": "name", "label": "Skill" } ], "limit": 50, "viewAllRoute": "Skills", "viewAllQuery": { "effects": "@objectId" }, "emptyText": "No skills grant this effect yet." } },
{ "id": "effect-items", "type": "object-list", "title": "Items granting this effect", "icon": "Package", "content": { "register": "larpinq", "schema": "larping_item", "filter": { "effects": "@objectId" }, "columns": [ { "key": "name", "label": "Item" } ], "limit": 50, "viewAllRoute": "Items", "viewAllQuery": { "effects": "@objectId" }, "emptyText": "No items grant this effect yet." } },
{ "id": "effect-conditions", "type": "object-list", "title": "Conditions granting this effect", "icon": "AlertCircleOutline", "content": { "register": "larpinq", "schema": "condition", "filter": { "effects": "@objectId" }, "columns": [ { "key": "name", "label": "Condition" } ], "limit": 50, "viewAllRoute": "Conditions", "viewAllQuery": { "effects": "@objectId" }, "emptyText": "No conditions grant this effect yet." } }
],
diff --git a/tests/integration/larpinq.postman_collection.json b/tests/integration/larpinq.postman_collection.json
index 9bfb7502..f9189eef 100644
--- a/tests/integration/larpinq.postman_collection.json
+++ b/tests/integration/larpinq.postman_collection.json
@@ -12,7 +12,7 @@
{ "key": "register", "value": "larpinq" },
{ "key": "charSchema", "value": "character" },
{ "key": "itemSchema", "value": "larping_item" },
- { "key": "skillSchema", "value": "skill" },
+ { "key": "skillSchema", "value": "larping_skill" },
{ "key": "conditionSchema", "value": "condition" },
{ "key": "effectSchema", "value": "effect" },
{ "key": "eventSchema", "value": "larping_event" },
From 8652f52a712a6229aff56dd8d7140792b463bccd Mon Sep 17 00:00:00 2001
From: Ruben van der Linde
Date: Tue, 1 Sep 2026 06:59:16 +0200
Subject: [PATCH 17/35] fix(dashboard): drop the second Refresh from the
dashboard header (#646)
The dashboard shipped two Refresh controls side by side. CnActionsMenu
renders one as the first item of the page-level Actions overflow menu, and
the manifest declared another as a header button next to that menu.
They did the same thing. A "type": "refresh" headerAction is dispatched as
emit(PAGE_REFRESH_CHANNEL, {}), which is the exact signal CnActionsMenu
broadcasts on refresh-channel="cn:page:refresh". Same channel, same
subscribers. Removing the header action takes away the duplicate and nothing
else.
An app that wants to keep a prominent Refresh button can stand the menu item
down with showRefresh: false instead. openregister's dashboard does that.
Shipping both is what this removes.
---
src/manifest.json | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/src/manifest.json b/src/manifest.json
index 06cd6a18..9bb6ca8c 100644
--- a/src/manifest.json
+++ b/src/manifest.json
@@ -116,8 +116,7 @@
"headerActions": [
{ "id": "new-character", "label": "New character", "type": "open-form", "icon": "Plus", "variant": "primary", "register": "larpinq", "schema": "character", "onSuccessRoute": "Characters" },
{ "id": "new-item", "label": "New item", "type": "open-form", "icon": "Plus", "register": "larpinq", "schema": "larping_item", "onSuccessRoute": "Items" },
- { "id": "new-condition", "label": "New condition", "type": "open-form", "icon": "Plus", "register": "larpinq", "schema": "condition", "onSuccessRoute": "Conditions" },
- { "id": "refresh-dashboard", "label": "Refresh dashboard", "type": "refresh", "icon": "Refresh" }
+ { "id": "new-condition", "label": "New condition", "type": "open-form", "icon": "Plus", "register": "larpinq", "schema": "condition", "onSuccessRoute": "Conditions" }
]
}
},
From e400d49e6f0653f8d3c08d4101be9e1f28d1f744 Mon Sep 17 00:00:00 2001
From: Ruben van der Linde
Date: Tue, 1 Sep 2026 08:02:27 +0200
Subject: [PATCH 18/35] fix(e2e): expect the slug the register actually ships,
larping_skill (#649)
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
development E2E has been failing on:
::error::Larpinq schemas missing after import: [skill]
::error::The e2e suite cannot seed abilities, effects, skills or characters
without them.
The schema imported perfectly well. The seed was looking for the wrong name.
ci-seed.sh matches on SLUG, and the run own diagnostic printed the answer:
[ci-seed] schemas present: [... larping_attendance, larping_event,
larping_item, larping_skill ...]
larping_skill is right there. The required list already carried the
larping_ prefix for item, event and attendance, so this is one entry that was
missed when the others were prefixed.
Fixed on the SEED side deliberately. An OpenRegister register slug is frozen
once data references it, so renaming larping_skill to match the test would be
the destructive way round → see the fleet renaming rules.
Verified every required slug against the register files: all eleven are
declared, none missing.
Co-authored-by: Conduction Release Bot
---
tests/e2e/ci-seed.sh | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/tests/e2e/ci-seed.sh b/tests/e2e/ci-seed.sh
index 5a70d3d8..77059918 100755
--- a/tests/e2e/ci-seed.sh
+++ b/tests/e2e/ci-seed.sh
@@ -203,7 +203,7 @@ path, kind, code = sys.argv[1], sys.argv[2], sys.argv[3]
required = {
'registers': ['larpinq'],
'schemas': [
- 'character', 'player', 'ability', 'skill', 'larping_item',
+ 'character', 'player', 'ability', 'larping_skill', 'larping_item',
'condition', 'effect', 'larping_event', 'setting', 'xpAward',
'larping_attendance',
],
From ec299139f54673037f8f22ad0574ecf260ac71c6 Mon Sep 17 00:00:00 2001
From: Ruben van der Linde
Date: Tue, 1 Sep 2026 10:17:49 +0200
Subject: [PATCH 19/35] feat(router): give larpinq the SPA catch-all, and move
it to clean path URLs (#651)
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
* fix(dashboard): drop the second Refresh from the dashboard header
The dashboard shipped two Refresh controls side by side. CnActionsMenu
renders one as the first item of the page-level Actions overflow menu, and
the manifest declared another as a header button next to that menu.
They did the same thing. A "type": "refresh" headerAction is dispatched as
emit(PAGE_REFRESH_CHANNEL, {}), which is the exact signal CnActionsMenu
broadcasts on refresh-channel="cn:page:refresh". Same channel, same
subscribers. Removing the header action takes away the duplicate and nothing
else.
An app that wants to keep a prominent Refresh button can stand the menu item
down with showRefresh: false instead. openregister's dashboard does that.
Shipping both is what this removes.
* feat(router): give larpinq the SPA catch-all, and move it to clean path URLs
larpinq was the ONE app of the fleet's seven hash-routed apps that could
not simply switch: its sub-paths 404'd at the server. Measured
2026-09-01, /apps/larpinq/characters and /events both returned 404 while
every other hash-mode app answered 200 with the app shell.
⚠️ Grepping routes.php for `catchAll`/`AppHost` had named the WRONG app.
`Routes::standard()` installs the catch-all without either string
appearing, so the grep measured whether the file MENTIONS it, not whether
the route exists -- it flagged zaakafhandelapp (which was fine) and
cleared larpinq (which was not). Only requesting a sub-path settles it.
Three changes, in the order they had to happen:
1. DashboardController::catchAll(), delegating to page(), so the SPA is
served on any sub-path.
2. appinfo/routes.php rebuilt on \OCA\OpenRegister\AppHost\Routes::standard().
Every existing route is passed through as $extra -- `standard()` lets
an $extra route override a canonical one of the same name, so
dashboard#page, settings#* and preferences#* keep their exact URLs and
verbs, and domain routes stay ahead of the /{path} fallback.
3. createWebHashHistory -> createWebHistory, with routerBase() derived
from the URL actually being served. Nextcloud serves the app under
BOTH /apps/larpinq/... and /index.php/apps/larpinq/...; generateUrl()
returns only one. This app's own specs use both spellings
(/apps/larpinq in _nav.ts and docs-screenshots, /index.php/apps/larpinq
in the visual spec), so either would break whichever base was fixed.
Also de-hashed the DeepLinkRegistrationListener's 8 URL templates and
their test. Those templates are handed to OTHER apps to link into
larpinq, so a stale `#` would have kept sending every cross-app deep link
to the dashboard -- silently, since the router resolves nothing and the
catch-all redirects to `/`. Audited the four already-converted apps
(stackiq, zaakafhandelapp, opencatalogi, keepiq): none register hash deep
links, so nothing was shipped with that gap.
⚠️ The catch-all does not take effect until Nextcloud's route cache is
dropped. With memcache.local = APCu, `occ app:disable/enable` is NOT
enough -- sub-paths kept 404ing with the correct routes.php already in
place. Restarting the container cleared it and all four URLs went from
404 to routed.
Verified against the published @conduction/nextcloud-vue
(USE_LOCAL_LIB=false):
/apps/larpinq/ -> Dashboard
/apps/larpinq/characters -> Characters
/index.php/apps/larpinq/characters -> Characters
/index.php/apps/larpinq/events -> Events
RELOAD on the /index.php form -> 200, still Events
No hash anywhere. eslint exits 0, prettier --check on the FULL glob is
clean, webpack compiles, and both PHP files pass php -l. The listener's
unit test was updated in lockstep with the same 8 replacements; there is
no phpunit in this checkout, so CI runs it.
---
appinfo/routes.php | 74 ++++++++++++-------
lib/Controller/DashboardController.php | 20 +++++
lib/Listener/DeepLinkRegistrationListener.php | 21 ++++--
src/main.js | 25 ++++++-
.../spec-coverage/detail-forms-admin.spec.ts | 2 +-
.../spec-coverage/settings-roadmap.spec.ts | 2 +-
tests/e2e/spec-coverage/spa-ui.spec.ts | 4 +-
tests/e2e/visual/larpinq.visual.spec.ts | 4 +-
.../DeepLinkRegistrationListenerTest.php | 16 ++--
9 files changed, 118 insertions(+), 50 deletions(-)
diff --git a/appinfo/routes.php b/appinfo/routes.php
index e747579b..e8815ddb 100644
--- a/appinfo/routes.php
+++ b/appinfo/routes.php
@@ -1,28 +1,50 @@
[
- // Page routes
- ['name' => 'dashboard#page', 'url' => '/', 'verb' => 'GET'],
- ['name' => 'characters#downloadPdf', 'url' => '/characters/{id}/download/{template}', 'verb' => 'GET'],
- ['name' => 'events#downloadRunsheet', 'url' => '/events/{id}/runsheet/{template}', 'verb' => 'GET'],
- ['name' => 'events#roster', 'url' => '/api/events/{id}/roster', 'verb' => 'GET'],
- ['name' => 'events#recordAttendance', 'url' => '/api/events/{id}/attendance', 'verb' => 'POST'],
- ['name' => 'characters#requirementReport', 'url' => '/api/characters/{id}/requirement-report', 'verb' => 'GET'],
- ['name' => 'settings#index', 'url' => 'api/settings', 'verb' => 'GET'],
- ['name' => 'settings#create', 'url' => 'api/settings', 'verb' => 'POST'],
- // Canonical AppHost settings write (OpenRegister\AppHost\Routes::standard()).
- // `settings#create` above stays as the legacy POST alias; both reach the
- // same SettingsController::update(). URL spelled without a leading slash
- // to match its two siblings — RouteParser ltrims it either way.
- ['name' => 'settings#update', 'url' => 'api/settings', 'verb' => 'PUT'],
- ['name' => 'settings#reimport', 'url' => 'api/settings/reimport', 'verb' => 'POST'],
- // First-time setup wizard (ADR-042).
- ['name' => 'setup#status', 'url' => '/api/setup/status', 'verb' => 'GET'],
- ['name' => 'setup#saveConfig', 'url' => '/api/setup/config', 'verb' => 'POST'],
- ['name' => 'setup#runAction', 'url' => '/api/setup/action/{actionId}', 'verb' => 'POST'],
- // Generic per-user preferences (used by shared nextcloud-vue widgets, e.g. CnSupportDialog).
- ['name' => 'preferences#getPreference', 'url' => '/api/preferences/{key}', 'verb' => 'GET'],
- ['name' => 'preferences#setPreference', 'url' => '/api/preferences/{key}', 'verb' => 'PUT'],
- ],
-];
+declare(strict_types=1);
+
+/*
+ * Larpinq route table.
+ *
+ * Built through \OCA\OpenRegister\AppHost\Routes::standard(), which appends
+ * the SPA catch-all (`dashboard#catchAll` on `/{path}`) after every route
+ * below. Without that catch-all the server has no handler for
+ * `/apps/larpinq/`, so deep links and reloads 404 before the SPA loads
+ * — measured 2026-09-01, larpinq was the ONLY one of the fleet's seven
+ * hash-routed apps whose sub-paths returned 404 rather than the app shell,
+ * which is what blocked it from moving to history routing.
+ *
+ * Routes listed here are passed as `$extra`; `standard()` lets an `$extra`
+ * route override a canonical one of the same name, so the existing
+ * `dashboard#page`, `settings#*` and `preferences#*` entries below keep their
+ * exact URLs and verbs. Domain routes are inserted BEFORE the catch-all, so
+ * they keep priority over the `/{path}` fallback.
+ *
+ * This file references no OCA\OpenRegister symbol other than the pure array
+ * builder Routes::standard(), so it is safe to require even when OpenRegister
+ * is disabled.
+ */
+
+return \OCA\OpenRegister\AppHost\Routes::standard([
+ // Page routes
+ ['name' => 'dashboard#page', 'url' => '/', 'verb' => 'GET'],
+ ['name' => 'characters#downloadPdf', 'url' => '/characters/{id}/download/{template}', 'verb' => 'GET'],
+ ['name' => 'events#downloadRunsheet', 'url' => '/events/{id}/runsheet/{template}', 'verb' => 'GET'],
+ ['name' => 'events#roster', 'url' => '/api/events/{id}/roster', 'verb' => 'GET'],
+ ['name' => 'events#recordAttendance', 'url' => '/api/events/{id}/attendance', 'verb' => 'POST'],
+ ['name' => 'characters#requirementReport', 'url' => '/api/characters/{id}/requirement-report', 'verb' => 'GET'],
+ ['name' => 'settings#index', 'url' => 'api/settings', 'verb' => 'GET'],
+ ['name' => 'settings#create', 'url' => 'api/settings', 'verb' => 'POST'],
+ // Canonical AppHost settings write (OpenRegister\AppHost\Routes::standard()).
+ // `settings#create` above stays as the legacy POST alias; both reach the
+ // same SettingsController::update(). URL spelled without a leading slash
+ // to match its two siblings — RouteParser ltrims it either way.
+ ['name' => 'settings#update', 'url' => 'api/settings', 'verb' => 'PUT'],
+ ['name' => 'settings#reimport', 'url' => 'api/settings/reimport', 'verb' => 'POST'],
+ // First-time setup wizard (ADR-042).
+ ['name' => 'setup#status', 'url' => '/api/setup/status', 'verb' => 'GET'],
+ ['name' => 'setup#saveConfig', 'url' => '/api/setup/config', 'verb' => 'POST'],
+ ['name' => 'setup#runAction', 'url' => '/api/setup/action/{actionId}', 'verb' => 'POST'],
+ // Generic per-user preferences (used by shared nextcloud-vue widgets, e.g. CnSupportDialog).
+ ['name' => 'preferences#getPreference', 'url' => '/api/preferences/{key}', 'verb' => 'GET'],
+ ['name' => 'preferences#setPreference', 'url' => '/api/preferences/{key}', 'verb' => 'PUT'],
+]);
diff --git a/lib/Controller/DashboardController.php b/lib/Controller/DashboardController.php
index 373e1d5c..430eeac5 100644
--- a/lib/Controller/DashboardController.php
+++ b/lib/Controller/DashboardController.php
@@ -73,4 +73,24 @@ public function page(): TemplateResponse {
[]
);
}//end page()
+
+ /**
+ * Serve the SPA for deep links (Vue history mode). Delegates to {@see page()}.
+ *
+ * Without this the server has no handler for `/apps/larpinq/`, so a
+ * deep link or a RELOAD on any sub-path 404s before the SPA ever loads —
+ * which is why this app was the one of the seven still unable to move off
+ * hash routing. Measured before this change: /apps/larpinq/characters and
+ * /events both returned 404, while every other hash-mode app answered 200.
+ *
+ * @NoAdminRequired
+ * @NoCSRFRequired
+ *
+ * @return TemplateResponse
+ *
+ * @spec exclude Vue history-mode fallback — delegates to page(); pure framework plumbing, no domain logic.
+ */
+ public function catchAll(): TemplateResponse {
+ return $this->page();
+ }//end catchAll()
}//end class
diff --git a/lib/Listener/DeepLinkRegistrationListener.php b/lib/Listener/DeepLinkRegistrationListener.php
index 70a799a5..948c6bcc 100644
--- a/lib/Listener/DeepLinkRegistrationListener.php
+++ b/lib/Listener/DeepLinkRegistrationListener.php
@@ -84,14 +84,19 @@ class DeepLinkRegistrationListener implements IEventListener {
* @var array
*/
private const DEEP_LINK_MAP = [
- 'character' => '/apps/larpinq/#/characters/{uuid}',
- 'player' => '/apps/larpinq/#/players/{uuid}',
- 'ability' => '/apps/larpinq/#/abilities/{uuid}',
- 'skill' => '/apps/larpinq/#/skills/{uuid}',
- 'larping_item' => '/apps/larpinq/#/items/{uuid}',
- 'condition' => '/apps/larpinq/#/conditions/{uuid}',
- 'effect' => '/apps/larpinq/#/effects/{uuid}',
- 'larping_event' => '/apps/larpinq/#/events/{uuid}',
+ // Path URLs, not `#/` fragments: larpinq moved to vue-router history
+ // mode. These templates are handed to OTHER apps to link into larpinq, so
+ // a stale `#` here would keep sending every cross-app deep link to the
+ // dashboard — silently, because the router resolves nothing and the
+ // catch-all redirects to `/`.
+ 'character' => '/apps/larpinq/characters/{uuid}',
+ 'player' => '/apps/larpinq/players/{uuid}',
+ 'ability' => '/apps/larpinq/abilities/{uuid}',
+ 'skill' => '/apps/larpinq/skills/{uuid}',
+ 'larping_item' => '/apps/larpinq/items/{uuid}',
+ 'condition' => '/apps/larpinq/conditions/{uuid}',
+ 'effect' => '/apps/larpinq/effects/{uuid}',
+ 'larping_event' => '/apps/larpinq/events/{uuid}',
];
/**
diff --git a/src/main.js b/src/main.js
index bf41519b..8e07cd24 100644
--- a/src/main.js
+++ b/src/main.js
@@ -15,7 +15,7 @@ import {
} from '@nextcloud/l10n'
import { generateUrl } from '@nextcloud/router'
import { createApp, h } from 'vue'
-import { createRouter, createWebHashHistory } from 'vue-router'
+import { createRouter, createWebHistory } from 'vue-router'
import App from './App.vue'
import appIcons from './icons.js'
import bundledManifest from './manifest.json'
@@ -342,8 +342,29 @@ function routesFromManifest(manifest) {
return routes
}
+/**
+ * The router base for THIS page load.
+ *
+ * ⚠️ `generateUrl('/apps/larpinq')` alone is not enough. Nextcloud serves the
+ * app under BOTH `/apps/larpinq/...` and `/index.php/apps/larpinq/...`, but
+ * `generateUrl()` returns only the form the instance is configured for. A
+ * visitor arriving on the other form falls outside the router base, vue-router
+ * cannot resolve the path, and the catch-all redirects to `/`: they land on the
+ * dashboard with no error and the deep link is silently swallowed.
+ *
+ * This app's own specs use BOTH spellings — `/apps/larpinq` in `_nav.ts` and
+ * the docs-screenshots spec, `/index.php/apps/larpinq` in the visual spec — so
+ * one or the other would break whichever base was hardcoded.
+ *
+ * @return {string} The base path vue-router should strip from the URL.
+ */
+function routerBase() {
+ const match = window.location.pathname.match(/^(.*\/apps\/larpinq)(?:\/|$)/)
+ return match ? match[1] : generateUrl('/apps/larpinq')
+}
+
const router = createRouter({
- history: createWebHashHistory(generateUrl('/apps/larpinq')),
+ history: createWebHistory(routerBase()),
routes: routesFromManifest(manifest),
})
try {
diff --git a/tests/e2e/spec-coverage/detail-forms-admin.spec.ts b/tests/e2e/spec-coverage/detail-forms-admin.spec.ts
index d5c126ce..3055bc26 100644
--- a/tests/e2e/spec-coverage/detail-forms-admin.spec.ts
+++ b/tests/e2e/spec-coverage/detail-forms-admin.spec.ts
@@ -189,7 +189,7 @@ async function navTo(page: Page, slug: string): Promise {
* Navigate to a detail route via the app's hash router.
*
* The router runs in `mode: 'hash'` (src/main.js — fleet #133 deep-link fix),
- * so the canonical detail URL is `/apps/larpinq/#//`. Loading that
+ * so the canonical detail URL is `/apps/larpinq//`. Loading that
* URL serves the SPA root from the server (no 404 — the hash fragment is never
* sent to the backend) and the client-side hash router resolves the detail
* route. This is the deep-link path the hash-mode change exists to support, so
diff --git a/tests/e2e/spec-coverage/settings-roadmap.spec.ts b/tests/e2e/spec-coverage/settings-roadmap.spec.ts
index 21e0c456..30e3145a 100644
--- a/tests/e2e/spec-coverage/settings-roadmap.spec.ts
+++ b/tests/e2e/spec-coverage/settings-roadmap.spec.ts
@@ -27,7 +27,7 @@ const BASE = '/apps/larpinq'
/**
* Hard-load the target in-app route via the app's hash router. The router runs
* in `mode: 'hash'` (src/main.js — fleet #133 deep-link fix), so in-app routes
- * are addressed as /apps/larpinq/#/. Loading that URL serves the SPA
+ * are addressed as /apps/larpinq/. Loading that URL serves the SPA
* root from the server (the hash fragment is never sent to the backend, so no
* 404) and the client-side router resolves the view. A fresh load per test
* avoids the shared-list-state collapse where in-session sidebar navigation
diff --git a/tests/e2e/spec-coverage/spa-ui.spec.ts b/tests/e2e/spec-coverage/spa-ui.spec.ts
index 6242b003..a51a2dea 100644
--- a/tests/e2e/spec-coverage/spa-ui.spec.ts
+++ b/tests/e2e/spec-coverage/spa-ui.spec.ts
@@ -32,7 +32,7 @@ const TS = Date.now()
*
* The Vue SPA uses hash mode with base `/apps/larpinq` (src/main.js —
* fleet #133 deep-link fix). In-app routes (/characters, /abilities, …) are
- * addressed via the URL hash: /apps/larpinq/#/. The hash fragment is
+ * addressed via the URL hash: /apps/larpinq/. The hash fragment is
* never sent to the backend, so the SPA root is always served and Vue Router's
* hashchange listener resolves the view client-side. Strategy: land on the SPA
* root first, wait for Vue to mount, then set window.location.hash so the
@@ -72,7 +72,7 @@ async function go(page: Page, route: string): Promise {
}
// Resolve the target path relative to the app base. The router runs in
// hash mode (src/main.js — fleet #133 deep-link fix), so in-app routes are
- // addressed via the URL hash: /apps/larpinq/#/. Driving the hash
+ // addressed via the URL hash: /apps/larpinq/. Driving the hash
// directly lets Vue Router's hashchange listener resolve the view (the old
// history.pushState to a bare /apps/larpinq/ path no longer routes
// under hash mode and addresses a server path that 404s on reload).
diff --git a/tests/e2e/visual/larpinq.visual.spec.ts b/tests/e2e/visual/larpinq.visual.spec.ts
index 84eee7db..7ef7ed44 100644
--- a/tests/e2e/visual/larpinq.visual.spec.ts
+++ b/tests/e2e/visual/larpinq.visual.spec.ts
@@ -17,10 +17,10 @@ const APP = '/index.php/apps/larpinq'
test.describe('Larpinq — visual baselines', () => {
test('dashboard', async ({ page }) => {
- await shootSurface(page, `${APP}/#/`, 'dashboard.png')
+ await shootSurface(page, `${APP}/`, 'dashboard.png')
})
test('characters list', async ({ page }) => {
- await shootByNav(page, `${APP}/#/`, 'Characters', 'characters.png')
+ await shootByNav(page, `${APP}/`, 'Characters', 'characters.png')
})
})
diff --git a/tests/unit/Listener/DeepLinkRegistrationListenerTest.php b/tests/unit/Listener/DeepLinkRegistrationListenerTest.php
index 1efccdeb..5ba896df 100644
--- a/tests/unit/Listener/DeepLinkRegistrationListenerTest.php
+++ b/tests/unit/Listener/DeepLinkRegistrationListenerTest.php
@@ -175,13 +175,13 @@ public function testHandleUsesCorrectUrlPatterns(): void {
$bySlug = array_column($event->links, 'urlTemplate', 'schemaSlug');
- self::assertSame('/apps/larpinq/#/characters/{uuid}', $bySlug['character']);
- self::assertSame('/apps/larpinq/#/players/{uuid}', $bySlug['player']);
- self::assertSame('/apps/larpinq/#/abilities/{uuid}', $bySlug['ability']);
- self::assertSame('/apps/larpinq/#/skills/{uuid}', $bySlug['skill']);
- self::assertSame('/apps/larpinq/#/items/{uuid}', $bySlug['larping_item']);
- self::assertSame('/apps/larpinq/#/conditions/{uuid}', $bySlug['condition']);
- self::assertSame('/apps/larpinq/#/effects/{uuid}', $bySlug['effect']);
- self::assertSame('/apps/larpinq/#/events/{uuid}', $bySlug['larping_event']);
+ self::assertSame('/apps/larpinq/characters/{uuid}', $bySlug['character']);
+ self::assertSame('/apps/larpinq/players/{uuid}', $bySlug['player']);
+ self::assertSame('/apps/larpinq/abilities/{uuid}', $bySlug['ability']);
+ self::assertSame('/apps/larpinq/skills/{uuid}', $bySlug['skill']);
+ self::assertSame('/apps/larpinq/items/{uuid}', $bySlug['larping_item']);
+ self::assertSame('/apps/larpinq/conditions/{uuid}', $bySlug['condition']);
+ self::assertSame('/apps/larpinq/effects/{uuid}', $bySlug['effect']);
+ self::assertSame('/apps/larpinq/events/{uuid}', $bySlug['larping_event']);
}//end testHandleUsesCorrectUrlPatterns()
}//end class
From 602fa3a5268e21c28714bd128fbc180248e950b0 Mon Sep 17 00:00:00 2001
From: Ruben van der Linde
Date: Tue, 1 Sep 2026 11:40:11 +0200
Subject: [PATCH 20/35] fix(routes): guard the AppHost builder with
class_exists (#653)
Follow-up to #651, which turned PHPUnit red on development: four errors,
all reading
Error: Class "OCA\OpenRegister\AppHost\Routes" not found
Nextcloud includes appinfo/routes.php for EVERY larpinq request, and
PHPUnit includes it without booting sibling apps at all, so an unguarded
static call to a class owned by another app fatals. In production the
same shape makes every route in the app 500 when openregister is absent
-- not just the AppHost ones -- and larpinq does not declare
openregister, so an admin can create exactly that
configuration.
class_exists() autoloads without fatalling when the class is
unavailable. The fallback reproduces Routes::standard()'s output locally
-- canonical routes first (minus any name the app's own
overrides), then , then the SPA catch-all LAST so it never shadows
a real route -- so larpinq still routes, catch-all included, without
openregister.
This is the pattern dossiq already uses (procest appinfo/routes.php, see
decidesk#377 / #388); I should have copied it when adding the builder
call rather than discovering it from a red pipeline.
Verified: php -l clean, and requiring the file with NO openregister
autoloadable returns 19 routes ending in dashboard#catchAll -- which is
precisely the condition PHPUnit runs in.
Co-authored-by: Conduction Release Bot
---
appinfo/routes.php | 63 ++++++++++++++++++++++++++++++++++++++++++++--
1 file changed, 61 insertions(+), 2 deletions(-)
diff --git a/appinfo/routes.php b/appinfo/routes.php
index e8815ddb..dcd81ae6 100644
--- a/appinfo/routes.php
+++ b/appinfo/routes.php
@@ -24,7 +24,7 @@
* is disabled.
*/
-return \OCA\OpenRegister\AppHost\Routes::standard([
+$extra = [
// Page routes
['name' => 'dashboard#page', 'url' => '/', 'verb' => 'GET'],
['name' => 'characters#downloadPdf', 'url' => '/characters/{id}/download/{template}', 'verb' => 'GET'],
@@ -47,4 +47,63 @@
// Generic per-user preferences (used by shared nextcloud-vue widgets, e.g. CnSupportDialog).
['name' => 'preferences#getPreference', 'url' => '/api/preferences/{key}', 'verb' => 'GET'],
['name' => 'preferences#setPreference', 'url' => '/api/preferences/{key}', 'verb' => 'PUT'],
-]);
+];
+
+// ⚠️ The AppHost builder is invoked through a `class_exists()` guard.
+//
+// Nextcloud `include`s this file for EVERY larpinq request, and PHPUnit
+// includes it without booting sibling apps at all. An unguarded static call to
+// a class owned by another app therefore fatals — measured: four PHPUnit
+// errors reading `Class "OCA\OpenRegister\AppHost\Routes" not found` the
+// moment this file started calling it. In production the same shape makes
+// every route in the app 500 when openregister is absent, not just the AppHost
+// ones, and larpinq does not declare `openregister`, so an admin can
+// create exactly that configuration.
+//
+// `class_exists()` autoloads without fatalling when the class is unavailable.
+// The fallback below reproduces `Routes::standard()`'s output locally, so
+// larpinq still routes — catch-all included — without openregister.
+if (class_exists('OCA\OpenRegister\AppHost\Routes') === true) {
+ return \OCA\OpenRegister\AppHost\Routes::standard($extra);
+}
+
+$canonicalRoutes = [
+ ['name' => 'dashboard#page', 'url' => '/', 'verb' => 'GET'],
+ ['name' => 'settings#index', 'url' => '/api/settings', 'verb' => 'GET'],
+ ['name' => 'settings#create', 'url' => '/api/settings', 'verb' => 'POST'],
+ ['name' => 'settings#update', 'url' => '/api/settings', 'verb' => 'PUT'],
+ ['name' => 'settings#load', 'url' => '/api/settings/load', 'verb' => 'POST'],
+ ['name' => 'preferences#getPreference', 'url' => '/api/preferences/{key}', 'verb' => 'GET'],
+ ['name' => 'preferences#setPreference', 'url' => '/api/preferences/{key}', 'verb' => 'PUT'],
+ ['name' => 'metrics#index', 'url' => '/api/metrics', 'verb' => 'GET'],
+ ['name' => 'health#index', 'url' => '/api/health', 'verb' => 'GET'],
+];
+
+$catchAllRoute = [
+ 'name' => 'dashboard#catchAll',
+ 'url' => '/{path}',
+ 'verb' => 'GET',
+ 'requirements' => ['path' => '.+'],
+ 'defaults' => ['path' => ''],
+];
+
+$extraNames = [];
+foreach ($extra as $extraRoute) {
+ if (isset($extraRoute['name']) === true) {
+ $extraNames[(string) $extraRoute['name']] = true;
+ }
+}
+
+$mergedRoutes = [];
+foreach ($canonicalRoutes as $canonicalRoute) {
+ if (isset($extraNames[$canonicalRoute['name']]) === true) {
+ continue;
+ }
+
+ $mergedRoutes[] = $canonicalRoute;
+}
+
+$mergedRoutes = array_merge($mergedRoutes, $extra);
+$mergedRoutes[] = $catchAllRoute;
+
+return ['routes' => $mergedRoutes];
From fe200fc32d57a1ade67d6d43b2b0996578b96a96 Mon Sep 17 00:00:00 2001
From: Ruben van der Linde
Date: Tue, 1 Sep 2026 12:08:33 +0200
Subject: [PATCH 21/35] chore(lint): let the linter see tests/ and scripts/
(#655)
* fix(dashboard): drop the second Refresh from the dashboard header
The dashboard shipped two Refresh controls side by side. CnActionsMenu
renders one as the first item of the page-level Actions overflow menu, and
the manifest declared another as a header button next to that menu.
They did the same thing. A "type": "refresh" headerAction is dispatched as
emit(PAGE_REFRESH_CHANNEL, {}), which is the exact signal CnActionsMenu
broadcasts on refresh-channel="cn:page:refresh". Same channel, same
subscribers. Removing the header action takes away the duplicate and nothing
else.
An app that wants to keep a prominent Refresh button can stand the menu item
down with showRefresh: false instead. openregister's dashboard does that.
Shipping both is what this removes.
* chore(lint): let the linter see tests/ and scripts/
`npm run lint` was `eslint src`, so two whole trees were never linted. Across
the fleet that hid roughly 3,900 errors, none of which any CI leg had shown.
Most of it was the config, not the code, and the same two defects were in
every app.
**scripts/ had no config block at all.** These are CommonJS Node CLI checkers,
and flat config defaults every `.js` to ESM with browser-ish globals, so eslint
read the CommonJS wrapper itself as undefined identifiers: `require`,
`process`, `__dirname`, `__filename`, `module`. A `scripts/**` block now
declares the environment. Declaring beats suppressing here: `no-undef` is the
rule that catches a genuinely misspelled identifier, and dozens of fake
findings would bury a real one. A second block covers `scripts/**/*.mjs`, which
is ESM and needs Node's globals without the CommonJS wrapper.
**The tests block applied a non-TypeScript-aware rule to TypeScript.** It named
`tests/**/*.ts` while setting the CORE `no-unused-vars`, which v9 deliberately
turns off for `.ts` in favour of the `@typescript-eslint` version. The core
rule reads the parameter names inside a function TYPE as bindings, so
t?: (app: string, key: string) => string
reports `app` and `key` as unused variables, and every unused `catch (e)` in a
`.ts` spec reports twice. The block is split now: `.js`/`.mjs` on the core
rule, `.ts`/`.tsx` on the TypeScript one, same patterns on both.
Also: stale `eslint-disable` comments naming plugins eslint 10 no longer
registers, which are themselves errors ("Definition for rule ... was not
found"), and a rule that must not parse shell scripts.
The genuinely real findings were the useful part: dead locals, unused imports,
dead helper functions, unused `catch` bindings, extensionless relative imports,
and a handful of `== null` comparisons spelled out so they still match null AND
undefined.
Verified per app: `npm run lint` 0 errors over src + tests + scripts,
`prettier --check` clean, and the unit suite still green.
---
eslint.config.mjs | 123 +++++++++++++++++-
package.json | 2 +-
scripts/assert-lockfile-matches-install.js | 17 ++-
scripts/build-l10n-js.js | 3 +
scripts/check-schema-l10n.js | 3 +
tests/e2e/_base-url.ts | 1 -
tests/e2e/_nav.ts | 4 +-
tests/e2e/docs-screenshots.spec.ts | 8 +-
tests/e2e/global-setup.ts | 14 +-
tests/e2e/l10n-browser-catalogue.spec.ts | 3 +-
tests/e2e/playwright.config.ts | 3 +-
.../demo-data-setup-step.spec.ts | 8 +-
.../spec-coverage/detail-forms-admin.spec.ts | 22 ++--
.../event-runsheet-export.spec.ts | 2 +-
.../event-xp-award-workflow.spec.ts | 4 +-
tests/e2e/spec-coverage/index-pages.spec.ts | 6 +-
.../spec-coverage/setting-management.spec.ts | 4 +-
.../spec-coverage/settings-roadmap.spec.ts | 8 +-
.../skill-requirement-enforcement.spec.ts | 2 +-
tests/e2e/spec-coverage/spa-ui.spec.ts | 14 +-
tests/e2e/visual/_visual-helpers.ts | 6 +-
tests/e2e/visual/larpinq.visual.spec.ts | 2 +-
...haracter-stat-computation.workflow.spec.ts | 22 ++--
.../crud-persistence.workflow.spec.ts | 41 ++----
tests/e2e/workflows/fixtures.ts | 22 ++--
.../workflows/game-mechanics.workflow.spec.ts | 24 ++--
tests/l10n/check-l10n-parity.js | 6 +-
tests/l10n/check-l10n.js | 4 +-
tests/validate-json-strict.js | 5 +-
tests/validate-manifest.js | 14 +-
tests/vitest/graphql.spec.js | 2 +-
tests/vitest/manifestRegistry.spec.js | 2 +-
tests/vitest/objectStoreTenant.spec.js | 2 +-
tests/vitest/settingsStore.spec.js | 2 +-
tests/vitest/skillTreeGraph.spec.js | 8 +-
tests/vitest/stubs/nextcloud-logger.js | 2 +-
36 files changed, 274 insertions(+), 141 deletions(-)
diff --git a/eslint.config.mjs b/eslint.config.mjs
index 4e0df452..90fa739f 100644
--- a/eslint.config.mjs
+++ b/eslint.config.mjs
@@ -44,6 +44,26 @@ export default [
// resolves a rule's plugin from the object the rule sits in, so an override
// must name files whose config already registers it.
files: ['**/*.js', '**/*.mjs', '**/*.ts', '**/*.tsx', '**/*.vue'],
+ // 🔴 THE `ignores` ARE PART OF THAT SCOPE, NOT AN OPINION. v9 registers
+ // the jsdoc plugin ONLY inside `nextcloud/documentation/*`, and every one
+ // of those blocks carries exactly this ignore list: Nextcloud does not
+ // require JSDoc in tests. Naming a `jsdoc/*` rule for a test file
+ // therefore points at a plugin that is not registered there, and eslint
+ // refuses to run AT ALL rather than reporting a finding.
+ //
+ // Measured here: with the list absent, `eslint tests` died with "A
+ // configuration object specifies rule 'jsdoc/check-tag-names', but could
+ // not find plugin 'jsdoc'" and linted nothing. `eslint src` was green
+ // throughout, because it never reached a test file.
+ ignores: [
+ '**/*.test.*',
+ '**/*.spec.*',
+ '**/*.cy.*',
+ '**/test/**',
+ '**/tests/**',
+ '**/__tests__/**',
+ '**/__mocks__/**',
+ ],
rules: {
// `@spec` (hydra gate-16 / gate-19 traceability) and `@visual` (the
// visual-coverage gate) are this project's own JSDoc tags. v9 sets
@@ -110,16 +130,113 @@ export default [
},
{
- // Node-side CLI tools (build / validate scripts) legitimately use console
- // and process.exit, and ship as plain JS with no shebang.
- files: ['tests/validate-manifest.js', 'tests/validate-register.js', 'tests/validate-json-strict.js'],
+ // Node-side CLI checkers under tests/ legitimately use console and
+ // process.exit, and ship as plain JS with no shebang.
+ //
+ // 🔴 A GLOB, NOT A FILE LIST. This block used to name three files by hand
+ // (`validate-manifest.js`, `validate-register.js`, `validate-json-strict.js`)
+ // and had silently stopped covering every checker added since. That is the
+ // failure mode a hand-maintained list always has: adding a file does not
+ // add it to the list, and the omission is invisible.
+ files: ['tests/**/*.js', 'tests/**/*.mjs', 'tests/**/*.ts'],
rules: {
'no-console': 'off',
'n/no-process-exit': 'off',
'n/hashbang': 'off',
+ // Tests import devDependencies by definition; this rule is about what
+ // ships in the published package, which tests/ never does.
+ 'n/no-unpublished-import': 'off',
},
},
+ {
+ // 🔴 Node-side CLI tooling under `scripts/`, which is COMMONJS. Flat
+ // config defaults every `.js` to ESM with browser-ish globals, so without
+ // this block eslint reports the CommonJS wrapper itself as undefined
+ // identifiers. Measured on this app: 52 of the 233 errors under
+ // `tests/` + `scripts/` were `no-undef`, ALL of them in `scripts/`, and
+ // all five names were the environment rather than a typo — `process` 23,
+ // `require` 20, `__dirname` 6, `__filename` 2, `module` 1.
+ //
+ // This is describing the environment, not relaxing a rule, and it is the
+ // same argument the test-globals block below makes: declaring them keeps
+ // `no-undef` able to do its real job, which is catching a genuinely
+ // misspelled identifier. Suppressing the rule instead would bury that.
+ //
+ // `no-console` is off because printing its report is what a CLI checker
+ // is FOR.
+ //
+ // 🔴 NO `n/*` ENTRIES HERE, DELIBERATELY. `eslint-plugin-n` is NOT
+ // registered for these files under eslint 10 + @nextcloud/eslint-config
+ // 9, so `'n/no-process-exit': 'off'` would be dead config that reads as
+ // if it were doing something. Measured both ways on this app: 0 `n/`
+ // findings with the entries and 0 without.
+ //
+ // What DID report was the opposite — four `scripts/*.js` carried
+ // `/* eslint-disable n/no-process-exit */` and `/* eslint-disable
+ // n/shebang */` left over from the eslintrc era, and an inline disable
+ // naming an unregistered plugin is itself an error ("Definition for rule
+ // 'n/shebang' was not found"). Those 8 comments are removed; do not add
+ // `n/*` rules back to replace them.
+ //
+ // ⚠️ `.js` and `.cjs` ONLY. A `scripts/*.mjs` is genuinely ESM and must
+ // keep the default `sourceType`, or `import` stops parsing there.
+ files: ['scripts/**/*.js', 'scripts/**/*.cjs'],
+ languageOptions: {
+ sourceType: 'commonjs',
+ globals: {
+ require: 'readonly',
+ module: 'writable',
+ exports: 'writable',
+ process: 'readonly',
+ __dirname: 'readonly',
+ __filename: 'readonly',
+ console: 'readonly',
+ Buffer: 'readonly',
+ global: 'readonly',
+ URL: 'readonly',
+ TextEncoder: 'readonly',
+ TextDecoder: 'readonly',
+ },
+ },
+ rules: {
+ 'no-console': 'off',
+ },
+ },
+
+ {
+ // The ESM half of the block above. A `scripts/*.mjs` is genuinely a module
+ // and must keep the default `sourceType`, so it gets Node's globals but
+ // none of the CommonJS wrapper. Measured: `process` reported undefined 2x
+ // in hermiq's generate-opengemeenten-icons.mjs and 4x in openregister's
+ // l10n/runtime-check.mjs, which the `.js`/`.cjs` block deliberately does
+ // not match.
+ files: ['scripts/**/*.mjs', 'tests/**/*.mjs'],
+ languageOptions: {
+ globals: {
+ process: 'readonly',
+ console: 'readonly',
+ Buffer: 'readonly',
+ global: 'readonly',
+ URL: 'readonly',
+ TextEncoder: 'readonly',
+ TextDecoder: 'readonly',
+ },
+ },
+ rules: {
+ 'no-console': 'off',
+ },
+ },
+
+ {
+ // eslint must not try to PARSE a shell script. `tests/e2e/seed.test.sh`
+ // matches the `**/*.test.*` glob some presets use, and eslint then reads
+ // it as JavaScript and reports "Parsing error: Unexpected character" —
+ // a finding about a file it should never have opened.
+ ignores: ['**/*.sh', '**/*.bash'],
+ },
+
+
// eslint-config-prettier LAST OF ALL, and it has to be last: it only turns
// rules OFF, and what it turns off is everything prettier owns — including
// the `@stylistic/*` family v9 introduces (`indent`, `quotes`, `semi`).
diff --git a/package.json b/package.json
index 8b704594..768ace2f 100644
--- a/package.json
+++ b/package.json
@@ -13,7 +13,7 @@
"build": "NODE_ENV=production webpack --config webpack.config.js --progress",
"dev": "NODE_ENV=development webpack --config webpack.config.js --progress",
"watch": "NODE_ENV=development webpack --config webpack.config.js --progress --watch",
- "lint": "eslint src",
+ "lint": "eslint src tests scripts",
"lint-fix": "npm run lint -- --fix",
"test:unit": "vitest run",
"test:unit:watch": "vitest",
diff --git a/scripts/assert-lockfile-matches-install.js b/scripts/assert-lockfile-matches-install.js
index a8d6aaa9..9b3204d9 100644
--- a/scripts/assert-lockfile-matches-install.js
+++ b/scripts/assert-lockfile-matches-install.js
@@ -28,10 +28,14 @@ const fs = require('fs')
const path = require('path')
const root = process.cwd()
-const read = (p) => {
+/**
+ *
+ * @param p
+ */
+function read(p) {
try {
return JSON.parse(fs.readFileSync(p, 'utf8'))
- } catch (e) {
+ } catch {
return null
}
}
@@ -81,8 +85,13 @@ for (const [entry, meta] of Object.entries(lock.packages)) {
}
}
-const fmt = (r) =>
- ` ${r.name.padEnd(38)} lock ${String(r.want).padEnd(14)} installed ${r.got || '(absent)'}`
+/**
+ *
+ * @param r
+ */
+function fmt(r) {
+ return ` ${r.name.padEnd(38)} lock ${String(r.want).padEnd(14)} installed ${r.got || '(absent)'}`
+}
if (drift.dev.length) {
console.log(
diff --git a/scripts/build-l10n-js.js b/scripts/build-l10n-js.js
index 176ef519..335b08d2 100644
--- a/scripts/build-l10n-js.js
+++ b/scripts/build-l10n-js.js
@@ -101,6 +101,9 @@ function renderJs(id, translations, pluralForm) {
].join('\n')
}
+/**
+ *
+ */
function main() {
const check = process.argv.includes('--check')
const id = appId()
diff --git a/scripts/check-schema-l10n.js b/scripts/check-schema-l10n.js
index 8a860b33..3c4b2626 100644
--- a/scripts/check-schema-l10n.js
+++ b/scripts/check-schema-l10n.js
@@ -113,6 +113,9 @@ function collect(node, where, sink) {
for (const value of Object.values(node)) collect(value, where, sink)
}
+/**
+ *
+ */
function main() {
const update = process.argv.includes('--update')
const list = process.argv.includes('--list')
diff --git a/tests/e2e/_base-url.ts b/tests/e2e/_base-url.ts
index 16e621e9..8386d2a5 100644
--- a/tests/e2e/_base-url.ts
+++ b/tests/e2e/_base-url.ts
@@ -83,7 +83,6 @@ export function resolveBaseURL(): string {
}
}
if (isCI()) {
- // eslint-disable-next-line no-console
console.warn(
`[larpinq e2e] none of ${BASE_URL_VARS.join(' / ')} is set; falling back to the `
+ `CI-local ${CI_DEFAULT_BASE_URL} (the runner's own php -S instance).`,
diff --git a/tests/e2e/_nav.ts b/tests/e2e/_nav.ts
index e4c8d23d..654cce05 100644
--- a/tests/e2e/_nav.ts
+++ b/tests/e2e/_nav.ts
@@ -1,3 +1,5 @@
+import type { Page } from '@playwright/test'
+
/**
* Shared larpinq sidebar-navigation helper.
*
@@ -30,7 +32,7 @@
* plain click hangs on actionability) AND the click must be retried,
* because force cannot fire a handler Vue has not attached yet.
*/
-import { expect, type Page } from '@playwright/test'
+import { expect } from '@playwright/test'
export const APP_BASE = '/apps/larpinq'
export const NAV = '[data-testid="cn-nav"]'
diff --git a/tests/e2e/docs-screenshots.spec.ts b/tests/e2e/docs-screenshots.spec.ts
index 37e6bba2..06719977 100644
--- a/tests/e2e/docs-screenshots.spec.ts
+++ b/tests/e2e/docs-screenshots.spec.ts
@@ -37,9 +37,11 @@
* Pattern reference: ADR-030 (hydra/openspec/architecture/).
*/
-import { test, expect, type Page } from '@playwright/test'
-import * as path from 'path'
+import type { Page } from '@playwright/test'
+
+import { expect, test } from '@playwright/test'
import * as fs from 'fs'
+import * as path from 'path'
const SHOT_ROOT = path.resolve(
__dirname,
@@ -118,7 +120,7 @@ async function go(page: Page, route: string): Promise {
url = route
} else {
const hashRoute = route.startsWith('/') ? route : `/${route}`
- url = `${APP}/#${hashRoute}`
+ url = `${APP}${hashRoute}`
}
await page.goto(url).catch(() => {
/* tolerate 404 — caller decides */
diff --git a/tests/e2e/global-setup.ts b/tests/e2e/global-setup.ts
index c92b048e..6c308852 100644
--- a/tests/e2e/global-setup.ts
+++ b/tests/e2e/global-setup.ts
@@ -20,11 +20,13 @@
* adopter).
*/
-import { chromium, expect, request, type FullConfig } from '@playwright/test'
+import type { FullConfig } from '@playwright/test'
+
+import { chromium, expect, request } from '@playwright/test'
import { execSync } from 'child_process'
-import * as path from 'path'
import * as fs from 'fs'
-import { resolveBaseURL } from './_base-url'
+import * as path from 'path'
+import { resolveBaseURL } from './_base-url.ts'
const AUTH_DIR = path.resolve(__dirname, '.auth')
const STORAGE_STATE = path.join(AUTH_DIR, 'admin.json')
@@ -52,7 +54,7 @@ function ensureBundleBuilt(): void {
if (fs.existsSync(BUNDLE_PATH)) {
return
}
- // eslint-disable-next-line no-console
+
console.log(
`[playwright globalSetup] bundle missing at ${BUNDLE_PATH}; running 'npm run build' once…`,
)
@@ -99,7 +101,7 @@ async function ensureNextcloudReachable(baseURL: string): Promise {
} catch (err) {
last = `request failed: ${(err as Error).message}`
}
- // eslint-disable-next-line no-await-in-loop
+
await new Promise((resolve) => setTimeout(resolve, 5_000))
}
throw new Error(
@@ -223,7 +225,7 @@ export default async function globalSetup(config: FullConfig): Promise {
await page.evaluate(() => {
try {
window.localStorage.setItem('cn-walkthrough-seen:larpinq', '999.0.0')
- } catch (e) {
+ } catch {
// localStorage unavailable — specs fall back to dismissing by hand.
}
})
diff --git a/tests/e2e/l10n-browser-catalogue.spec.ts b/tests/e2e/l10n-browser-catalogue.spec.ts
index 047d6072..1197e6aa 100644
--- a/tests/e2e/l10n-browser-catalogue.spec.ts
+++ b/tests/e2e/l10n-browser-catalogue.spec.ts
@@ -39,11 +39,10 @@
* nothing about apps whose translations differ.
*/
+import { expect, test } from '@playwright/test'
import { readFileSync } from 'node:fs'
import path from 'node:path'
-import { expect, test } from '@playwright/test'
-
/**
* The app id this repo declares. Resolved from the repo root by walking up
* from this file, so it does not depend on the working directory playwright
diff --git a/tests/e2e/playwright.config.ts b/tests/e2e/playwright.config.ts
index ce4c80b0..39e3c8cb 100644
--- a/tests/e2e/playwright.config.ts
+++ b/tests/e2e/playwright.config.ts
@@ -69,8 +69,7 @@
import { defineConfig, devices } from '@playwright/test'
import * as path from 'path'
-
-import { resolveBaseURL } from './_base-url'
+import { resolveBaseURL } from './_base-url.ts'
/**
* Helper modules and opt-in projects that must never be collected as CI specs.
diff --git a/tests/e2e/spec-coverage/demo-data-setup-step.spec.ts b/tests/e2e/spec-coverage/demo-data-setup-step.spec.ts
index 285153d9..49adbae5 100644
--- a/tests/e2e/spec-coverage/demo-data-setup-step.spec.ts
+++ b/tests/e2e/spec-coverage/demo-data-setup-step.spec.ts
@@ -28,7 +28,9 @@
* (`setup-demo-data-first`) checks it statically on every change. Claiming to
* prove it here would be asserting something this vantage point cannot see.
*/
-import { test, expect, Page } from '@playwright/test'
+import type { Page } from '@playwright/test'
+
+import { expect, test } from '@playwright/test'
const BASE = '/apps/larpinq'
@@ -44,12 +46,12 @@ async function api(
method,
headers: {
'Content-Type': 'application/json',
- // eslint-disable-next-line no-undef
+
requesttoken: (window as any).OC?.requestToken || '',
'OCS-APIREQUEST': 'true',
},
})
- let json: any = null
+ let json: any
try {
json = await res.json()
} catch {
diff --git a/tests/e2e/spec-coverage/detail-forms-admin.spec.ts b/tests/e2e/spec-coverage/detail-forms-admin.spec.ts
index 3055bc26..e65847c4 100644
--- a/tests/e2e/spec-coverage/detail-forms-admin.spec.ts
+++ b/tests/e2e/spec-coverage/detail-forms-admin.spec.ts
@@ -27,15 +27,11 @@
* playwright.config.ts wires storageState so each test starts logged in.
*/
-import {
- test,
- expect,
- request,
- type Page,
- type APIRequestContext,
-} from '@playwright/test'
-import { navTo as sharedNavTo, dismissSupportDialog } from '../_nav'
-import { BASE_URL } from '../_base-url'
+import type { APIRequestContext, Page } from '@playwright/test'
+
+import { expect, request, test } from '@playwright/test'
+import { BASE_URL } from '../_base-url.ts'
+import { dismissSupportDialog, navTo as sharedNavTo } from '../_nav.ts'
const BASE = '/apps/larpinq'
const TS = Date.now()
@@ -89,6 +85,8 @@ const SCHEMA_IDS: Record = {
* @param {APIRequestContext} api Authenticated request context.
* @return {Promise}
*/
+const REGISTER_IDS: Record = {}
+
async function resolveIds(api: APIRequestContext): Promise {
const res = await api
.get(`${NEXTCLOUD_URL}/index.php/apps/larpinq/api/settings`, {
@@ -129,7 +127,6 @@ async function resolveIds(api: APIRequestContext): Promise {
}
/** Register each type is actually stored in; defaults to the shared register. */
-const REGISTER_IDS: Record = {}
/**
* The register to seed a given type into.
@@ -202,7 +199,7 @@ async function gotoDetail(
id: string,
typeLabel: string,
): Promise {
- await page.goto(`${BASE}/#/${slug}/${id}`)
+ await page.goto(`${BASE}/${slug}/${id}`)
// ADR-074 rule 4: `networkidle` never settles on Nextcloud — the
// notification poll keeps the network permanently busy. This was the LAST
// live `waitForLoadState('networkidle')` in the suite; every other mention
@@ -340,7 +337,6 @@ async function seedObject(
): Promise {
const schemaId = SCHEMA_IDS[schema]
if (!schemaId) {
- // eslint-disable-next-line no-console
console.error(
`[e2e seed] ${schema}: no schema id configured on this instance — the app has no storage for it`,
)
@@ -359,12 +355,10 @@ async function seedObject(
// Report WHY a seed failed. Swallowing it turns every dependent spec into a
// 60 s timeout that looks like a rendering regression.
if (!res) {
- // eslint-disable-next-line no-console
console.error(`[e2e seed] ${schema}: POST ${url} threw`)
return null
}
if (!res.ok()) {
- // eslint-disable-next-line no-console
console.error(
`[e2e seed] ${schema}: POST ${url} -> ${res.status()} ${(await res.text().catch(() => '')).slice(0, 200)}`,
)
diff --git a/tests/e2e/spec-coverage/event-runsheet-export.spec.ts b/tests/e2e/spec-coverage/event-runsheet-export.spec.ts
index adaecb77..26a8e199 100644
--- a/tests/e2e/spec-coverage/event-runsheet-export.spec.ts
+++ b/tests/e2e/spec-coverage/event-runsheet-export.spec.ts
@@ -20,7 +20,7 @@
* @spec openspec/specs/pdf-export/spec.md
*/
-import { test, expect } from '@playwright/test'
+import { expect, test } from '@playwright/test'
const BASE = '/apps/larpinq'
diff --git a/tests/e2e/spec-coverage/event-xp-award-workflow.spec.ts b/tests/e2e/spec-coverage/event-xp-award-workflow.spec.ts
index 609fb9b3..ed3d7e40 100644
--- a/tests/e2e/spec-coverage/event-xp-award-workflow.spec.ts
+++ b/tests/e2e/spec-coverage/event-xp-award-workflow.spec.ts
@@ -17,7 +17,7 @@
* @spec openspec/specs/event-xp-awards/spec.md
*/
-import { test, expect } from '@playwright/test'
+import { expect, test } from '@playwright/test'
const BASE = '/apps/larpinq'
@@ -27,7 +27,7 @@ test.describe('event-xp-award-workflow', () => {
page.on('pageerror', (e) => pageErrors.push(e.message))
// Never `networkidle` — unreachable on Nextcloud (ADR-074 rule 4).
- await page.goto(`${BASE}/#/xp-awards`, { waitUntil: 'domcontentloaded' })
+ await page.goto(`${BASE}/xp-awards`, { waitUntil: 'domcontentloaded' })
await expect(page.locator('.app-content')).toBeVisible({ timeout: 30_000 })
// Assert a page-SPECIFIC affordance inside the content area. The old
diff --git a/tests/e2e/spec-coverage/index-pages.spec.ts b/tests/e2e/spec-coverage/index-pages.spec.ts
index 2e397ce9..f6b5db75 100644
--- a/tests/e2e/spec-coverage/index-pages.spec.ts
+++ b/tests/e2e/spec-coverage/index-pages.spec.ts
@@ -24,8 +24,10 @@
* playwright.config.ts wires storageState so each test starts logged in.
*/
-import { test, expect, type Page } from '@playwright/test'
-import { dismissSupportDialog } from '../_nav'
+import type { Page } from '@playwright/test'
+
+import { expect, test } from '@playwright/test'
+import { dismissSupportDialog } from '../_nav.ts'
const BASE = '/apps/larpinq'
diff --git a/tests/e2e/spec-coverage/setting-management.spec.ts b/tests/e2e/spec-coverage/setting-management.spec.ts
index 2ffe6714..b6b4f4a2 100644
--- a/tests/e2e/spec-coverage/setting-management.spec.ts
+++ b/tests/e2e/spec-coverage/setting-management.spec.ts
@@ -16,7 +16,7 @@
* @spec openspec/specs/setting-management/spec.md
*/
-import { test, expect } from '@playwright/test'
+import { expect, test } from '@playwright/test'
const BASE = '/apps/larpinq'
@@ -30,7 +30,7 @@ test.describe('setting-management', () => {
// Never `networkidle` — Nextcloud's notification poll means that state
// is never reached, so the wait always burns its full budget (ADR-074
// rule 4). Wait for the rendered page surface instead.
- await page.goto(`${BASE}/#/settings`, { waitUntil: 'domcontentloaded' })
+ await page.goto(`${BASE}/settings`, { waitUntil: 'domcontentloaded' })
await expect(page.locator('.app-content')).toBeVisible({ timeout: 30_000 })
// Assert a page-SPECIFIC affordance inside the content area. The old
diff --git a/tests/e2e/spec-coverage/settings-roadmap.spec.ts b/tests/e2e/spec-coverage/settings-roadmap.spec.ts
index 30e3145a..fad353a2 100644
--- a/tests/e2e/spec-coverage/settings-roadmap.spec.ts
+++ b/tests/e2e/spec-coverage/settings-roadmap.spec.ts
@@ -19,8 +19,10 @@
* playwright.config.ts wires storageState so each test starts logged in.
*/
-import { test, expect, type Page } from '@playwright/test'
-import { dismissSupportDialog } from '../_nav'
+import type { Page } from '@playwright/test'
+
+import { expect, test } from '@playwright/test'
+import { dismissSupportDialog } from '../_nav.ts'
const BASE = '/apps/larpinq'
@@ -37,7 +39,7 @@ async function openRoute(page: Page, route: string): Promise {
// `domcontentloaded`, never `networkidle` — the latter is unreachable on
// Nextcloud (notification poll), so it just burns the budget (ADR-074
// rule 4). The `.app-content` assertion below is the real readiness gate.
- await page.goto(`${BASE}/#${route}`, { waitUntil: 'domcontentloaded' })
+ await page.goto(`${BASE}${route}`, { waitUntil: 'domcontentloaded' })
await dismissSupportDialog(page)
await expect(page).toHaveURL(new RegExp(`#${route.replace(/\//g, '\\/')}`))
await expect(page.locator('.app-content')).toBeVisible({ timeout: 10_000 })
diff --git a/tests/e2e/spec-coverage/skill-requirement-enforcement.spec.ts b/tests/e2e/spec-coverage/skill-requirement-enforcement.spec.ts
index 0d2e9823..1b7d65c6 100644
--- a/tests/e2e/spec-coverage/skill-requirement-enforcement.spec.ts
+++ b/tests/e2e/spec-coverage/skill-requirement-enforcement.spec.ts
@@ -18,7 +18,7 @@
* @spec openspec/specs/skill-requirement-enforcement/spec.md
*/
-import { test, expect } from '@playwright/test'
+import { expect, test } from '@playwright/test'
const BASE = '/apps/larpinq'
diff --git a/tests/e2e/spec-coverage/spa-ui.spec.ts b/tests/e2e/spec-coverage/spa-ui.spec.ts
index a51a2dea..1282fca0 100644
--- a/tests/e2e/spec-coverage/spa-ui.spec.ts
+++ b/tests/e2e/spec-coverage/spa-ui.spec.ts
@@ -17,11 +17,12 @@
* playwright.config.ts wires storageState so each test starts logged in.
*/
-import { test, expect, type Page } from '@playwright/test'
-import { dismissSupportDialog } from '../_nav'
+import type { Page } from '@playwright/test'
+
+import { expect, test } from '@playwright/test'
+import { dismissSupportDialog } from '../_nav.ts'
const BASE = '/apps/larpinq'
-const TS = Date.now()
// ---------------------------------------------------------------------------
// Helpers
@@ -360,9 +361,10 @@ test.describe('character-management', () => {
if (await btn.isVisible({ timeout: 3000 }).catch(() => false)) {
await btn.click()
const dialog = page.locator('[role="dialog"]').first()
- await dialog.waitFor({ state: 'visible', timeout: 5000 }).catch(() => {})
- // Name field should be present in the dialog
- const nameField = dialog
+ await dialog
+ .waitFor({ state: 'visible', timeout: 5000 })
+ .catch(() => {})
+ // Name field should be present in the dialog
.locator(
'input[placeholder*="name" i], input[name*="name" i], label:has-text("Name") ~ * input',
)
diff --git a/tests/e2e/visual/_visual-helpers.ts b/tests/e2e/visual/_visual-helpers.ts
index 6e033dbb..e21bd109 100644
--- a/tests/e2e/visual/_visual-helpers.ts
+++ b/tests/e2e/visual/_visual-helpers.ts
@@ -1,3 +1,5 @@
+import type { Locator, Page } from '@playwright/test'
+
/*
* SPDX-License-Identifier: EUPL-1.2
*
@@ -24,8 +26,8 @@
* own baselines on first run, or (b) stay non-gating until baselined in the CI
* environment. See tests/e2e/visual/README in-repo wiring notes.
*/
-import { expect, type Page, type Locator } from '@playwright/test'
-import { dismissSupportDialog as sharedDismissSupportDialog } from '../_nav'
+import { expect } from '@playwright/test'
+import { dismissSupportDialog as sharedDismissSupportDialog } from '../_nav.ts'
/** Common screenshot options applied to every visual assertion. */
export const SHOT_OPTIONS = {
diff --git a/tests/e2e/visual/larpinq.visual.spec.ts b/tests/e2e/visual/larpinq.visual.spec.ts
index 7ef7ed44..7533772e 100644
--- a/tests/e2e/visual/larpinq.visual.spec.ts
+++ b/tests/e2e/visual/larpinq.visual.spec.ts
@@ -11,7 +11,7 @@
* See _visual-helpers.ts for the platform-rendering caveat.
*/
import { test } from '@playwright/test'
-import { shootSurface, shootByNav } from './_visual-helpers'
+import { shootByNav, shootSurface } from './_visual-helpers.ts'
const APP = '/index.php/apps/larpinq'
diff --git a/tests/e2e/workflows/character-stat-computation.workflow.spec.ts b/tests/e2e/workflows/character-stat-computation.workflow.spec.ts
index 717c624e..cfda41f6 100644
--- a/tests/e2e/workflows/character-stat-computation.workflow.spec.ts
+++ b/tests/e2e/workflows/character-stat-computation.workflow.spec.ts
@@ -70,19 +70,21 @@
* test goes green unmodified.
*/
-import { test, expect, type APIRequestContext } from '@playwright/test'
+import type { APIRequestContext } from '@playwright/test'
+
+import { expect, test } from '@playwright/test'
import {
- RUN_ID,
- newApi,
- resolveSchemaIds,
- FixtureLedger,
- createObject,
- seedStatScenario,
+ cleanupLedger,
computeCharacterStat,
computeCharacterStatLive,
- cleanupLedger,
+ createObject,
+ FixtureLedger,
fixtureName,
-} from './fixtures'
+ newApi,
+ resolveSchemaIds,
+ RUN_ID,
+ seedStatScenario,
+} from './fixtures.ts'
// Documented blocker reasons; each is annotated onto its test.fixme below.
const STAT_UI_BLOCKER =
@@ -127,7 +129,7 @@ test.beforeAll(async () => {
test.afterAll(async () => {
await cleanupLedger(api, ledger)
await api.dispose()
- // eslint-disable-next-line no-console
+
console.log(
`[stat-computation] RUN_ID=${RUN_ID} — fixtures cleaned up via ledger.`,
)
diff --git a/tests/e2e/workflows/crud-persistence.workflow.spec.ts b/tests/e2e/workflows/crud-persistence.workflow.spec.ts
index b110aeb9..bc676635 100644
--- a/tests/e2e/workflows/crud-persistence.workflow.spec.ts
+++ b/tests/e2e/workflows/crud-persistence.workflow.spec.ts
@@ -51,21 +51,23 @@
* heading renders) remain active because they render data-independently.
*/
-import { test, expect, type APIRequestContext, type Page } from '@playwright/test'
-import { navTo as sharedNavTo, dismissSupportDialog } from '../_nav'
+import type { APIRequestContext, Page } from '@playwright/test'
+
+import { expect, test } from '@playwright/test'
+import { navTo as sharedNavTo } from '../_nav.ts'
import {
BASE,
- RUN_ID,
- fixtureName,
- newApi,
- FixtureLedger,
+ cleanupLedger,
createObject,
- getObject,
- updateObject,
deleteObject,
- cleanupLedger,
+ FixtureLedger,
+ fixtureName,
+ getObject,
+ newApi,
resolveSchemaIds,
-} from './fixtures'
+ RUN_ID,
+ updateObject,
+} from './fixtures.ts'
// Documented blocker reasons; each is annotated onto its test.fixme below via
// test.info().annotations so the reason travels with the parked test.
@@ -119,22 +121,6 @@ test.afterAll(async () => {
// LIST_EMPTY / DETAIL_500 blockers).
// ---------------------------------------------------------------------------
-async function openApp(page: Page): Promise {
- if (!page.url().includes('/apps/larpinq')) {
- await page.goto(`${BASE}/`)
- // ADR-074 rule 4: `networkidle` never settles on Nextcloud.
- await page
- .locator('#app-content, .app-content, #content')
- .first()
- .waitFor({ state: 'visible', timeout: 30_000 })
- .catch(() => {})
- }
- await expect(page.locator('.app-content')).toBeVisible({ timeout: 15_000 })
- // Shared helper — see `../_nav`. The local copy matched only
- // `aria-label="Close"` and never dismissed the onboarding tour.
- await dismissSupportDialog(page)
-}
-
/**
* Reach `slug`'s index page through the real sidebar.
*
@@ -306,7 +292,7 @@ test.describe('character — CRUD persistence (store round-trip)', () => {
// Hash-mode deep link (src/main.js — fleet #133): the detail route is
// addressed via the URL hash, served from the SPA root and resolved
// client-side.
- await page.goto(`${BASE}/#/characters/${id}`)
+ await page.goto(`${BASE}/characters/${id}`)
// ADR-074 rule 4: `networkidle` never settles on Nextcloud.
await page
.locator('#app-content, .app-content, #content')
@@ -427,7 +413,6 @@ test.describe('skill — CRUD persistence (store round-trip)', () => {
})
test.afterAll(() => {
- // eslint-disable-next-line no-console
console.log(
`[crud-persistence] RUN_ID=${RUN_ID} — fixtures cleaned up via ledger.`,
)
diff --git a/tests/e2e/workflows/fixtures.ts b/tests/e2e/workflows/fixtures.ts
index 4730ef81..b072198b 100644
--- a/tests/e2e/workflows/fixtures.ts
+++ b/tests/e2e/workflows/fixtures.ts
@@ -48,8 +48,10 @@
* from the character's skills/items/conditions/events.
*/
-import { request, type APIRequestContext } from '@playwright/test'
-import { OR_OBJECTS_API, LARPINQ_SETTINGS_API } from '../_base-url'
+import type { APIRequestContext } from '@playwright/test'
+
+import { request } from '@playwright/test'
+import { LARPINQ_SETTINGS_API, OR_OBJECTS_API } from '../_base-url.ts'
export const BASE = '/apps/larpinq'
@@ -181,9 +183,17 @@ export async function createObject(
// `resolveSchemaIds()` was wired in (larpinq's real one is
// `larping_item`). Cross-app slug collision — OR #2150 class.
const payload: Record = { ...body }
- if (payload.name != null && payload.title == null) {
+ if (
+ payload.name !== null
+ && payload.name !== undefined
+ && (payload.title === null || payload.title === undefined)
+ ) {
payload.title = payload.name
- } else if (payload.title != null && payload.name == null) {
+ } else if (
+ payload.title !== null
+ && payload.title !== undefined
+ && (payload.name === null || payload.name === undefined)
+ ) {
payload.name = payload.title
}
const res = await api.post(url, { headers: HEADERS, data: payload })
@@ -269,7 +279,6 @@ export async function cleanupLedger(
for (const id of ledger.ids(type)) {
const ok = await deleteObject(api, type, id).catch(() => false)
if (!ok) {
- // eslint-disable-next-line no-console
console.warn(
`[workflows cleanup] could not delete ${type}/${id} (RUN_ID=${RUN_ID})`,
)
@@ -582,7 +591,6 @@ export async function computeRosterLive(
}) as unknown as Record | null
}
-/* eslint-disable @typescript-eslint/no-explicit-any */
/**
* Locate the Nextcloud server root this checkout is installed INTO, by walking
* up from this file until `lib/base.php` and `config/config.php` are both
@@ -696,7 +704,6 @@ function runPhpHarness(
})
return parse(out)
} catch (err) {
- // eslint-disable-next-line no-console
console.warn(
`[stat harness] in-process run failed under ${serverRoot}: ${(err as Error).message}`,
)
@@ -748,4 +755,3 @@ function runPhpHarness(
}
}
}
-/* eslint-enable @typescript-eslint/no-explicit-any */
diff --git a/tests/e2e/workflows/game-mechanics.workflow.spec.ts b/tests/e2e/workflows/game-mechanics.workflow.spec.ts
index d1d776f7..87c2e516 100644
--- a/tests/e2e/workflows/game-mechanics.workflow.spec.ts
+++ b/tests/e2e/workflows/game-mechanics.workflow.spec.ts
@@ -48,19 +48,21 @@
* its own `RUN_ID` prefix, and never on the size of the stats block.
*/
-import { test, expect, type APIRequestContext } from '@playwright/test'
+import type { APIRequestContext } from '@playwright/test'
+import type { DerivedStats } from './fixtures.ts'
+
+import { expect, test } from '@playwright/test'
import {
- RUN_ID,
- newApi,
- resolveSchemaIds,
- FixtureLedger,
- createObject,
- computeStatsLive,
- computeRosterLive,
cleanupLedger,
+ computeRosterLive,
+ computeStatsLive,
+ createObject,
+ FixtureLedger,
fixtureName,
- type DerivedStats,
-} from './fixtures'
+ newApi,
+ resolveSchemaIds,
+ RUN_ID,
+} from './fixtures.ts'
let api: APIRequestContext
const ledger = new FixtureLedger()
@@ -73,7 +75,7 @@ test.beforeAll(async () => {
test.afterAll(async () => {
await cleanupLedger(api, ledger)
await api.dispose()
- // eslint-disable-next-line no-console
+
console.log(
`[game-mechanics] RUN_ID=${RUN_ID} — fixtures cleaned up via ledger.`,
)
diff --git a/tests/l10n/check-l10n-parity.js b/tests/l10n/check-l10n-parity.js
index 8a1f5228..fef114a6 100644
--- a/tests/l10n/check-l10n-parity.js
+++ b/tests/l10n/check-l10n-parity.js
@@ -131,7 +131,7 @@ function loadJsonSet(file) {
/** True when a translation value is empty (string) or has an empty plural. */
function isEmpty(v) {
- if (v == null) {
+ if ((v === null || v === undefined)) {
return true
}
if (Array.isArray(v)) {
@@ -190,11 +190,11 @@ for (const set of sets) {
continue
}
const missing = enKeys.filter(
- (k) => !Object.prototype.hasOwnProperty.call(locObj, k),
+ (k) => !Object.hasOwn(locObj, k),
)
const empty = enKeys.filter(
(k) =>
- Object.prototype.hasOwnProperty.call(locObj, k)
+ Object.hasOwn(locObj, k)
&& isEmpty(locObj[k]),
)
if (missing.length || empty.length) {
diff --git a/tests/l10n/check-l10n.js b/tests/l10n/check-l10n.js
index f15a3374..b999a500 100644
--- a/tests/l10n/check-l10n.js
+++ b/tests/l10n/check-l10n.js
@@ -137,7 +137,7 @@ function unescape(s) {
const used = new Map()
function record(key, file, idx, content) {
- if (key == null) {
+ if ((key === null || key === undefined)) {
return
}
const k = unescape(key)
@@ -163,7 +163,7 @@ for (const file of files) {
const missing = []
for (const [key, locations] of used) {
- if (!Object.prototype.hasOwnProperty.call(translations, key)) {
+ if (!Object.hasOwn(translations, key)) {
missing.push({ key, locations: [...locations] })
}
}
diff --git a/tests/validate-json-strict.js b/tests/validate-json-strict.js
index 8a27cecf..cd1982f6 100644
--- a/tests/validate-json-strict.js
+++ b/tests/validate-json-strict.js
@@ -45,7 +45,6 @@ function targetFiles() {
// `pathPrefix` is the JSON-pointer-ish path used in the error message.
function parseStrict(text, label) {
const dupErrors = []
- const reviverPathStack = []
// JSON.parse's reviver can't see duplicates (the object is already
// collapsed). So we re-implement just enough: tokenise object keys.
// Simpler robust approach: walk the raw text with a tiny tokenizer.
@@ -101,7 +100,7 @@ function parseStrict(text, label) {
return
}
let idx = 0
- // eslint-disable-next-line no-constant-condition
+
while (true) {
readValue(`${pathStr}/${idx}`)
idx++
@@ -126,7 +125,7 @@ function parseStrict(text, label) {
i++
return
}
- // eslint-disable-next-line no-constant-condition
+
while (true) {
skipWs()
if (text[i] !== '"') err('expected string key in object')
diff --git a/tests/validate-manifest.js b/tests/validate-manifest.js
index acdb2476..5983541a 100644
--- a/tests/validate-manifest.js
+++ b/tests/validate-manifest.js
@@ -68,7 +68,7 @@ function schemaFileName() {
if (ref.includes('app-manifest-v2')) {
return 'app-manifest-v2.schema.json'
}
- } catch (_) {
+ } catch {
// fall through to the v1 default
}
return 'app-manifest.schema.json'
@@ -96,7 +96,7 @@ function findSchemaPath() {
if (fs.existsSync(candidate) && fs.statSync(candidate).isFile()) {
return candidate
}
- } catch (_) {
+ } catch {
// continue to next candidate
}
}
@@ -112,16 +112,16 @@ function loadAjv() {
// The canonical schema uses JSON Schema draft 2020-12. Standard Ajv (v7+)
// does not auto-load the 2020 meta-schema; we need the `ajv/dist/2020`
// entry point.
- let Ajv2020 = null
- let addFormats = null
+ let Ajv2020
+ let addFormats
try {
// Ajv 8+ ships the 2020 draft entry point.
Ajv2020 = require('ajv/dist/2020').default || require('ajv/dist/2020')
- } catch (_) {
+ } catch {
try {
// Fall back to standard Ajv.
Ajv2020 = require('ajv').default || require('ajv')
- } catch (__) {
+ } catch {
console.error('[validate-manifest] Ajv not installed in node_modules.')
console.error(
'[validate-manifest] Install with: npm i -D ajv ajv-formats',
@@ -134,7 +134,7 @@ function loadAjv() {
}
try {
addFormats = require('ajv-formats').default || require('ajv-formats')
- } catch (_) {
+ } catch {
// ajv-formats is optional; the schema uses "uri" format on $schema
// which without ajv-formats is silently accepted.
addFormats = null
diff --git a/tests/vitest/graphql.spec.js b/tests/vitest/graphql.spec.js
index 3aaaef74..8106b125 100644
--- a/tests/vitest/graphql.spec.js
+++ b/tests/vitest/graphql.spec.js
@@ -8,7 +8,7 @@
* @nextcloud/router + @nextcloud/auth helpers are aliased to stubs.
*/
-import { describe, it, expect, beforeEach, afterEach, vi } from 'vitest'
+import { afterEach, beforeEach, describe, expect, it, vi } from 'vitest'
import { queryGraphQL } from '../../src/services/graphql.js'
function mockFetchOnce({ ok = true, status = 200, json = {}, headers = {} } = {}) {
diff --git a/tests/vitest/manifestRegistry.spec.js b/tests/vitest/manifestRegistry.spec.js
index 6b7b5c28..44f47909 100644
--- a/tests/vitest/manifestRegistry.spec.js
+++ b/tests/vitest/manifestRegistry.spec.js
@@ -33,7 +33,7 @@
import fs from 'fs'
import path from 'path'
import { fileURLToPath } from 'url'
-import { describe, it, expect } from 'vitest'
+import { describe, expect, it } from 'vitest'
const ROOT = path.resolve(path.dirname(fileURLToPath(import.meta.url)), '../..')
diff --git a/tests/vitest/objectStoreTenant.spec.js b/tests/vitest/objectStoreTenant.spec.js
index d834669c..85069e41 100644
--- a/tests/vitest/objectStoreTenant.spec.js
+++ b/tests/vitest/objectStoreTenant.spec.js
@@ -21,7 +21,7 @@
* by this vitest runner).
*/
-import { describe, it, expect, beforeEach, vi } from 'vitest'
+import { beforeEach, describe, expect, it, vi } from 'vitest'
let capturedOptions = null
diff --git a/tests/vitest/settingsStore.spec.js b/tests/vitest/settingsStore.spec.js
index 73fde3dd..1836b03b 100644
--- a/tests/vitest/settingsStore.spec.js
+++ b/tests/vitest/settingsStore.spec.js
@@ -9,8 +9,8 @@
* save / reimport round-trips. global fetch + the OC global are mocked.
*/
-import { describe, it, expect, beforeEach, afterEach, vi } from 'vitest'
import { createPinia, setActivePinia } from 'pinia'
+import { afterEach, beforeEach, describe, expect, it, vi } from 'vitest'
import { useSettingsStore } from '../../src/store/modules/settings.js'
function mockFetchOnce({ ok = true, statusText = 'OK', json = {} }) {
diff --git a/tests/vitest/skillTreeGraph.spec.js b/tests/vitest/skillTreeGraph.spec.js
index 0ddc7700..6127a7ff 100644
--- a/tests/vitest/skillTreeGraph.spec.js
+++ b/tests/vitest/skillTreeGraph.spec.js
@@ -10,13 +10,13 @@
* @spec openspec/specs/skill-tree-visualization/spec.md
*/
-import { describe, it, expect } from 'vitest'
+import { describe, expect, it } from 'vitest'
import {
- idList,
- indexNames,
- computeStateBySkill,
buildNodes,
+ computeStateBySkill,
computeTiers,
+ idList,
+ indexNames,
} from '../../src/views/skillTreeGraph.js'
const HEAL1 = { id: 'h1', name: 'Healing Lvl 1', requiredSkills: [] }
diff --git a/tests/vitest/stubs/nextcloud-logger.js b/tests/vitest/stubs/nextcloud-logger.js
index 43f1fb68..e22c7167 100644
--- a/tests/vitest/stubs/nextcloud-logger.js
+++ b/tests/vitest/stubs/nextcloud-logger.js
@@ -15,7 +15,7 @@
* error path under test logs without writing noise into the test output.
*/
-const noop = () => {}
+function noop() {}
const logger = {
debug: noop,
From 09ae8eef1549b4012cab88e08afe2fd3356f587a Mon Sep 17 00:00:00 2001
From: Ruben van der Linde
Date: Tue, 1 Sep 2026 15:12:19 +0200
Subject: [PATCH 22/35] fix(settings): add the load() the canonical route
already points at, and finish path routing (#657)
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
larpinq development was red on PHPUnit (all six cells), E2E and two gates.
Three separate causes.
## SettingsController::load() did not exist
CanonicalSettingsRouteContractTest said it plainly:
appinfo/routes.php routes to method(s) SettingsController does not define.
Each is a dispatch-time 500:
- OCA\Larpinq\Controller\SettingsController::load()
`settings#load` is CANONICAL: OpenRegister\AppHost\Routes::standard()
declares it, and the local fallback in appinfo/routes.php reproduces it for
the case where openregister is absent. So the route existed with nothing
behind it and every POST to /api/settings/load was a 500.
larpinq was the outlier. dossiq, keepiq, decidiq and shillinq all define
load(); checked all four. larpinq spells the same force-re-import operation
`reimport()`, so load() delegates to it rather than duplicating, the way
create() already delegates to update().
## Specs still asserted hash URLs
larpinq moved to path routing in #651, but three helpers still built
`new RegExp("#/" + slug + …)`:
Expected pattern: /#\/skills(\b|\/|$|\?)/
Received string: "http://localhost:8080/apps/larpinq/skills"
The app was on the right page the whole time. Fixed in _nav.ts,
index-pages.spec.ts and detail-forms-admin.spec.ts.
## A test that could not run, and asserted nothing if it had
spa-ui.spec.ts "character form requires name field" threw
TypeError: dialog.waitFor(...).catch(...).locator is not a function
waitFor() resolves a PROMISE, so .locator() was chained onto a Promise. The
locator it built was also DISCARDED, so even without the TypeError the test
asserted nothing while carrying a name that says it checks the name field. It
now awaits the dialog and asserts the field is visible.
Co-authored-by: Conduction Release Bot
---
lib/Controller/SettingsController.php | 26 +++++++++++++++++++
tests/e2e/_nav.ts | 4 ++-
.../spec-coverage/detail-forms-admin.spec.ts | 3 ++-
tests/e2e/spec-coverage/index-pages.spec.ts | 3 ++-
tests/e2e/spec-coverage/spa-ui.spec.ts | 15 ++++++++---
5 files changed, 44 insertions(+), 7 deletions(-)
diff --git a/lib/Controller/SettingsController.php b/lib/Controller/SettingsController.php
index bf16d565..333d5aef 100644
--- a/lib/Controller/SettingsController.php
+++ b/lib/Controller/SettingsController.php
@@ -398,4 +398,30 @@ public function reimport(): JSONResponse {
}//end try
}//end reimport()
+
+ /**
+ * Canonical AppHost alias for {@see reimport()}.
+ *
+ * `OpenRegister\AppHost\Routes::standard()` declares `settings#load`, and the
+ * local fallback in appinfo/routes.php reproduces it, so the route existed
+ * here with no method behind it: every POST to /api/settings/load was a
+ * dispatch-time 500. Pinned by CanonicalSettingsRouteContractTest, which is
+ * what caught it.
+ *
+ * larpinq spells the same operation `reimport()`, so this delegates rather
+ * than duplicating it, the way {@see create()} delegates to {@see update()}.
+ * The four sibling apps that already carry `load()` do the same force
+ * re-import.
+ *
+ * @auth admin-only Same posture as reimport(): no auth attribute, so
+ * Nextcloud's default of admin session + CSRF token applies. Pinned by
+ * SettingsControllerCsrfPostureTest.
+ *
+ * @return JSONResponse The re-import result.
+ *
+ * @spec openspec/changes/retrofit-2026-05-24-annotate-larpingapp/tasks.md#task-25
+ */
+ public function load(): JSONResponse {
+ return $this->reimport();
+ }//end load()
}//end class
diff --git a/tests/e2e/_nav.ts b/tests/e2e/_nav.ts
index 654cce05..69fef71a 100644
--- a/tests/e2e/_nav.ts
+++ b/tests/e2e/_nav.ts
@@ -204,6 +204,8 @@ export async function navTo(page: Page, slug: string): Promise {
timeout: 10_000,
})
await link.click()
- await expect(page).toHaveURL(new RegExp(`#/${slug}(\\b|/|$|\\?)`))
+ // larpinq moved off hash routing (#651), so the URL is /apps/larpinq/
+ // with no "#". The old pattern waited 15s on a hash that is never produced.
+ await expect(page).toHaveURL(new RegExp(`/${slug}(\\b|/|$|\\?)`))
await expect(page.locator('.app-content')).toBeVisible({ timeout: 10_000 })
}
diff --git a/tests/e2e/spec-coverage/detail-forms-admin.spec.ts b/tests/e2e/spec-coverage/detail-forms-admin.spec.ts
index e65847c4..1edb664d 100644
--- a/tests/e2e/spec-coverage/detail-forms-admin.spec.ts
+++ b/tests/e2e/spec-coverage/detail-forms-admin.spec.ts
@@ -221,7 +221,8 @@ async function gotoDetail(
// `aria-label="Close"` and never dismissed the onboarding tour, whose
// controls are "Close tour" / "Skip".
await dismissSupportDialog(page)
- await expect(page).toHaveURL(new RegExp(`#/${slug}/${id}`))
+ // Path routing since #651: no "#" in the URL.
+ await expect(page).toHaveURL(new RegExp(`/${slug}/${id}`))
await expect(page.locator('.app-content')).toBeVisible({ timeout: 10_000 })
// A detail page's own heading is the OBJECT's name (`