@stapel/listings-react 0.28.1 → 0.29.0
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/CHANGELOG.md +49 -0
- package/MODULE.md +23 -8
- package/README.md +15 -6
- package/dist/api/generated/schema.d.ts +2 -0
- package/dist/api/generated/schema.d.ts.map +1 -1
- package/dist/i18n/es.d.ts +7 -5
- package/dist/i18n/es.d.ts.map +1 -1
- package/dist/i18n/es.js +20 -27
- package/dist/i18n/es.js.map +1 -1
- package/dist/i18n/generated/errors.es.gen.d.ts +2 -2
- package/dist/i18n/generated/errors.es.gen.d.ts.map +1 -1
- package/dist/i18n/generated/errors.es.gen.js +19 -2
- package/dist/i18n/generated/errors.es.gen.js.map +1 -1
- package/dist/i18n/generated/errors.ru.gen.d.ts +2 -2
- package/dist/i18n/generated/errors.ru.gen.d.ts.map +1 -1
- package/dist/i18n/generated/errors.ru.gen.js +19 -2
- package/dist/i18n/generated/errors.ru.gen.js.map +1 -1
- package/dist/i18n/ru.d.ts +21 -13
- package/dist/i18n/ru.d.ts.map +1 -1
- package/dist/i18n/ru.js +37 -43
- package/dist/i18n/ru.js.map +1 -1
- package/llms.txt +1 -1
- package/manifest.json +1 -1
- package/nav-manifest.json +1 -1
- package/package.json +6 -6
- package/src/analytics/generated/events.json +1 -1
- package/src/api/generated/schema.ts +2 -0
- package/src/i18n/es.ts +20 -42
- package/src/i18n/generated/errors.es.gen.ts +19 -2
- package/src/i18n/generated/errors.ru.gen.ts +19 -2
- package/src/i18n/ru.ts +37 -58
package/src/i18n/ru.ts
CHANGED
|
@@ -17,50 +17,53 @@ export { listingsErrorBundleRu } from "./generated/errors.ru.gen.js";
|
|
|
17
17
|
*
|
|
18
18
|
* ── What comes from where ──────────────────────────────────────────────────
|
|
19
19
|
*
|
|
20
|
-
* `stapel-listings` ships
|
|
21
|
-
*
|
|
22
|
-
* by owner:
|
|
20
|
+
* `stapel-listings` 0.22.8 ships `translations/errors.ru.json`, which is the
|
|
21
|
+
* line that used to say the opposite. Of the 72 registry codes:
|
|
23
22
|
*
|
|
24
23
|
* - the 42 cross-cutting `stapel_core` codes are GENERATED, merged in from
|
|
25
|
-
* stapel-core's own catalogue by `pnpm gen:errors
|
|
26
|
-
* - the **
|
|
27
|
-
*
|
|
28
|
-
*
|
|
24
|
+
* stapel-core's own catalogue by `pnpm gen:errors`;
|
|
25
|
+
* - the **17 `stapel_listings` codes** are GENERATED too, from the module's
|
|
26
|
+
* own catalogue — the seventeen hand-authored lines that stood in for it
|
|
27
|
+
* are deleted, so each of those strings has exactly one source and the
|
|
28
|
+
* drift gate owns it;
|
|
29
|
+
* - the **13 `stapel_attributes` codes** are NOT here. They belong to
|
|
29
30
|
* `@stapel/attributes-react`, which already translates them and which is a
|
|
30
31
|
* peer of this pair anyway. Two packages must not give one refusal two
|
|
31
32
|
* sentences (spec §13.2, note 3). A host registers both bundles;
|
|
32
|
-
* `test/i18n.test.ts` proves the union covers the registry.
|
|
33
|
+
* `test/i18n.test.ts` proves the union covers the registry. stapel-attributes
|
|
34
|
+
* 0.9.3 ships a catalogue of its own now, and merging it in HERE would
|
|
35
|
+
* recreate exactly the two-sources problem this file just removed — the
|
|
36
|
+
* place to consume it is that pair, not this one.
|
|
37
|
+
*
|
|
38
|
+
* The first two bullets are the whole generated spread below; what follows it
|
|
39
|
+
* by hand is UI copy plus one deliberate override, called out where it sits.
|
|
33
40
|
*
|
|
34
41
|
* PROVENANCE, stated rather than implied: the core catalogue ships
|
|
35
|
-
* `origin=seed:authored` and is UNREVIEWED; the
|
|
36
|
-
* are the same grade.
|
|
42
|
+
* `origin=seed:authored` and is UNREVIEWED; the module's own catalogue and the
|
|
43
|
+
* pair-authored UI copy below are the same grade. None of it is a claim of
|
|
44
|
+
* review.
|
|
37
45
|
*/
|
|
38
46
|
export const listingsI18nBundleRu: I18nDictionary = {
|
|
39
47
|
...listingsErrorBundleRu,
|
|
40
48
|
|
|
41
|
-
// ──
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
//
|
|
57
|
-
// ('draft', 'archived'), and the status is already named in the reader's
|
|
58
|
-
// own words beside the control. See the note on this pair of keys in
|
|
59
|
-
// keys.ts.
|
|
49
|
+
// ── stapel_listings' own refusals: NONE are authored here any more ───────
|
|
50
|
+
//
|
|
51
|
+
// The module ships `translations/errors.ru.json` as of 0.22.8, so all
|
|
52
|
+
// SEVENTEEN codes it owns arrive through the generated spread above. The
|
|
53
|
+
// seventeen lines that used to sit here are deleted rather than kept beside
|
|
54
|
+
// it: a key with two sources drifts, and nothing in this file could tell a
|
|
55
|
+
// reader which of the two a screen had shown them.
|
|
56
|
+
//
|
|
57
|
+
// Exactly ONE key is still overridden, and it is a defect in the upstream
|
|
58
|
+
// text rather than a preference: upstream's ru interpolates {from_status}
|
|
59
|
+
// — the WIRE value ('draft', 'archived') — into translated prose, which is
|
|
60
|
+
// the sentence a live cabinet already showed a seller once. The placeholder
|
|
61
|
+
// carries nothing the screen lacks: the status is named, in the reader's
|
|
62
|
+
// own words, beside every control this refusal appears under. See the long
|
|
63
|
+
// note on this pair of keys in keys.ts. Remove this override when
|
|
64
|
+
// stapel-listings drops the placeholder from the ru/es catalogues.
|
|
60
65
|
"error.409.invalid_listing_transition":
|
|
61
66
|
"Из текущего состояния объявление так перевести нельзя",
|
|
62
|
-
"error.409.listing_cannot_delete_active":
|
|
63
|
-
"Сначала снимите объявление с публикации — активное удалить нельзя",
|
|
64
67
|
|
|
65
68
|
"listings.error.unknown": "Что-то пошло не так с этим объявлением",
|
|
66
69
|
|
|
@@ -253,30 +256,6 @@ export const listingsI18nBundleRu: I18nDictionary = {
|
|
|
253
256
|
"listings.favorites.sign_in_hint":
|
|
254
257
|
"Избранное хранится в аккаунте, поэтому переходит с вами на другие устройства.",
|
|
255
258
|
|
|
256
|
-
// The two publish checks the 0.17 contract brought with it: a place is
|
|
257
|
-
// required, and a zero price in such a category is an empty field rather
|
|
258
|
-
// than "free".
|
|
259
|
-
"error.400.listing_location_required":
|
|
260
|
-
"Перед публикацией укажите, где находится товар",
|
|
261
|
-
"error.400.listing_zero_price_not_allowed":
|
|
262
|
-
"В этой категории цена 0 недопустима. Оставьте поле пустым — это и есть «цена не указана».",
|
|
263
|
-
|
|
264
|
-
// stapel-listings 0.21.2: the composer's per-field provenance sidecar has a
|
|
265
|
-
// size ceiling, and the number is the server's own — never restated here.
|
|
266
|
-
"error.400.listing_draft_meta_too_large":
|
|
267
|
-
"Черновик слишком большой (не больше {max_bytes} байт). Уберите часть данных и сохраните ещё раз.",
|
|
268
|
-
|
|
269
|
-
// stapel-listings 0.22.3: the features_draft WRITE now accepts the shape a
|
|
270
|
-
// listing READ returns. These three are the refusals for a body that is
|
|
271
|
-
// neither — read by whoever is wiring the integration, so each names the
|
|
272
|
-
// shape it wanted instead of advising "try again".
|
|
273
|
-
"error.400.listing_features_draft_shape":
|
|
274
|
-
"features_draft должен быть объектом со слагами признаков в ключах — или тем списком объектов признаков, который возвращает чтение объявления (у каждого свой «slug»). Пришло: {got_type}. Пример принимаемой формы объекта: {example}",
|
|
275
|
-
"error.400.listing_features_draft_unknown_slug":
|
|
276
|
-
"У каждого элемента списка features_draft должен быть свой непустой «slug» — тот, который чтение объявления хранит на этом элементе, иначе значение некуда положить. У элемента с индексом {index} его нет. Пример: {example}",
|
|
277
|
-
"error.400.listing_features_draft_value_shape":
|
|
278
|
-
"features_draft['{slug}'] сам должен быть объектом вида {{\"type\": <тип признака>, \"value\": <значение признака>}}. Пришло: {got_type}. Пример: {example}",
|
|
279
|
-
|
|
280
259
|
"listings.blocked.sign_in": "Войдите, чтобы сделать это",
|
|
281
260
|
"listings.blocked.guest":
|
|
282
261
|
"Этот аккаунт пока так не может — сначала завершите настройку",
|
|
@@ -303,17 +282,17 @@ export const listingsI18nBundleRu: I18nDictionary = {
|
|
|
303
282
|
};
|
|
304
283
|
|
|
305
284
|
/**
|
|
306
|
-
* Register the Russian bundle into a core i18n engine — AND the
|
|
285
|
+
* Register the Russian bundle into a core i18n engine — AND the thirteen
|
|
307
286
|
* `stapel_attributes` sentences this pair deliberately does not author.
|
|
308
287
|
*
|
|
309
288
|
* The split of ownership is right and stays: two packages must not give one
|
|
310
289
|
* refusal two sentences. What was wrong was leaving the JOIN to a README. A
|
|
311
|
-
* host that registered only this bundle got
|
|
290
|
+
* host that registered only this bundle got thirteen of the composer's most
|
|
312
291
|
* common refusals ("this value is below the minimum", "the description is too
|
|
313
292
|
* long") in English on a Russian page, and nothing failed anywhere to say so.
|
|
314
293
|
*
|
|
315
294
|
* `@stapel/attributes-react` is a peer of this pair and its editors are what
|
|
316
|
-
* RAISE those
|
|
295
|
+
* RAISE those thirteen, so a listings-ru host is an attributes-ru host by
|
|
317
296
|
* construction; chaining the registration states that instead of asking. It is
|
|
318
297
|
* idempotent — a host that also registers the bundle itself simply writes the
|
|
319
298
|
* same keys twice.
|