diff --git a/src/components/app/BigLink.svelte b/src/components/app/BigLink.svelte
index 6be17a7b1..db85d5c97 100644
--- a/src/components/app/BigLink.svelte
+++ b/src/components/app/BigLink.svelte
@@ -2,10 +2,15 @@
import Link from './Link.svelte';
export let to: string;
- export let subtitle: string;
+ export let subtitle: string | undefined = undefined;
+ export let external = false;
-
{subtitle}
+{#if subtitle}
{subtitle}{/if}
diff --git a/static/locales/es-MX/es-MX.json b/static/locales/es-MX/es-MX.json
index eddafe057..5138545f5 100644
--- a/static/locales/es-MX/es-MX.json
+++ b/static/locales/es-MX/es-MX.json
@@ -2650,6 +2650,11 @@
"consequences": [
"Si encontramos un proyecto o galería que viola estas reglas, advertiremos a los creadores antes de que lo vean o bloquearemos su visualización. Si violas repetidamente estas reglas, perderás el privilegio de publicar públicamente."
]
+ },
+ "donate": {
+ "header": "$?",
+ "prompt": "$?",
+ "content": ["$?"]
}
},
"edit": {
diff --git a/static/locales/example/example.json b/static/locales/example/example.json
index d740f64cf..b105399dc 100644
--- a/static/locales/example/example.json
+++ b/static/locales/example/example.json
@@ -2570,6 +2570,11 @@
"header": "$?",
"content": ["$?"],
"consequences": ["$?"]
+ },
+ "donate": {
+ "header": "$?",
+ "prompt": "$?",
+ "content": ["$?"]
}
},
"edit": {
diff --git a/static/locales/zh-CN/zh-CN.json b/static/locales/zh-CN/zh-CN.json
index afc40d751..881a60351 100644
--- a/static/locales/zh-CN/zh-CN.json
+++ b/static/locales/zh-CN/zh-CN.json
@@ -2570,6 +2570,11 @@
"header": "$?",
"content": ["$?"],
"consequences": ["$?"]
+ },
+ "donate": {
+ "header": "$?",
+ "prompt": "$?",
+ "content": ["$?"]
}
},
"edit": {
diff --git a/static/schemas/Locale.json b/static/schemas/Locale.json
index cb68b0110..33d2da701 100644
--- a/static/schemas/Locale.json
+++ b/static/schemas/Locale.json
@@ -110,7 +110,17 @@
"additionalProperties": false,
"properties": {
"explanation": {
- "$ref": "#/definitions/Template",
+ "anyOf": [
+ {
+ "$ref": "#/definitions/Template"
+ },
+ {
+ "items": {
+ "$ref": "#/definitions/Template"
+ },
+ "type": "array"
+ }
+ ],
"description": "The explanation text just below the header."
},
"header": {
@@ -280,88 +290,39 @@
],
"type": "object"
},
+ "GalleryText": {
+ "additionalProperties": false,
+ "properties": {
+ "description": {
+ "type": "string"
+ },
+ "name": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "name",
+ "description"
+ ],
+ "type": "object"
+ },
"GalleryTexts": {
"additionalProperties": false,
"properties": {
"av": {
- "additionalProperties": false,
- "properties": {
- "description": {
- "type": "string"
- },
- "name": {
- "type": "string"
- }
- },
- "required": [
- "name",
- "description"
- ],
- "type": "object"
+ "$ref": "#/definitions/GalleryText"
},
"games": {
- "additionalProperties": false,
- "properties": {
- "description": {
- "type": "string"
- },
- "name": {
- "type": "string"
- }
- },
- "required": [
- "name",
- "description"
- ],
- "type": "object"
+ "$ref": "#/definitions/GalleryText"
},
"motion": {
- "additionalProperties": false,
- "properties": {
- "description": {
- "type": "string"
- },
- "name": {
- "type": "string"
- }
- },
- "required": [
- "name",
- "description"
- ],
- "type": "object"
+ "$ref": "#/definitions/GalleryText"
},
"tools": {
- "additionalProperties": false,
- "properties": {
- "description": {
- "type": "string"
- },
- "name": {
- "type": "string"
- }
- },
- "required": [
- "name",
- "description"
- ],
- "type": "object"
+ "$ref": "#/definitions/GalleryText"
},
"visualizations": {
- "additionalProperties": false,
- "properties": {
- "description": {
- "type": "string"
- },
- "name": {
- "type": "string"
- }
- },
- "required": [
- "name",
- "description"
- ],
- "type": "object"
+ "$ref": "#/definitions/GalleryText"
}
},
"required": [
@@ -7937,7 +7898,17 @@
"description": "The keyboard shortcut reference dialog",
"properties": {
"explanation": {
- "$ref": "#/definitions/Template",
+ "anyOf": [
+ {
+ "$ref": "#/definitions/Template"
+ },
+ {
+ "items": {
+ "$ref": "#/definitions/Template"
+ },
+ "type": "array"
+ }
+ ],
"description": "The explanation text just below the header."
},
"header": {
@@ -8010,7 +7981,17 @@
"type": "object"
},
"explanation": {
- "$ref": "#/definitions/Template",
+ "anyOf": [
+ {
+ "$ref": "#/definitions/Template"
+ },
+ {
+ "items": {
+ "$ref": "#/definitions/Template"
+ },
+ "type": "array"
+ }
+ ],
"description": "The explanation text just below the header."
},
"header": {
@@ -8068,7 +8049,17 @@
"type": "object"
},
"explanation": {
- "$ref": "#/definitions/Template",
+ "anyOf": [
+ {
+ "$ref": "#/definitions/Template"
+ },
+ {
+ "items": {
+ "$ref": "#/definitions/Template"
+ },
+ "type": "array"
+ }
+ ],
"description": "The explanation text just below the header."
},
"header": {
@@ -8145,7 +8136,17 @@
"type": "object"
},
"explanation": {
- "$ref": "#/definitions/Template",
+ "anyOf": [
+ {
+ "$ref": "#/definitions/Template"
+ },
+ {
+ "items": {
+ "$ref": "#/definitions/Template"
+ },
+ "type": "array"
+ }
+ ],
"description": "The explanation text just below the header."
},
"field": {
@@ -8592,6 +8593,33 @@
],
"type": "object"
},
+ "donate": {
+ "additionalProperties": false,
+ "description": "Giving related text",
+ "properties": {
+ "content": {
+ "description": "The content of the page",
+ "items": {
+ "$ref": "#/definitions/Template"
+ },
+ "type": "array"
+ },
+ "header": {
+ "$ref": "#/definitions/Template",
+ "description": "The label for the link and header"
+ },
+ "prompt": {
+ "$ref": "#/definitions/Template",
+ "description": "The explanation of the link"
+ }
+ },
+ "required": [
+ "header",
+ "prompt",
+ "content"
+ ],
+ "type": "object"
+ },
"galleries": {
"additionalProperties": false,
"properties": {
@@ -9134,7 +9162,8 @@
"galleries",
"about",
"login",
- "rights"
+ "rights",
+ "donate"
],
"type": "object"
},