@glissandoo/lib 1.39.1 → 1.39.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/helpers/fileSections/orders.js +1 -1
- package/helpers/musicStyles/orders.js +1 -1
- package/helpers/{notifications.d.ts → notifications/index.d.ts} +4 -4
- package/helpers/{notifications.js → notifications/index.js} +3 -3
- package/helpers/notifications/placeholders.d.ts +4 -0
- package/helpers/notifications/placeholders.js +80 -0
- package/helpers/slate.d.ts +1 -0
- package/helpers/slate.js +18 -0
- package/helpers/utils.d.ts +4 -8
- package/helpers/utils.js +4 -94
- package/lang/ca.json +33 -31
- package/lang/de.json +67 -65
- package/lang/en.json +29 -36
- package/lang/es.json +28 -26
- package/lang/eu.json +28 -26
- package/lang/gl.json +30 -28
- package/lang/pt.json +28 -26
- package/models/Communication/index.js +2 -2
- package/models/Notification/types.d.ts +1 -0
- package/models/Notification/types.js +1 -0
- package/models/User/Notification/index.js +3 -3
- package/package.json +3 -3
- package/models/Partner/Partnership/Group/index.d.ts +0 -18
- package/models/Partner/Partnership/Group/index.js +0 -48
- package/models/Partner/Partnership/Group/types.d.ts +0 -15
- package/models/Partner/Partnership/Group/types.js +0 -2
- package/models/Partner/Partnership/Partner/Subscription/index.d.ts +0 -19
- package/models/Partner/Partnership/Partner/Subscription/index.js +0 -56
- package/models/Partner/Partnership/Partner/Subscription/types.d.ts +0 -21
- package/models/Partner/Partnership/Partner/Subscription/types.js +0 -9
- package/models/Partner/Partnership/Partner/index.d.ts +0 -9
- package/models/Partner/Partnership/Partner/index.js +0 -22
- package/models/Partner/Partnership/Partner/types.d.ts +0 -5
- package/models/Partner/Partnership/Partner/types.js +0 -2
- package/models/Partner/Partnership/Payment/index.d.ts +0 -8
- package/models/Partner/Partnership/Payment/index.js +0 -18
- package/models/Partner/Partnership/Payment/types.d.ts +0 -6
- package/models/Partner/Partnership/Payment/types.js +0 -2
- package/models/Partner/Partnership/Plan/basic.d.ts +0 -19
- package/models/Partner/Partnership/Plan/basic.js +0 -65
- package/models/Partner/Partnership/Plan/index.d.ts +0 -12
- package/models/Partner/Partnership/Plan/index.js +0 -31
- package/models/Partner/Partnership/Plan/types.d.ts +0 -23
- package/models/Partner/Partnership/Plan/types.js +0 -10
- package/models/Partner/Partnership/basic.d.ts +0 -17
- package/models/Partner/Partnership/basic.js +0 -58
- package/models/Partner/Partnership/index.d.ts +0 -23
- package/models/Partner/Partnership/index.js +0 -62
- package/models/Partner/Partnership/types.d.ts +0 -47
- package/models/Partner/Partnership/types.js +0 -13
|
@@ -15,6 +15,6 @@ const getOrderByMusicStyle = (musicStyle) => {
|
|
|
15
15
|
exports.getOrderByMusicStyle = getOrderByMusicStyle;
|
|
16
16
|
const orderByMusicStyle = (list, field, musicStyle) => {
|
|
17
17
|
const order = (0, exports.getOrderByMusicStyle)(musicStyle);
|
|
18
|
-
return (0, utils_1.
|
|
18
|
+
return (0, utils_1.sortByMatch)(list, field, order);
|
|
19
19
|
};
|
|
20
20
|
exports.orderByMusicStyle = orderByMusicStyle;
|
|
@@ -199,6 +199,6 @@ const getInstrumentsOrderByMusicStyle = (musicStyle) => {
|
|
|
199
199
|
exports.getInstrumentsOrderByMusicStyle = getInstrumentsOrderByMusicStyle;
|
|
200
200
|
const orderByMusicStyle = (list, field, musicStyle) => {
|
|
201
201
|
const order = (0, exports.getInstrumentsOrderByMusicStyle)(musicStyle);
|
|
202
|
-
return (0, utils_1.
|
|
202
|
+
return (0, utils_1.sortByMatch)(list, field, order);
|
|
203
203
|
};
|
|
204
204
|
exports.orderByMusicStyle = orderByMusicStyle;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { EventoFbFunctionsTypes } from '
|
|
2
|
-
import { NotificationActions } from '
|
|
3
|
-
import { UserNotificationSettings } from '
|
|
4
|
-
import { BadgesTypes } from '
|
|
1
|
+
import { EventoFbFunctionsTypes } from '../../functions/event';
|
|
2
|
+
import { NotificationActions } from '../../models/Notification/types';
|
|
3
|
+
import { UserNotificationSettings } from '../../models/User/types';
|
|
4
|
+
import { BadgesTypes } from '../badges';
|
|
5
5
|
export declare const notificationActionsBadges: Record<BadgesTypes, {
|
|
6
6
|
firstLevel: NotificationActions;
|
|
7
7
|
upLevel: NotificationActions;
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.userNotificationSettings = exports.notificationMultiplePractice = exports.notificationSinglePractice = exports.notificationPerformance = exports.editScopeToAction = exports.NotificationEventActions = exports.notificationActionsBadges = void 0;
|
|
4
|
-
const types_1 = require("
|
|
5
|
-
const types_2 = require("
|
|
6
|
-
const badges_1 = require("
|
|
4
|
+
const types_1 = require("../../models/Notification/types");
|
|
5
|
+
const types_2 = require("../../models/User/types");
|
|
6
|
+
const badges_1 = require("../badges");
|
|
7
7
|
exports.notificationActionsBadges = {
|
|
8
8
|
[badges_1.BadgesTypes.AccPerformances]: {
|
|
9
9
|
firstLevel: types_1.NotificationActions.BadgeAccPerformancesFirstLevel,
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { LanguagesTypes } from '../../lang';
|
|
2
|
+
import { MetaNotificationData } from '../../models/User/Notification/types';
|
|
3
|
+
export declare const replaceVarsBrackets: (string: string, values: MetaNotificationData) => string;
|
|
4
|
+
export declare const replaceKeysNotification: (text: string, values: MetaNotificationData, lang: LanguagesTypes) => string;
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.replaceKeysNotification = exports.replaceVarsBrackets = void 0;
|
|
7
|
+
const date_fns_1 = require("date-fns");
|
|
8
|
+
const date_fns_tz_1 = require("date-fns-tz");
|
|
9
|
+
const lodash_1 = require("lodash");
|
|
10
|
+
const lang_1 = require("../../lang");
|
|
11
|
+
const Instrument_1 = __importDefault(require("../../models/Instrument"));
|
|
12
|
+
var PlaceholderType;
|
|
13
|
+
(function (PlaceholderType) {
|
|
14
|
+
PlaceholderType["Instrument"] = "instrument";
|
|
15
|
+
PlaceholderType["Date"] = "date";
|
|
16
|
+
PlaceholderType["String"] = "string";
|
|
17
|
+
})(PlaceholderType || (PlaceholderType = {}));
|
|
18
|
+
const replaceVarsBrackets = (string, values) => {
|
|
19
|
+
const matches = string.match(/[^[\]]+(?=])/g);
|
|
20
|
+
let replaceString = string;
|
|
21
|
+
if (matches && matches.length > 0) {
|
|
22
|
+
matches.forEach((match) => {
|
|
23
|
+
replaceString = replaceString.replace(`[${match}]`, (0, lodash_1.get)(values, match));
|
|
24
|
+
});
|
|
25
|
+
}
|
|
26
|
+
return replaceString;
|
|
27
|
+
};
|
|
28
|
+
exports.replaceVarsBrackets = replaceVarsBrackets;
|
|
29
|
+
const getTypeAndPathFromPlaceholder = (placeholder) => {
|
|
30
|
+
const placeholderWithoutBrackets = placeholder.slice(1, -1);
|
|
31
|
+
const [type, key, formatValue] = placeholderWithoutBrackets.split(':');
|
|
32
|
+
const path = key.split('.');
|
|
33
|
+
return {
|
|
34
|
+
type: type,
|
|
35
|
+
path,
|
|
36
|
+
formatValue: (formatValue || 'shortDate'),
|
|
37
|
+
};
|
|
38
|
+
};
|
|
39
|
+
const replaceKeysNotification = (text, values, lang) => {
|
|
40
|
+
const placeholders = text.match(/(\{).+?(\})/g);
|
|
41
|
+
if (!placeholders || placeholders.length === 0) {
|
|
42
|
+
return text;
|
|
43
|
+
}
|
|
44
|
+
const { extra, ...other } = values;
|
|
45
|
+
const m = (0, lodash_1.mapValues)(other, (value) => value ? Object.values(value) : value);
|
|
46
|
+
const newValues = {
|
|
47
|
+
extra,
|
|
48
|
+
...m,
|
|
49
|
+
};
|
|
50
|
+
return placeholders.reduce((text, placeholder) => {
|
|
51
|
+
const { type, path, formatValue } = getTypeAndPathFromPlaceholder(placeholder);
|
|
52
|
+
switch (type) {
|
|
53
|
+
case PlaceholderType.Instrument: {
|
|
54
|
+
const instrumentId = (0, lodash_1.get)(newValues, path);
|
|
55
|
+
const instrument = new Instrument_1.default(instrumentId, lang);
|
|
56
|
+
if (!instrument)
|
|
57
|
+
return text;
|
|
58
|
+
return text.replace(placeholder, instrument.name.toLowerCase());
|
|
59
|
+
}
|
|
60
|
+
case PlaceholderType.Date: {
|
|
61
|
+
const [datetimeProp, timezoneProp] = path.pop()?.slice(1, -1).replace(' ', '').split(',') || [];
|
|
62
|
+
const datetime = (0, lodash_1.get)(newValues, [...path, datetimeProp]);
|
|
63
|
+
if (!datetime)
|
|
64
|
+
return text.replace(placeholder, '');
|
|
65
|
+
const timezone = (0, lodash_1.get)(newValues, [...path, timezoneProp]) || 'Europe/Madrid';
|
|
66
|
+
const zonedDatetime = (0, date_fns_tz_1.utcToZonedTime)(datetime.toDate(), timezone);
|
|
67
|
+
const dateLang = (0, lang_1.getDateLang)(lang);
|
|
68
|
+
const dateFormat = (0, date_fns_1.format)(zonedDatetime, (0, lodash_1.get)(dateLang.format, formatValue), {
|
|
69
|
+
locale: dateLang.locale,
|
|
70
|
+
});
|
|
71
|
+
return text.replace(placeholder, dateFormat);
|
|
72
|
+
}
|
|
73
|
+
case PlaceholderType.String:
|
|
74
|
+
return text.replace(placeholder, (0, lodash_1.get)(newValues, path));
|
|
75
|
+
default:
|
|
76
|
+
return text;
|
|
77
|
+
}
|
|
78
|
+
}, text);
|
|
79
|
+
};
|
|
80
|
+
exports.replaceKeysNotification = replaceKeysNotification;
|
package/helpers/slate.d.ts
CHANGED
|
@@ -12,4 +12,5 @@ export interface CustomTypes {
|
|
|
12
12
|
[key: string]: unknown;
|
|
13
13
|
}
|
|
14
14
|
export declare type ExtendedType<K extends ExtendableTypes, B> = unknown extends CustomTypes[K] ? B : CustomTypes[K];
|
|
15
|
+
export declare const serializeSlateBlock: (nodes: Descendant[]) => string;
|
|
15
16
|
export {};
|
package/helpers/slate.js
CHANGED
|
@@ -1,2 +1,20 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
2
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.serializeSlateBlock = void 0;
|
|
7
|
+
const get_1 = __importDefault(require("lodash/get"));
|
|
8
|
+
const serializeSlateBlock = (nodes) => {
|
|
9
|
+
return nodes
|
|
10
|
+
.map((node) => {
|
|
11
|
+
const children = (0, get_1.default)(node, 'children');
|
|
12
|
+
if (children) {
|
|
13
|
+
return (0, exports.serializeSlateBlock)(children);
|
|
14
|
+
}
|
|
15
|
+
const text = (0, get_1.default)(node, 'text');
|
|
16
|
+
return text || '';
|
|
17
|
+
})
|
|
18
|
+
.join(' ');
|
|
19
|
+
};
|
|
20
|
+
exports.serializeSlateBlock = serializeSlateBlock;
|
package/helpers/utils.d.ts
CHANGED
|
@@ -1,8 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
export declare const replaceKeysNotification: (text: string, values: MetaNotificationData, lang: LanguagesTypes) => string;
|
|
6
|
-
export declare const serializeSlateBlock: (nodes: Descendant[]) => string;
|
|
7
|
-
export declare const orderByMatch: <T>(list: T[], field: keyof T, order: string[]) => T[];
|
|
8
|
-
export declare const enumToObj: <T extends Record<string, string | number | boolean>>(enumObject: Record<string, string>, defaultValue: string | number | boolean) => T;
|
|
1
|
+
export declare const sortByMatch: <T>(list: T[], field: keyof T, order: string[]) => T[];
|
|
2
|
+
export declare const enumToObj: (enumObject: Record<string, string>, defaultValue: string | number | boolean) => {
|
|
3
|
+
[k: string]: string | number | boolean;
|
|
4
|
+
};
|
package/helpers/utils.js
CHANGED
|
@@ -3,95 +3,10 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.enumToObj = exports.
|
|
7
|
-
const date_fns_1 = require("date-fns");
|
|
8
|
-
const date_fns_tz_1 = require("date-fns-tz");
|
|
6
|
+
exports.enumToObj = exports.sortByMatch = void 0;
|
|
9
7
|
const lodash_1 = require("lodash");
|
|
10
8
|
const get_1 = __importDefault(require("lodash/get"));
|
|
11
|
-
const
|
|
12
|
-
const Instrument_1 = __importDefault(require("../models/Instrument"));
|
|
13
|
-
const replaceVarsBrackets = (string, values) => {
|
|
14
|
-
const matches = string.match(/[^[\]]+(?=])/g);
|
|
15
|
-
let replaceString = string;
|
|
16
|
-
if (matches && matches.length > 0) {
|
|
17
|
-
matches.forEach((match) => {
|
|
18
|
-
replaceString = replaceString.replace(`[${match}]`, (0, get_1.default)(values, match));
|
|
19
|
-
});
|
|
20
|
-
}
|
|
21
|
-
return replaceString;
|
|
22
|
-
};
|
|
23
|
-
exports.replaceVarsBrackets = replaceVarsBrackets;
|
|
24
|
-
const replaceKeysNotification = (text, values, lang) => {
|
|
25
|
-
const dateLang = (0, lang_1.getDateLang)(lang);
|
|
26
|
-
const matches = text.match(/(\{).+?(\})/g);
|
|
27
|
-
const { extra, ...other } = values;
|
|
28
|
-
const newValues = { extra };
|
|
29
|
-
Object.keys(other || {}).forEach((key) => Object.assign(newValues, {
|
|
30
|
-
[key]: Object.values((0, get_1.default)(other, key)),
|
|
31
|
-
}));
|
|
32
|
-
let replaceString = text;
|
|
33
|
-
if (!matches || matches.length === 0) {
|
|
34
|
-
return replaceString;
|
|
35
|
-
}
|
|
36
|
-
for (const match of matches) {
|
|
37
|
-
const value = match.slice(1, -1);
|
|
38
|
-
const typeKeyMatch = value.split(':');
|
|
39
|
-
const type = typeKeyMatch[0];
|
|
40
|
-
const key = typeKeyMatch[1];
|
|
41
|
-
const path = key.split('.');
|
|
42
|
-
switch (type) {
|
|
43
|
-
case 'instrument': {
|
|
44
|
-
const instrumentId = (0, get_1.default)(newValues, path);
|
|
45
|
-
const instrument = new Instrument_1.default(instrumentId, lang);
|
|
46
|
-
if (instrument) {
|
|
47
|
-
replaceString = replaceString.replace(match, instrument.name.toLowerCase());
|
|
48
|
-
}
|
|
49
|
-
break;
|
|
50
|
-
}
|
|
51
|
-
case 'date': {
|
|
52
|
-
const timestamp = (0, get_1.default)(newValues, path);
|
|
53
|
-
if (!timestamp) {
|
|
54
|
-
replaceString = replaceString.replace(match, '');
|
|
55
|
-
}
|
|
56
|
-
else {
|
|
57
|
-
const timezonePath = path;
|
|
58
|
-
timezonePath[path.length - 1] = 'timezone';
|
|
59
|
-
const timezone = (0, get_1.default)(newValues, timezonePath) || 'Europe/Madrid';
|
|
60
|
-
const dateUTC = (0, date_fns_tz_1.utcToZonedTime)(timestamp.toDate(), timezone);
|
|
61
|
-
const formatValue = typeKeyMatch[2] || 'shortDate';
|
|
62
|
-
const dateFormat = (0, date_fns_1.format)(dateUTC, (0, get_1.default)(dateLang.format, formatValue), {
|
|
63
|
-
locale: dateLang.locale,
|
|
64
|
-
});
|
|
65
|
-
replaceString = replaceString.replace(match, dateFormat);
|
|
66
|
-
}
|
|
67
|
-
break;
|
|
68
|
-
}
|
|
69
|
-
case 'string': {
|
|
70
|
-
replaceString = replaceString.replace(match, (0, get_1.default)(newValues, path));
|
|
71
|
-
break;
|
|
72
|
-
}
|
|
73
|
-
default: {
|
|
74
|
-
break;
|
|
75
|
-
}
|
|
76
|
-
}
|
|
77
|
-
}
|
|
78
|
-
return replaceString;
|
|
79
|
-
};
|
|
80
|
-
exports.replaceKeysNotification = replaceKeysNotification;
|
|
81
|
-
const serializeSlateBlock = (nodes) => {
|
|
82
|
-
return nodes
|
|
83
|
-
.map((node) => {
|
|
84
|
-
const children = (0, get_1.default)(node, 'children');
|
|
85
|
-
if (children) {
|
|
86
|
-
return (0, exports.serializeSlateBlock)(children);
|
|
87
|
-
}
|
|
88
|
-
const text = (0, get_1.default)(node, 'text');
|
|
89
|
-
return text || '';
|
|
90
|
-
})
|
|
91
|
-
.join(' ');
|
|
92
|
-
};
|
|
93
|
-
exports.serializeSlateBlock = serializeSlateBlock;
|
|
94
|
-
const orderByMatch = (list, field, order) => {
|
|
9
|
+
const sortByMatch = (list, field, order) => {
|
|
95
10
|
const [match, noMatch] = (0, lodash_1.partition)(list, (item) => order.includes((0, get_1.default)(item, field)));
|
|
96
11
|
const sortedmatch = (0, lodash_1.sortBy)(match, [
|
|
97
12
|
(player) => order.indexOf((0, get_1.default)(player, field)),
|
|
@@ -100,11 +15,6 @@ const orderByMatch = (list, field, order) => {
|
|
|
100
15
|
const sortedNoMatch = (0, lodash_1.orderBy)(noMatch, field, 'asc');
|
|
101
16
|
return [...sortedmatch, ...sortedNoMatch];
|
|
102
17
|
};
|
|
103
|
-
exports.
|
|
104
|
-
const enumToObj = (enumObject, defaultValue) =>
|
|
105
|
-
return Object.values(enumObject).reduce((acc, key) => ({
|
|
106
|
-
...acc,
|
|
107
|
-
[key]: defaultValue,
|
|
108
|
-
}), {});
|
|
109
|
-
};
|
|
18
|
+
exports.sortByMatch = sortByMatch;
|
|
19
|
+
const enumToObj = (enumObject, defaultValue) => Object.fromEntries(Object.values(enumObject).map((key) => [key, defaultValue]));
|
|
110
20
|
exports.enumToObj = enumToObj;
|
package/lang/ca.json
CHANGED
|
@@ -30,15 +30,17 @@
|
|
|
30
30
|
"group.players.leave.title": "Un músic ha abandonat un grup",
|
|
31
31
|
"group.players.remove.text": "Ja no formes part de {string:group.0.displayName}",
|
|
32
32
|
"group.players.remove.title": "Grup suprimit",
|
|
33
|
+
"groupPlayer.switchInstruments.byAdmin.text": "Un administrador ha modificat els teus instruments.",
|
|
34
|
+
"groupPlayer.switchInstruments.byAdmin.title": "Instruments modificats",
|
|
33
35
|
"instruments.accordion": "Acordió",
|
|
34
36
|
"instruments.agogo": "Agogó",
|
|
35
37
|
"instruments.altoClarinet": "Clarinet Alt",
|
|
36
|
-
"instruments.altoSaxophone": "
|
|
38
|
+
"instruments.altoSaxophone": "Saxòfon alt",
|
|
37
39
|
"instruments.bagpipes": "Sac de gemecs",
|
|
38
40
|
"instruments.bandurria": "Bandúrria",
|
|
39
41
|
"instruments.banjo": "Banjo",
|
|
40
42
|
"instruments.baritone": "Baríton",
|
|
41
|
-
"instruments.baritoneSax": "
|
|
43
|
+
"instruments.baritoneSax": "Saxòfon baríton",
|
|
42
44
|
"instruments.bass": "Baix eléctric",
|
|
43
45
|
"instruments.bass-choir": "Baix",
|
|
44
46
|
"instruments.bass-drum": "Bombo",
|
|
@@ -76,7 +78,7 @@
|
|
|
76
78
|
"instruments.keyboard": "Teclats",
|
|
77
79
|
"instruments.littleClarinet": "Requinto",
|
|
78
80
|
"instruments.low-flute": "Flauta baixa",
|
|
79
|
-
"instruments.lowSaxophone": "
|
|
81
|
+
"instruments.lowSaxophone": "Saxòfon baix",
|
|
80
82
|
"instruments.lowTrombone": "Trombó baix",
|
|
81
83
|
"instruments.lowTrumpet": "Trompeta baixa",
|
|
82
84
|
"instruments.lute": "Llaüt",
|
|
@@ -98,14 +100,14 @@
|
|
|
98
100
|
"instruments.singer": "Cantant",
|
|
99
101
|
"instruments.snareDrum": "Caixa",
|
|
100
102
|
"instruments.soprano": "Soprano",
|
|
101
|
-
"instruments.sopranoSaxophone": "
|
|
103
|
+
"instruments.sopranoSaxophone": "Saxòfon soprano",
|
|
102
104
|
"instruments.surdo": "Surdo",
|
|
103
105
|
"instruments.tabal": "Tabal",
|
|
104
106
|
"instruments.tambourine": "Pandereta",
|
|
105
107
|
"instruments.tambourineBrazilian": "Tamborín",
|
|
106
108
|
"instruments.tarota": "Tarota",
|
|
107
109
|
"instruments.tenor": "Tenor",
|
|
108
|
-
"instruments.tenorSax": "
|
|
110
|
+
"instruments.tenorSax": "Saxòfon tenor",
|
|
109
111
|
"instruments.timbalBrazilian": "Timbal",
|
|
110
112
|
"instruments.timpani": "Timbals",
|
|
111
113
|
"instruments.trombone": "Trombó",
|
|
@@ -150,13 +152,13 @@
|
|
|
150
152
|
"performance.edit.stage.title": "Concert - pla modificat",
|
|
151
153
|
"performance.edit.title.text": "S'ha actualitzat el títol de {string:event.0.displayName}",
|
|
152
154
|
"performance.edit.title.title": "Acte - canvi de nom",
|
|
153
|
-
"performance.eveningReminder.confirm.text": "{string:event.0.displayName} de {string:group.0.displayName} demà a les {date:event.0.datetime:time}",
|
|
155
|
+
"performance.eveningReminder.confirm.text": "{string:event.0.displayName} de {string:group.0.displayName} demà a les {date:event.0.[datetime,timezone]:time}",
|
|
154
156
|
"performance.eveningReminder.confirm.title": "Recordatori acte",
|
|
155
|
-
"performance.eveningReminder.pending.text": "Confirma l'assistència per {string:event.0.displayName} de {string:group.0.displayName} demà a les {date:event.0.datetime:time}",
|
|
157
|
+
"performance.eveningReminder.pending.text": "Confirma l'assistència per {string:event.0.displayName} de {string:group.0.displayName} demà a les {date:event.0.[datetime,timezone]:time}",
|
|
156
158
|
"performance.eveningReminder.pending.title": "Recordatori acte",
|
|
157
|
-
"performance.morningReminder.confirm.text": "{string:event.0.displayName} de {string:group.0.displayName} avui a les {date:event.0.datetime:time}",
|
|
159
|
+
"performance.morningReminder.confirm.text": "{string:event.0.displayName} de {string:group.0.displayName} avui a les {date:event.0.[datetime,timezone]:time}",
|
|
158
160
|
"performance.morningReminder.confirm.title": "Recordatori acte",
|
|
159
|
-
"performance.morningReminder.pending.text": "Confirma l'assistència per {string:event.0.displayName} de {string:group.0.displayName} avui a les {date:event.0.datetime:time}",
|
|
161
|
+
"performance.morningReminder.pending.text": "Confirma l'assistència per {string:event.0.displayName} de {string:group.0.displayName} avui a les {date:event.0.[datetime,timezone]:time}",
|
|
160
162
|
"performance.morningReminder.pending.title": "Recordatori acte",
|
|
161
163
|
"performance.players.add.text": "T'han afegit a {string:event.0.displayName}",
|
|
162
164
|
"performance.players.add.title": "Nou acte",
|
|
@@ -167,47 +169,47 @@
|
|
|
167
169
|
"performance.rollCallReminder.text": "Ara es el millor moment per a passar llista",
|
|
168
170
|
"performance.rollCallReminder.title": "Pots passar llista a l'assaig",
|
|
169
171
|
"practice": "Assaig",
|
|
170
|
-
"practice.assistance.confirm.text": "{string:user.0.displayName} ha confirmat l'assistència a l'assaig del {date:event.0.datetime:date}",
|
|
172
|
+
"practice.assistance.confirm.text": "{string:user.0.displayName} ha confirmat l'assistència a l'assaig del {date:event.0.[datetime,timezone]:date}",
|
|
171
173
|
"practice.assistance.confirm.title": "Assistència confirmada",
|
|
172
|
-
"practice.assistance.decline.text": "{string:user.0.displayName} ha rebutjat l'assistència a l'assaig del {date:event.0.datetime:date}",
|
|
174
|
+
"practice.assistance.decline.text": "{string:user.0.displayName} ha rebutjat l'assistència a l'assaig del {date:event.0.[datetime,timezone]:date}",
|
|
173
175
|
"practice.assistance.decline.title": "Assistència rebutjada",
|
|
174
|
-
"practice.cancel.text": "S'ha cancel·lat l'assaig del {date:event.0.datetime:date} de {string:group.0.displayName}",
|
|
176
|
+
"practice.cancel.text": "S'ha cancel·lat l'assaig del {date:event.0.[datetime,timezone]:date} de {string:group.0.displayName}",
|
|
175
177
|
"practice.cancel.title": "Assaig cancel·lat",
|
|
176
|
-
"practice.create.text": "S'ha afegit un assaig de {string:group.0.displayName} el {date:event.0.datetime:datetime}",
|
|
178
|
+
"practice.create.text": "S'ha afegit un assaig de {string:group.0.displayName} el {date:event.0.[datetime,timezone]:datetime}",
|
|
177
179
|
"practice.create.title": "Nou assaig",
|
|
178
|
-
"practice.edit.attendance.text": "S'ha actualitzat el límit d'assistència del assaig de {date:event.0.datetime:date}",
|
|
180
|
+
"practice.edit.attendance.text": "S'ha actualitzat el límit d'assistència del assaig de {date:event.0.[datetime,timezone]:date}",
|
|
179
181
|
"practice.edit.attendance.title": "Assaig - límit d'assistència modificat",
|
|
180
|
-
"practice.edit.comments.text": "S0han actualitzat els comentaris del assaig de {date:event.0.datetime:date}",
|
|
182
|
+
"practice.edit.comments.text": "S0han actualitzat els comentaris del assaig de {date:event.0.[datetime,timezone]:date}",
|
|
181
183
|
"practice.edit.comments.title": "Assaig - comentaris actualitzats",
|
|
182
|
-
"practice.edit.datetime.text": "S'ha actualitzat l'horari de l'assaig del {date:event.0.datetime:date}",
|
|
184
|
+
"practice.edit.datetime.text": "S'ha actualitzat l'horari de l'assaig del {date:event.0.[datetime,timezone]:date}",
|
|
183
185
|
"practice.edit.datetime.title": "Assaig - canvi d'horari",
|
|
184
|
-
"practice.edit.locality.text": "S'ha actualitzat l'adreça de l'assaig del {date:event.0.datetime:date}",
|
|
186
|
+
"practice.edit.locality.text": "S'ha actualitzat l'adreça de l'assaig del {date:event.0.[datetime,timezone]:date}",
|
|
185
187
|
"practice.edit.locality.title": "Assaig - l'adreça ha canviat",
|
|
186
|
-
"practice.edit.repertory.text": "S'ha actualitzat el repertori del assaig del {date:event.0.datetime:date}",
|
|
188
|
+
"practice.edit.repertory.text": "S'ha actualitzat el repertori del assaig del {date:event.0.[datetime,timezone]:date}",
|
|
187
189
|
"practice.edit.repertory.title": "Assaig - actualització de repertori",
|
|
188
|
-
"practice.edit.stage.text": "El pla del assaig {date:event.0.datetime:date} ha estat actualitzat",
|
|
190
|
+
"practice.edit.stage.text": "El pla del assaig {date:event.0.[datetime,timezone]:date} ha estat actualitzat",
|
|
189
191
|
"practice.edit.stage.title": "Assaig - pla actualitzat",
|
|
190
|
-
"practice.edit.title.text": "S'ha actualitzat el títol de l'assaig del {date:event.0.datetime:date}",
|
|
192
|
+
"practice.edit.title.text": "S'ha actualitzat el títol de l'assaig del {date:event.0.[datetime,timezone]:date}",
|
|
191
193
|
"practice.edit.title.title": "Assaig - canvi de nom",
|
|
192
|
-
"practice.eveningReminder.confirm.text": "Assaig de {string:group.0.displayName} demà a les {date:event.0.datetime:time}",
|
|
194
|
+
"practice.eveningReminder.confirm.text": "Assaig de {string:group.0.displayName} demà a les {date:event.0.[datetime,timezone]:time}",
|
|
193
195
|
"practice.eveningReminder.confirm.title": "Recordatori assaig",
|
|
194
|
-
"practice.eveningReminder.pending.text": "Confirma l'assistència per l'assaig de {string:group.0.displayName} demà a les {date:event.0.datetime:time}",
|
|
196
|
+
"practice.eveningReminder.pending.text": "Confirma l'assistència per l'assaig de {string:group.0.displayName} demà a les {date:event.0.[datetime,timezone]:time}",
|
|
195
197
|
"practice.eveningReminder.pending.title": "Recordatori assaig",
|
|
196
|
-
"practice.morningReminder.confirm.text": "Assaig de {string:group.0.displayName} avui a les {date:event.0.datetime:time}",
|
|
198
|
+
"practice.morningReminder.confirm.text": "Assaig de {string:group.0.displayName} avui a les {date:event.0.[datetime,timezone]:time}",
|
|
197
199
|
"practice.morningReminder.confirm.title": "Recordatori assaig",
|
|
198
|
-
"practice.morningReminder.pending.text": "Confirma l'assistència per l'assaig de {string:group.0.displayName} avui a les {date:event.0.datetime:time}",
|
|
200
|
+
"practice.morningReminder.pending.text": "Confirma l'assistència per l'assaig de {string:group.0.displayName} avui a les {date:event.0.[datetime,timezone]:time}",
|
|
199
201
|
"practice.morningReminder.pending.title": "Recordatori assaig",
|
|
200
|
-
"practice.players.add.text": "T'han afegit a un assaig de {string:group.0.displayName} programat pel {date:event.0.datetime:datetime}",
|
|
202
|
+
"practice.players.add.text": "T'han afegit a un assaig de {string:group.0.displayName} programat pel {date:event.0.[datetime,timezone]:datetime}",
|
|
201
203
|
"practice.players.add.title": "Nou assaig",
|
|
202
|
-
"practice.players.remove.text": "Has estat esborrat de l'assaig de {string:group.0.displayName} pel {date:event.0.datetime:date}",
|
|
204
|
+
"practice.players.remove.text": "Has estat esborrat de l'assaig de {string:group.0.displayName} pel {date:event.0.[datetime,timezone]:date}",
|
|
203
205
|
"practice.players.remove.title": "Assaig cancel·lat",
|
|
204
|
-
"practice.reminder.text": "És necessari que confirmes l'assistència a l'assaig del {date:event.0.datetime:datetime} de {string:group.0.displayName}",
|
|
206
|
+
"practice.reminder.text": "És necessari que confirmes l'assistència a l'assaig del {date:event.0.[datetime,timezone]:datetime} de {string:group.0.displayName}",
|
|
205
207
|
"practice.reminder.title": "Recordatori per confirmar assistència",
|
|
206
208
|
"practice.rollCallReminder.text": "Ara es el millor moment per a passar llista",
|
|
207
209
|
"practice.rollCallReminder.title": "Pots passar llista al vostre darrer assaig",
|
|
208
|
-
"practices.cancel.text": "S'han cancel·lat {string:extra.num} assajos de {string:group.0.displayName} des del {date:event.0.datetime:shortDate} fins al {date:event.1.datetime:shortDate}",
|
|
210
|
+
"practices.cancel.text": "S'han cancel·lat {string:extra.num} assajos de {string:group.0.displayName} des del {date:event.0.[datetime,timezone]:shortDate} fins al {date:event.1.[datetime,timezone]:shortDate}",
|
|
209
211
|
"practices.cancel.title": "Assajos cancel·lats",
|
|
210
|
-
"practices.create.text": "S'han afegit {string:extra.num} assajos de {string:group.0.displayName} des del {date:event.0.datetime:shortDate} fins al {date:event.1.datetime:shortDate}",
|
|
212
|
+
"practices.create.text": "S'han afegit {string:extra.num} assajos de {string:group.0.displayName} des del {date:event.0.[datetime,timezone]:shortDate} fins al {date:event.1.[datetime,timezone]:shortDate}",
|
|
211
213
|
"practices.create.title": "Nous assajos",
|
|
212
214
|
"practices.edit.attendance.text": "Una serie d'assajos han actualitzat el seu límit d'assistència",
|
|
213
215
|
"practices.edit.attendance.title": "Assajos - canvi de límit d'assistència",
|
|
@@ -223,9 +225,9 @@
|
|
|
223
225
|
"practices.edit.stage.title": "Assajos - pla actualitzat",
|
|
224
226
|
"practices.edit.title.text": "Una serie d'assajos han actualitzat el seu títol",
|
|
225
227
|
"practices.edit.title.title": "Assajos - canvi de nom",
|
|
226
|
-
"practices.players.add.text": "Us han afegit a una sèrie d'assajos entre {date:event.0.datetime:shortDate} i {date:event.1.datetime:shortDate}",
|
|
228
|
+
"practices.players.add.text": "Us han afegit a una sèrie d'assajos entre {date:event.0.[datetime,timezone]:shortDate} i {date:event.1.[datetime,timezone]:shortDate}",
|
|
227
229
|
"practices.players.add.title": "Nous assajos",
|
|
228
|
-
"practices.players.remove.text": "Us han eliminat d'una sèrie d'assajos entre {date:event.0.datetime:shortDate} i {date:event.1.datetime:shortDate}",
|
|
230
|
+
"practices.players.remove.text": "Us han eliminat d'una sèrie d'assajos entre {date:event.0.[datetime,timezone]:shortDate} i {date:event.1.[datetime,timezone]:shortDate}",
|
|
229
231
|
"practices.players.remove.title": "Assajos eliminats",
|
|
230
232
|
"repertoireTags.1": "1r",
|
|
231
233
|
"repertoireTags.2": "2n",
|