waha-shared 1.0.553 → 1.0.555
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/dist/chunks/{chunk-K3ET7L2W.mjs → chunk-25H6LPID.mjs} +51 -2
- package/dist/chunks/{chunk-44FF5O3D.mjs → chunk-3GXMLGCF.mjs} +2 -2
- package/dist/chunks/{chunk-RQR7ADQ3.mjs → chunk-5JMRXTQB.mjs} +3 -1
- package/dist/chunks/{chunk-XA5TMOJO.mjs → chunk-6RO6HPL6.mjs} +2033 -1814
- package/dist/chunks/{chunk-OCE4ZKES.mjs → chunk-7WGNWNUX.mjs} +16 -16
- package/dist/chunks/{chunk-CNS62VOF.mjs → chunk-DCAA23B2.mjs} +18 -18
- package/dist/chunks/{chunk-RKEA5BP2.mjs → chunk-EACVJPMH.mjs} +8 -8
- package/dist/chunks/{chunk-DHR3J5ZL.mjs → chunk-FFYD6FOP.mjs} +22 -22
- package/dist/chunks/{chunk-7HGUA25M.mjs → chunk-IYDI5F2O.mjs} +1 -2
- package/dist/chunks/{chunk-PFSIHKAE.mjs → chunk-JCIE5T4Y.mjs} +1 -1
- package/dist/chunks/{chunk-JHDWCLXZ.mjs → chunk-LJPLTCGH.mjs} +1 -1
- package/dist/chunks/{chunk-7VYOSR3V.mjs → chunk-NIDAAFLH.mjs} +65 -253
- package/dist/chunks/{chunk-3KIKY44D.mjs → chunk-T5MYHXI6.mjs} +1 -1
- package/dist/chunks/{chunk-FBVDZGXA.mjs → chunk-VYO3H52S.mjs} +3 -1
- package/dist/chunks/{chunk-KCYVCCJ5.mjs → chunk-YOWQLQC3.mjs} +1 -2
- package/dist/chunks/{chunk-LZ7M5WP7.mjs → chunk-Z6YHVSNG.mjs} +1 -1
- package/dist/data/bibleStatuses/index.mjs +1 -1
- package/dist/data/bibleStatuses.mjs +1 -1
- package/dist/data/curriculumFoundations/curriculumFoundations.zod.d.ts +1 -1
- package/dist/data/curriculumFoundations/curriculumFoundations.zod.mjs +1 -1
- package/dist/data/curriculumFoundations/index.d.ts +1 -1
- package/dist/data/curriculumFoundations/index.mjs +2 -2
- package/dist/data/curriculumFoundations.mjs +2 -2
- package/dist/data/curriculumTopics/curriculumTopics.zod.d.ts +1 -1
- package/dist/data/curriculumTopics/curriculumTopics.zod.mjs +1 -1
- package/dist/data/curriculumTopics/index.d.ts +1 -1
- package/dist/data/curriculumTopics/index.mjs +2 -2
- package/dist/data/curriculumTopics.mjs +2 -2
- package/dist/data/mediaDurations/index.mjs +1 -1
- package/dist/data/mediaDurations.mjs +1 -1
- package/dist/data/releaseNotes/index.mjs +1 -1
- package/dist/data/releaseNotes.mjs +1 -1
- package/dist/data/translationsFtb/index.mjs +1 -1
- package/dist/data/translationsFtb.mjs +1 -1
- package/dist/data/translationsIntroduction/index.mjs +1 -1
- package/dist/data/translationsIntroduction.mjs +1 -1
- package/dist/data/translationsQuestion/index.mjs +1 -1
- package/dist/data/translationsQuestion.mjs +1 -1
- package/dist/data/translationsSet/index.mjs +1 -1
- package/dist/data/translationsSet.mjs +1 -1
- package/dist/data/translationsSpokenQuestion/index.mjs +1 -1
- package/dist/data/translationsSpokenQuestion.mjs +1 -1
- package/dist/functions/bibles.mjs +2 -2
- package/dist/functions/crowdin.d.ts +104 -13
- package/dist/functions/crowdin.mjs +99 -14
- package/dist/functions/languages.mjs +12 -12
- package/dist/functions/media.mjs +2 -2
- package/dist/functions/scripturePassages.mjs +13 -13
- package/dist/functions/sentry.d.ts +1 -0
- package/dist/functions/sentry.mjs +6 -0
- package/dist/functions/sets.mjs +15 -15
- package/package.json +1 -1
|
@@ -176,7 +176,7 @@ var require_translationsIntroduction = __commonJS({
|
|
|
176
176
|
"03.007.010": "En una lecci\xF3n anterior examinamos la obediencia, y hoy volveremos a verla. \xBFPor qu\xE9? Porque Jes\xFAs y el resto de las Escrituras hacen mucho hincapi\xE9 en ella. Jes\xFAs asoci\xF3 fuertemente la obediencia y el discipulado. Dijo que quienes le aman le obedecer\xE1n. Dijo que el hombre sabio es aquel que oye sus palabras y las pone en pr\xE1ctica. Envi\xF3 a sus disc\xEDpulos, mand\xE1ndoles hacer disc\xEDpulos de todas las naciones y ense\xF1\xE1ndoles a obedecer todo lo que \xC9l mand\xF3. No es de extra\xF1ar que, cuando estudiamos los movimientos, descubramos que ense\xF1ar la obediencia a Dios y a sus Escrituras es un elemento esencial para formar disc\xEDpulos fuertes y sanos que se multipliquen. Hoy, para profundizar en este importante principio de los MHD, examinaremos el tema de la Obediencia.",
|
|
177
177
|
"03.007.011": 'No ver\xE1s un Movimiento de Hacedores de \u201CDisc\xEDpulos\u201D sin \u201CDisc\xEDpulos\u201D. \xA1Jes\xFAs hizo disc\xEDpulos! Jes\xFAs nos mand\xF3 a ir y hacer disc\xEDpulos. En la Biblia, uno de los nombres m\xE1s comunes para la primera comunidad de seguidores de Jes\xFAs era "disc\xEDpulos". Ser\xEDa dif\xEDcil entender las ense\xF1anzas de Jes\xFAs sin comprender su deseo de formar disc\xEDpulos sanos. Y ser\xEDa dif\xEDcil cumplir los mandatos de Jes\xFAs si alguien estuviera confundido acerca de qu\xE9 es un disc\xEDpulo. Por lo tanto, en esta lecci\xF3n veremos m\xE1s de cerca lo que significa ser un disc\xEDpulo b\xEDblico. ',
|
|
178
178
|
"03.007.012": "A menudo a los practicantes les lleva a\xF1os luchar con las complejidades del ejemplo de Pablo de \xABhacerse todo para todos\xBB. Sin embargo, \xA1no deber\xEDamos dejarnos intimidar por el tama\xF1o y la complejidad de este tema del \xABCompromiso Cultural\xBB! Los practicantes de los movimientos necesitan pensar de manera estrat\xE9gica e intencional sobre las palabras que usamos, la comida que comemos, la ropa que vestimos, c\xF3mo celebramos las festividades, c\xF3mo interactuamos con la gente y m\xE1s. Del mismo modo, los nuevos grupos de descubrimiento y las nuevas comunidades creyentes necesitan el espacio y la libertad para luchar b\xEDblicamente con estas cuestiones culturales sin que personas ajenas les impongan sus preferencias culturales. Por eso, hoy analizaremos una peque\xF1a muestra de los muchos, much\xEDsimos pasajes que se centran en la Importancia del Compromiso Cultural.",
|
|
179
|
-
eq: 'La Biblia est\xE1 llena de pasajes sobre
|
|
179
|
+
eq: 'La Biblia est\xE1 llena de pasajes sobre buscar sabio consejo, sobre ser honestos y rendir cuentas y aprender unos de otros, sobre planificar y sobre actuar con sabidur\xEDa. As\xED que, ahora que hemos completado este nuevo conjunto de historias, es momento de detenernos, evaluar y planificar. \xBFC\xF3mo vas a avanzar? \xBFEn qu\xE9 necesitas seguir desarroll\xE1ndote? \xBFHay \xE1reas donde te encuentres "estancado" y necesites m\xE1s capacitaci\xF3n? Tomemos un momento para responder a las siguientes preguntas que pueden ayudarte a ti y a tu grupo a reflexionar y planificar.\n\n1. \xBFQu\xE9 tan bien has puesto en pr\xE1ctica tus declaraciones de "Yo har\xE9\u2026" durante los \xFAltimos meses? \xBFHas sido oidor y hacedor de la Palabra? \xBFDe qu\xE9 manera el ser oidor y hacedor de la palabra ha impactado tu ministerio y a ti personalmente?\n\n2. Con frecuencia hemos utilizado el diagrama del barco y las velas para representar las 7 Pr\xE1cticas de un Disc\xEDpulo que se Multiplica. Tomemos un minuto ahora para volver a dibujar ese diagrama de memoria.\n\n3. Cada componente del diagrama del barco y las velas representa tanto un avance hacia un nuevo nivel como un \xE1rea donde alguien puede quedarse estancado. \xBFEn qu\xE9 aspecto sientes que has tenido el mayor avance durante los \xFAltimos meses? \xBFD\xF3nde sientes que est\xE1s estancado?\n\n4. Puesto que la oraci\xF3n es el motor principal de los movimientos, \xBFc\xF3mo te ha ido al practicar la oraci\xF3n extraordinaria?\n\n5. Detr\xE1s de todo movimiento siempre hay una visi\xF3n grande, del tama\xF1o de Dios. Esta visi\xF3n influye en todo lo que hacemos. A partir de todos los pasajes que hemos revisado, \xBFc\xF3mo evaluar\xEDas el crecimiento de tu visi\xF3n? \xBFEst\xE1n tus acciones alineadas con esa visi\xF3n? Si es as\xED, \xA1excelente! Sigue adelante (G\xE1latas 6:9). Si no es as\xED, \xBFqu\xE9 necesita cambiar?\n\n6. No todos est\xE1n listos para responder al evangelio, y no todos son una persona de paz. Por eso, filtramos para saber en qui\xE9n invertir. \xBFC\xF3mo te est\xE1 yendo con el filtrado y al vivir con prop\xF3sito? \xBFQu\xE9 te ha funcionado bien? \xBFEn qu\xE9 necesitas a\xFAn m\xE1s pr\xE1ctica? \xBFQu\xE9 herramientas de filtrado has probado? \xBFNecesitas m\xE1s herramientas de filtrado?\n\n7. Cuando encuentras a una posible persona de paz, buscas ayudarle a iniciar un Grupo de Descubrimiento dentro de su oikos. \xBFC\xF3mo te est\xE1 yendo al hacer la transici\xF3n de filtrar a invitar a las personas a comenzar un Estudio B\xEDblico de Descubrimiento?\n\n8. Cuando encuentras a alguien que muestra inter\xE9s en las cosas del Reino y quiere estudiar m\xE1s, debes ser intencional en guiar a esa persona para que alcance con eficacia su red de contactos. \xBFC\xF3mo te est\xE1 yendo con este acompa\xF1amiento?\n\n9. Una vez que se inicia un nuevo grupo de descubrimiento, necesitas guiar eficazmente a la posible persona de paz para que facilite bien el proceso de descubrimiento en su grupo, sea alguien que haga preguntas y no un maestro, siga una serie simple de preguntas y se mantenga enfocado en el texto. \xBFC\xF3mo te est\xE1 yendo en estas \xE1reas?\n\n10. \xBFEst\xE1n los grupos recorriendo los Conjuntos Fundamentales desde el principio y sin saltarse temas? Si los grupos est\xE1n realizando estudios tem\xE1ticos, \xBFbuscan con rapidez oportunidades para hacer la transici\xF3n hacia las lecciones fundamentales?\n\n11. El desarrollo del liderazgo es fundamental para que surja cualquier movimiento. En los grupos de descubrimiento, \xBFest\xE1s siendo intencional en discipular a las posibles personas de paz de manera que desarrolle su liderazgo?\n\n12. Tomando como base toda esta reflexi\xF3n, \xBFcu\xE1l es la manera correcta de avanzar, tanto a nivel individual como en grupo?'
|
|
180
180
|
}
|
|
181
181
|
},
|
|
182
182
|
fra: {
|
|
@@ -3,7 +3,9 @@ import { z } from "zod";
|
|
|
3
3
|
var CurriculumFoundations = z.array(
|
|
4
4
|
z.object({
|
|
5
5
|
curriculumId: z.string(),
|
|
6
|
-
crowdinProjectId: z.string()
|
|
6
|
+
crowdinProjectId: z.string().optional().describe(
|
|
7
|
+
"The Crowdin project for this curriculum's title translations. Leave it out when the curriculum has no titles of its own, like ASL, whose sets take their titles from the main set with the same name. Prep and the Crowdin config then skip it."
|
|
8
|
+
),
|
|
7
9
|
sets: z.array(z.string()).describe(
|
|
8
10
|
"An array of set ids that make up this foundations curriculum. Set ids must be linked to valid sets present in data/sets.json."
|
|
9
11
|
)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
CurriculumTopics
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-5JMRXTQB.mjs";
|
|
4
4
|
import {
|
|
5
5
|
__commonJS
|
|
6
6
|
} from "./chunk-5AVXA5JL.mjs";
|
|
@@ -15,7 +15,6 @@ var require_curriculumTopics = __commonJS({
|
|
|
15
15
|
data: [
|
|
16
16
|
{
|
|
17
17
|
curriculumId: "ase",
|
|
18
|
-
crowdinProjectId: "549537",
|
|
19
18
|
sets: ["02.073", "02.075", "02.076", "02.078", "02.079", "02.080"]
|
|
20
19
|
},
|
|
21
20
|
{
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
2
|
export declare const CurriculumFoundations: z.ZodArray<z.ZodObject<{
|
|
3
3
|
curriculumId: z.ZodString;
|
|
4
|
-
crowdinProjectId: z.ZodString
|
|
4
|
+
crowdinProjectId: z.ZodOptional<z.ZodString>;
|
|
5
5
|
sets: z.ZodArray<z.ZodString>;
|
|
6
6
|
}, z.core.$strict>>;
|
|
7
7
|
export type CurriculumFoundations = z.infer<typeof CurriculumFoundations>;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import {
|
|
2
2
|
curriculumFoundations
|
|
3
|
-
} from "../../chunks/chunk-
|
|
4
|
-
import "../../chunks/chunk-
|
|
3
|
+
} from "../../chunks/chunk-IYDI5F2O.mjs";
|
|
4
|
+
import "../../chunks/chunk-VYO3H52S.mjs";
|
|
5
5
|
import "../../chunks/chunk-5AVXA5JL.mjs";
|
|
6
6
|
export {
|
|
7
7
|
curriculumFoundations
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import {
|
|
2
2
|
curriculumFoundations
|
|
3
|
-
} from "../chunks/chunk-
|
|
4
|
-
import "../chunks/chunk-
|
|
3
|
+
} from "../chunks/chunk-IYDI5F2O.mjs";
|
|
4
|
+
import "../chunks/chunk-VYO3H52S.mjs";
|
|
5
5
|
import "../chunks/chunk-5AVXA5JL.mjs";
|
|
6
6
|
export {
|
|
7
7
|
curriculumFoundations
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
2
|
export declare const CurriculumTopics: z.ZodArray<z.ZodObject<{
|
|
3
3
|
curriculumId: z.ZodString;
|
|
4
|
-
crowdinProjectId: z.ZodString
|
|
4
|
+
crowdinProjectId: z.ZodOptional<z.ZodString>;
|
|
5
5
|
sets: z.ZodArray<z.ZodString>;
|
|
6
6
|
}, z.core.$strict>>;
|
|
7
7
|
export type CurriculumTopics = z.infer<typeof CurriculumTopics>;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import {
|
|
2
2
|
curriculumTopics
|
|
3
|
-
} from "../../chunks/chunk-
|
|
4
|
-
import "../../chunks/chunk-
|
|
3
|
+
} from "../../chunks/chunk-YOWQLQC3.mjs";
|
|
4
|
+
import "../../chunks/chunk-5JMRXTQB.mjs";
|
|
5
5
|
import "../../chunks/chunk-5AVXA5JL.mjs";
|
|
6
6
|
export {
|
|
7
7
|
curriculumTopics
|
|
@@ -7,12 +7,12 @@ import {
|
|
|
7
7
|
getPercentage,
|
|
8
8
|
replaceBibleWith,
|
|
9
9
|
shouldConcatBibleWith
|
|
10
|
-
} from "../chunks/chunk-
|
|
10
|
+
} from "../chunks/chunk-Z6YHVSNG.mjs";
|
|
11
11
|
import "../chunks/chunk-TJKEAECC.mjs";
|
|
12
12
|
import "../chunks/chunk-F6KX3ANZ.mjs";
|
|
13
13
|
import "../chunks/chunk-VJIMQWPM.mjs";
|
|
14
14
|
import "../chunks/chunk-P26UPNCJ.mjs";
|
|
15
|
-
import "../chunks/chunk-
|
|
15
|
+
import "../chunks/chunk-FFYD6FOP.mjs";
|
|
16
16
|
import "../chunks/chunk-ET5K2SPZ.mjs";
|
|
17
17
|
import "../chunks/chunk-CAAVRETB.mjs";
|
|
18
18
|
import "../chunks/chunk-RXDWB4BG.mjs";
|
|
@@ -54,16 +54,32 @@ interface DownloadTranslationsParams {
|
|
|
54
54
|
* Downloads translations from Crowdin for a given project ID and source path.
|
|
55
55
|
*/
|
|
56
56
|
export declare function downloadTranslations({ projectId, translationsFolder, token, sourcePattern, }: DownloadTranslationsParams): void;
|
|
57
|
+
/**
|
|
58
|
+
* Parser and import settings for files Crowdin can't read with its defaults,
|
|
59
|
+
* such as the `fm_md` drip emails. `type` only applies on create; Crowdin
|
|
60
|
+
* rejects it on update.
|
|
61
|
+
*/
|
|
62
|
+
export interface CrowdinFileSettings {
|
|
63
|
+
type?: SourceFilesModel.FileType;
|
|
64
|
+
importOptions?: SourceFilesModel.ImportOptions;
|
|
65
|
+
}
|
|
57
66
|
interface UploadSourceParams {
|
|
58
67
|
/** The id of the project to upload to, from `crowdinProjectIds`. */
|
|
59
68
|
projectId: string;
|
|
60
69
|
/**
|
|
61
|
-
* Absolute path to the source file
|
|
62
|
-
* directory (e.g.
|
|
63
|
-
*
|
|
64
|
-
*
|
|
70
|
+
* Absolute path to the local source file. When `dest` is omitted this must
|
|
71
|
+
* sit somewhere under a `crowdin/` directory (e.g.
|
|
72
|
+
* `/path/to/project/crowdin/eng/app_interface_text.json`) so the Crowdin
|
|
73
|
+
* path can be derived from it.
|
|
65
74
|
*/
|
|
66
75
|
source: string;
|
|
76
|
+
/**
|
|
77
|
+
* Where the file lives in Crowdin, e.g. `main.json`. Defaults to everything
|
|
78
|
+
* after `crowdin/` in `source`, which is wrong when the project's layout
|
|
79
|
+
* differs from the repo's. A wrong path creates a new file with none of the
|
|
80
|
+
* real one's translations, hence `allowCreate`.
|
|
81
|
+
*/
|
|
82
|
+
dest?: string;
|
|
67
83
|
/** The Crowdin personal access token to use for authentication. */
|
|
68
84
|
token: string;
|
|
69
85
|
/**
|
|
@@ -72,11 +88,15 @@ interface UploadSourceParams {
|
|
|
72
88
|
*/
|
|
73
89
|
label?: string;
|
|
74
90
|
/** Parser and import settings, for files needing more than the defaults. */
|
|
75
|
-
fileSettings?:
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
91
|
+
fileSettings?: CrowdinFileSettings;
|
|
92
|
+
/**
|
|
93
|
+
* Whether a file Crowdin doesn't already have may be created. Defaults to
|
|
94
|
+
* true. Pass false to make the upload update-only, so a mistyped path throws
|
|
95
|
+
* instead of orphaning the real file's translations.
|
|
96
|
+
*/
|
|
97
|
+
allowCreate?: boolean;
|
|
98
|
+
/** Resolve what would happen and report it without uploading anything. */
|
|
99
|
+
dryRun?: boolean;
|
|
80
100
|
}
|
|
81
101
|
/**
|
|
82
102
|
* The request that replaces an existing file. Built separately from
|
|
@@ -88,19 +108,26 @@ interface FileSettings {
|
|
|
88
108
|
*/
|
|
89
109
|
export declare function replaceFileRequest({ storageId, fileSettings, attachLabelIds, }: {
|
|
90
110
|
storageId: number;
|
|
91
|
-
fileSettings?:
|
|
111
|
+
fileSettings?: CrowdinFileSettings;
|
|
92
112
|
attachLabelIds?: number[];
|
|
93
113
|
}): SourceFilesModel.ReplaceFileFromStorageRequest;
|
|
94
114
|
/** The request that creates a new file. See {@link replaceFileRequest}. */
|
|
95
115
|
export declare function createFileRequest({ storageId, name, fileSettings, attachLabelIds, directoryId, }: {
|
|
96
116
|
storageId: number;
|
|
97
117
|
name: string;
|
|
98
|
-
fileSettings?:
|
|
118
|
+
fileSettings?: CrowdinFileSettings;
|
|
99
119
|
attachLabelIds?: number[];
|
|
100
120
|
directoryId?: number;
|
|
101
121
|
}): SourceFilesModel.CreateFileRequest;
|
|
102
|
-
/**
|
|
103
|
-
|
|
122
|
+
/**
|
|
123
|
+
* Whether an upload created a new file in Crowdin or updated an existing one.
|
|
124
|
+
*/
|
|
125
|
+
export type UploadSourceOutcome = 'created' | 'updated';
|
|
126
|
+
/**
|
|
127
|
+
* Uploads a source file to Crowdin, creating it or replacing its contents, and
|
|
128
|
+
* reports which of the two it did.
|
|
129
|
+
*/
|
|
130
|
+
export declare function uploadSource({ projectId, source, dest, token, label, fileSettings, allowCreate, dryRun, }: UploadSourceParams): Promise<UploadSourceOutcome>;
|
|
104
131
|
/**
|
|
105
132
|
* The directory a new file at `relativePath` belongs in, or undefined for a
|
|
106
133
|
* file at the project root.
|
|
@@ -115,4 +142,68 @@ export interface CrowdinDirectory {
|
|
|
115
142
|
path: string;
|
|
116
143
|
}
|
|
117
144
|
export declare function findDirectoryId(directories: CrowdinDirectory[], projectId: number, relativePath: string): number | undefined;
|
|
145
|
+
/** One source file a repo owns, as declared in its Crowdin sources config. */
|
|
146
|
+
export interface CrowdinSourceFileConfig {
|
|
147
|
+
/**
|
|
148
|
+
* Path to the local file, relative to the `baseDir` passed to
|
|
149
|
+
* `uploadSources`. With the repo's `crowdin/` directory as `baseDir`, that's
|
|
150
|
+
* `eng/main.json`.
|
|
151
|
+
*/
|
|
152
|
+
source: string;
|
|
153
|
+
/** The project this file belongs to, from `crowdinProjectIds`. */
|
|
154
|
+
projectId: string;
|
|
155
|
+
/**
|
|
156
|
+
* Where the file lives in Crowdin. Defaults to the part of `source` below
|
|
157
|
+
* the repo's `crowdin/` directory. See `UploadSourceParams['dest']`.
|
|
158
|
+
*/
|
|
159
|
+
dest?: string;
|
|
160
|
+
/** Parser and import settings, for files needing more than the defaults. */
|
|
161
|
+
fileSettings?: CrowdinFileSettings;
|
|
162
|
+
/**
|
|
163
|
+
* Lets this file be created even when the run doesn't allow it. For files
|
|
164
|
+
* where a new one is routine rather than a typo, like the drip emails (one
|
|
165
|
+
* file per email). Leave it off for hand-maintained files.
|
|
166
|
+
*/
|
|
167
|
+
allowCreate?: boolean;
|
|
168
|
+
}
|
|
169
|
+
/**
|
|
170
|
+
* Everything a repo uploads to Crowdin. One config per repo rather than per
|
|
171
|
+
* project, since a repo's files often span several projects and one list
|
|
172
|
+
* leaves one place to register a file.
|
|
173
|
+
*/
|
|
174
|
+
export interface CrowdinSourcesConfig {
|
|
175
|
+
files: CrowdinSourceFileConfig[];
|
|
176
|
+
}
|
|
177
|
+
interface UploadSourcesParams {
|
|
178
|
+
config: CrowdinSourcesConfig;
|
|
179
|
+
/** The directory `config`'s `source` paths are relative to. */
|
|
180
|
+
baseDir: string;
|
|
181
|
+
/** The Crowdin personal access token to use for authentication. */
|
|
182
|
+
token: string;
|
|
183
|
+
/** Label to attach to new strings in every uploaded file. */
|
|
184
|
+
label?: string;
|
|
185
|
+
/**
|
|
186
|
+
* Whether files Crowdin doesn't already have may be created. Defaults to
|
|
187
|
+
* false, unlike `uploadSource`, so an unattended run fails on a wrong path.
|
|
188
|
+
* Entries that set their own `allowCreate` may be created either way.
|
|
189
|
+
*/
|
|
190
|
+
allowCreate?: boolean;
|
|
191
|
+
/**
|
|
192
|
+
* Upload only the entries with these `source` paths, e.g.
|
|
193
|
+
* `['eng/app_interface_text.json']`, including every project a file is in.
|
|
194
|
+
* A path matching no entry throws before anything is uploaded.
|
|
195
|
+
*/
|
|
196
|
+
only?: string[];
|
|
197
|
+
/** Report what each file would do without uploading anything. */
|
|
198
|
+
dryRun?: boolean;
|
|
199
|
+
}
|
|
200
|
+
/**
|
|
201
|
+
* Uploads every file in a Crowdin sources config, one at a time to stay under
|
|
202
|
+
* Crowdin's rate limit and keep the log readable, and returns how many it
|
|
203
|
+
* uploaded.
|
|
204
|
+
*
|
|
205
|
+
* A failed file doesn't stop the others: the run finishes, then throws with
|
|
206
|
+
* every failure listed.
|
|
207
|
+
*/
|
|
208
|
+
export declare function uploadSources({ config, baseDir, token, label, allowCreate, only, dryRun, }: UploadSourcesParams): Promise<number>;
|
|
118
209
|
export {};
|