@nodaro/shared 1.4.1
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/LICENSE +202 -0
- package/README.md +32 -0
- package/dist/index.cjs +12506 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.cts +12269 -0
- package/dist/index.d.ts +12269 -0
- package/dist/index.js +11831 -0
- package/dist/index.js.map +1 -0
- package/package.json +54 -0
- package/src/__tests__/__snapshots__/prompt-builder-segments.test.ts.snap +65 -0
- package/src/__tests__/ai-avatar-pricing.test.ts +321 -0
- package/src/__tests__/apply-video-negative-prompt.test.ts +76 -0
- package/src/__tests__/attach-columns.test.ts +28 -0
- package/src/__tests__/audio-crossfade-curves.test.ts +33 -0
- package/src/__tests__/build-model-menu.test.ts +58 -0
- package/src/__tests__/character-aspect-defaults.test.ts +142 -0
- package/src/__tests__/character-mention-slug.test.ts +199 -0
- package/src/__tests__/character-reference-photo-kinds.test.ts +32 -0
- package/src/__tests__/character-usage-mode.test.ts +147 -0
- package/src/__tests__/character-variant-assets.test.ts +142 -0
- package/src/__tests__/character-voice.test.ts +130 -0
- package/src/__tests__/cinematic-avatar-pricing.test.ts +119 -0
- package/src/__tests__/combine-transitions.test.ts +137 -0
- package/src/__tests__/component-types.test.ts +87 -0
- package/src/__tests__/condition-variables.test.ts +98 -0
- package/src/__tests__/credit-identifiers.test.ts +811 -0
- package/src/__tests__/default-video-provider.test.ts +63 -0
- package/src/__tests__/entity-image-handle.test.ts +43 -0
- package/src/__tests__/entity-variants.test.ts +33 -0
- package/src/__tests__/fal-lip-sync-sets.test.ts +31 -0
- package/src/__tests__/featured-entities.test.ts +33 -0
- package/src/__tests__/film-pricing.test.ts +64 -0
- package/src/__tests__/filter-condition.test.ts +285 -0
- package/src/__tests__/freecut-protocol.test.ts +35 -0
- package/src/__tests__/generate-text-items.test.ts +19 -0
- package/src/__tests__/generated-results.test.ts +50 -0
- package/src/__tests__/graph-utils.test.ts +618 -0
- package/src/__tests__/group-aggregation.test.ts +83 -0
- package/src/__tests__/i18n-locale-completeness.test.ts +156 -0
- package/src/__tests__/image-critic-node.test.ts +86 -0
- package/src/__tests__/image-mask-mode.test.ts +16 -0
- package/src/__tests__/image-ref-limit.test.ts +78 -0
- package/src/__tests__/inpaint-region.test.ts +24 -0
- package/src/__tests__/input-field-map-parity.test.ts +30 -0
- package/src/__tests__/json-evaluator.test.ts +289 -0
- package/src/__tests__/json-path.test.ts +64 -0
- package/src/__tests__/lip-sync-pricing.test.ts +142 -0
- package/src/__tests__/list-merge.test.ts +96 -0
- package/src/__tests__/list-sort.test.ts +134 -0
- package/src/__tests__/llm-models.test.ts +445 -0
- package/src/__tests__/location-mention-slug.test.ts +246 -0
- package/src/__tests__/locations-coverage-critic-schema.test.ts +92 -0
- package/src/__tests__/loop-delimiter.test.ts +39 -0
- package/src/__tests__/lottie-slots.test.ts +245 -0
- package/src/__tests__/model-catalog-flux2-resolutions.test.ts +21 -0
- package/src/__tests__/model-constants-location.test.ts +20 -0
- package/src/__tests__/model-constants.test.ts +122 -0
- package/src/__tests__/model-tree.test.ts +86 -0
- package/src/__tests__/no-internal-imports.test.ts +25 -0
- package/src/__tests__/node-default-mappings.test.ts +175 -0
- package/src/__tests__/node-mappable-fields.test.ts +7 -0
- package/src/__tests__/node-preset-export.test.ts +46 -0
- package/src/__tests__/node-preset-extract.test.ts +166 -0
- package/src/__tests__/node-refs-canonical.test.ts +54 -0
- package/src/__tests__/node-refs-combine.test.ts +54 -0
- package/src/__tests__/node-refs.test.ts +187 -0
- package/src/__tests__/node-runtime-keys.test.ts +99 -0
- package/src/__tests__/object-aspect-defaults.test.ts +59 -0
- package/src/__tests__/parameter-node-value.test.ts +137 -0
- package/src/__tests__/pinterest-url.test.ts +35 -0
- package/src/__tests__/pipeline-chat.test.ts +110 -0
- package/src/__tests__/pipeline-validation.test.ts +98 -0
- package/src/__tests__/presentation-utils.test.ts +1137 -0
- package/src/__tests__/producer-types.test.ts +47 -0
- package/src/__tests__/prompt-length-limits.test.ts +156 -0
- package/src/__tests__/provider-directive-defaults.test.ts +46 -0
- package/src/__tests__/reduce-strategy-registry.test.ts +43 -0
- package/src/__tests__/reference-board-templates.test.ts +33 -0
- package/src/__tests__/reference-roles.test.ts +36 -0
- package/src/__tests__/resolve-field-mappings.test.ts +110 -0
- package/src/__tests__/resolve-pipeline-model.test.ts +76 -0
- package/src/__tests__/scene-node-types.test.ts +80 -0
- package/src/__tests__/scraper-actors.test.ts +67 -0
- package/src/__tests__/seedance-2-catalog.test.ts +18 -0
- package/src/__tests__/seedance-2-credit-id.test.ts +23 -0
- package/src/__tests__/seedance-aspects.test.ts +52 -0
- package/src/__tests__/selector.test.ts +1151 -0
- package/src/__tests__/settled-with-limit.test.ts +214 -0
- package/src/__tests__/social-media-specs.test.ts +129 -0
- package/src/__tests__/sub-workflow-validation.test.ts +88 -0
- package/src/__tests__/switchx-pricing.test.ts +28 -0
- package/src/__tests__/to-connected-references.test.ts +153 -0
- package/src/__tests__/utilities.test.ts +541 -0
- package/src/__tests__/video-analysis-pricing.test.ts +58 -0
- package/src/__tests__/video-analysis.test.ts +63 -0
- package/src/__tests__/video-audio-capability.test.ts +204 -0
- package/src/__tests__/video-gen-providers.test.ts +28 -0
- package/src/__tests__/video-mode-aliases.test.ts +150 -0
- package/src/__tests__/video-ref-limits.test.ts +72 -0
- package/src/__tests__/video-utils.test.ts +303 -0
- package/src/__tests__/voice-changer-models.test.ts +33 -0
- package/src/__tests__/workflow-export-strip.test.ts +46 -0
- package/src/ai-avatar-pricing.ts +213 -0
- package/src/ancestor-refs.ts +48 -0
- package/src/animals.ts +231 -0
- package/src/audio-crossfade-curves.ts +73 -0
- package/src/audio-fx-presets.ts +64 -0
- package/src/avatar-payload-validators.ts +214 -0
- package/src/caption-styles.ts +31 -0
- package/src/character-aspect-defaults.ts +102 -0
- package/src/character-facets.ts +37 -0
- package/src/character-mention-slug.ts +166 -0
- package/src/character-usage-mode.ts +109 -0
- package/src/character-variant-assets.ts +121 -0
- package/src/character-voice.ts +151 -0
- package/src/cinematic-avatar-pricing.ts +111 -0
- package/src/clone-utils.ts +46 -0
- package/src/combine-transitions.ts +482 -0
- package/src/community.ts +112 -0
- package/src/component-types.ts +127 -0
- package/src/condition-variables.ts +65 -0
- package/src/credit-estimators/index.ts +15 -0
- package/src/credit-estimators/video-utils.ts +165 -0
- package/src/credit-identifiers.ts +304 -0
- package/src/entity-approval-types.ts +31 -0
- package/src/entity-aspect-defaults.ts +82 -0
- package/src/entity-asset-types.ts +296 -0
- package/src/entity-image-handle.ts +36 -0
- package/src/extra-refs.ts +139 -0
- package/src/featured-entities.ts +136 -0
- package/src/film-pricing.ts +117 -0
- package/src/filter-condition.ts +250 -0
- package/src/flux2-pricing.ts +18 -0
- package/src/freecut-protocol.ts +52 -0
- package/src/furniture.ts +167 -0
- package/src/generate-text-items.ts +15 -0
- package/src/generated-results.ts +63 -0
- package/src/group-aggregation.ts +75 -0
- package/src/hint-graph-types.ts +18 -0
- package/src/i18n/action-fx.ar.ts +89 -0
- package/src/i18n/action-fx.de.ts +89 -0
- package/src/i18n/action-fx.es.ts +89 -0
- package/src/i18n/action-fx.fr.ts +89 -0
- package/src/i18n/action-fx.he.ts +89 -0
- package/src/i18n/action-fx.hi.ts +89 -0
- package/src/i18n/action-fx.ja.ts +89 -0
- package/src/i18n/action-fx.ko.ts +89 -0
- package/src/i18n/action-fx.pt-BR.ts +89 -0
- package/src/i18n/action-fx.ru.ts +89 -0
- package/src/i18n/action-fx.zh-CN.ts +89 -0
- package/src/i18n/aesthetic.ar.ts +170 -0
- package/src/i18n/aesthetic.de.ts +48 -0
- package/src/i18n/aesthetic.es.ts +169 -0
- package/src/i18n/aesthetic.fr.ts +52 -0
- package/src/i18n/aesthetic.he.ts +169 -0
- package/src/i18n/aesthetic.hi.ts +55 -0
- package/src/i18n/aesthetic.ja.ts +165 -0
- package/src/i18n/aesthetic.ko.ts +169 -0
- package/src/i18n/aesthetic.pt-BR.ts +148 -0
- package/src/i18n/aesthetic.ru.ts +155 -0
- package/src/i18n/aesthetic.zh-CN.ts +172 -0
- package/src/i18n/animals.ar.ts +145 -0
- package/src/i18n/animals.de.ts +144 -0
- package/src/i18n/animals.es.ts +158 -0
- package/src/i18n/animals.fr.ts +144 -0
- package/src/i18n/animals.he.ts +155 -0
- package/src/i18n/animals.hi.ts +157 -0
- package/src/i18n/animals.ja.ts +159 -0
- package/src/i18n/animals.ko.ts +159 -0
- package/src/i18n/animals.pt-BR.ts +157 -0
- package/src/i18n/animals.ru.ts +155 -0
- package/src/i18n/animals.zh-CN.ts +155 -0
- package/src/i18n/atmosphere.ar.ts +49 -0
- package/src/i18n/atmosphere.de.ts +47 -0
- package/src/i18n/atmosphere.es.ts +50 -0
- package/src/i18n/atmosphere.fr.ts +47 -0
- package/src/i18n/atmosphere.he.ts +47 -0
- package/src/i18n/atmosphere.hi.ts +49 -0
- package/src/i18n/atmosphere.ja.ts +49 -0
- package/src/i18n/atmosphere.ko.ts +49 -0
- package/src/i18n/atmosphere.pt-BR.ts +49 -0
- package/src/i18n/atmosphere.ru.ts +47 -0
- package/src/i18n/atmosphere.zh-CN.ts +152 -0
- package/src/i18n/backdrop.ar.ts +53 -0
- package/src/i18n/backdrop.de.ts +46 -0
- package/src/i18n/backdrop.es.ts +54 -0
- package/src/i18n/backdrop.fr.ts +52 -0
- package/src/i18n/backdrop.he.ts +51 -0
- package/src/i18n/backdrop.hi.ts +59 -0
- package/src/i18n/backdrop.ja.ts +61 -0
- package/src/i18n/backdrop.ko.ts +59 -0
- package/src/i18n/backdrop.pt-BR.ts +59 -0
- package/src/i18n/backdrop.ru.ts +57 -0
- package/src/i18n/backdrop.zh-CN.ts +57 -0
- package/src/i18n/camera-format.ar.ts +40 -0
- package/src/i18n/camera-format.de.ts +37 -0
- package/src/i18n/camera-format.es.ts +41 -0
- package/src/i18n/camera-format.fr.ts +37 -0
- package/src/i18n/camera-format.he.ts +37 -0
- package/src/i18n/camera-format.hi.ts +42 -0
- package/src/i18n/camera-format.ja.ts +37 -0
- package/src/i18n/camera-format.ko.ts +37 -0
- package/src/i18n/camera-format.pt-BR.ts +46 -0
- package/src/i18n/camera-format.ru.ts +42 -0
- package/src/i18n/camera-format.zh-CN.ts +42 -0
- package/src/i18n/camera-motions.ar.ts +86 -0
- package/src/i18n/camera-motions.de.ts +74 -0
- package/src/i18n/camera-motions.es.ts +86 -0
- package/src/i18n/camera-motions.fr.ts +86 -0
- package/src/i18n/camera-motions.he.ts +86 -0
- package/src/i18n/camera-motions.hi.ts +99 -0
- package/src/i18n/camera-motions.ja.ts +99 -0
- package/src/i18n/camera-motions.ko.ts +99 -0
- package/src/i18n/camera-motions.pt-BR.ts +99 -0
- package/src/i18n/camera-motions.ru.ts +99 -0
- package/src/i18n/camera-motions.zh-CN.ts +99 -0
- package/src/i18n/character-fx.ar.ts +72 -0
- package/src/i18n/character-fx.de.ts +72 -0
- package/src/i18n/character-fx.es.ts +72 -0
- package/src/i18n/character-fx.fr.ts +72 -0
- package/src/i18n/character-fx.he.ts +72 -0
- package/src/i18n/character-fx.hi.ts +72 -0
- package/src/i18n/character-fx.ja.ts +72 -0
- package/src/i18n/character-fx.ko.ts +72 -0
- package/src/i18n/character-fx.pt-BR.ts +72 -0
- package/src/i18n/character-fx.ru.ts +72 -0
- package/src/i18n/character-fx.zh-CN.ts +72 -0
- package/src/i18n/color-look.ar.ts +50 -0
- package/src/i18n/color-look.de.ts +47 -0
- package/src/i18n/color-look.es.ts +50 -0
- package/src/i18n/color-look.fr.ts +50 -0
- package/src/i18n/color-look.he.ts +49 -0
- package/src/i18n/color-look.hi.ts +52 -0
- package/src/i18n/color-look.ja.ts +54 -0
- package/src/i18n/color-look.ko.ts +54 -0
- package/src/i18n/color-look.pt-BR.ts +54 -0
- package/src/i18n/color-look.ru.ts +52 -0
- package/src/i18n/color-look.zh-CN.ts +53 -0
- package/src/i18n/composition-effects.ar.ts +26 -0
- package/src/i18n/composition-effects.de.ts +25 -0
- package/src/i18n/composition-effects.es.ts +27 -0
- package/src/i18n/composition-effects.fr.ts +25 -0
- package/src/i18n/composition-effects.he.ts +25 -0
- package/src/i18n/composition-effects.hi.ts +27 -0
- package/src/i18n/composition-effects.ja.ts +27 -0
- package/src/i18n/composition-effects.ko.ts +27 -0
- package/src/i18n/composition-effects.pt-BR.ts +25 -0
- package/src/i18n/composition-effects.ru.ts +82 -0
- package/src/i18n/composition-effects.zh-CN.ts +25 -0
- package/src/i18n/era.ar.ts +37 -0
- package/src/i18n/era.de.ts +34 -0
- package/src/i18n/era.es.ts +37 -0
- package/src/i18n/era.fr.ts +37 -0
- package/src/i18n/era.he.ts +36 -0
- package/src/i18n/era.hi.ts +39 -0
- package/src/i18n/era.ja.ts +41 -0
- package/src/i18n/era.ko.ts +39 -0
- package/src/i18n/era.pt-BR.ts +41 -0
- package/src/i18n/era.ru.ts +121 -0
- package/src/i18n/era.zh-CN.ts +39 -0
- package/src/i18n/exposure-settings.ar.ts +28 -0
- package/src/i18n/exposure-settings.de.ts +26 -0
- package/src/i18n/exposure-settings.es.ts +28 -0
- package/src/i18n/exposure-settings.fr.ts +29 -0
- package/src/i18n/exposure-settings.he.ts +28 -0
- package/src/i18n/exposure-settings.hi.ts +31 -0
- package/src/i18n/exposure-settings.ja.ts +31 -0
- package/src/i18n/exposure-settings.ko.ts +31 -0
- package/src/i18n/exposure-settings.pt-BR.ts +31 -0
- package/src/i18n/exposure-settings.ru.ts +31 -0
- package/src/i18n/exposure-settings.zh-CN.ts +31 -0
- package/src/i18n/framing.ar.ts +78 -0
- package/src/i18n/framing.de.ts +73 -0
- package/src/i18n/framing.es.ts +78 -0
- package/src/i18n/framing.fr.ts +78 -0
- package/src/i18n/framing.he.ts +77 -0
- package/src/i18n/framing.hi.ts +82 -0
- package/src/i18n/framing.ja.ts +84 -0
- package/src/i18n/framing.ko.ts +82 -0
- package/src/i18n/framing.pt-BR.ts +84 -0
- package/src/i18n/framing.ru.ts +82 -0
- package/src/i18n/framing.zh-CN.ts +82 -0
- package/src/i18n/furniture.ar.ts +92 -0
- package/src/i18n/furniture.de.ts +93 -0
- package/src/i18n/furniture.es.ts +101 -0
- package/src/i18n/furniture.fr.ts +93 -0
- package/src/i18n/furniture.he.ts +101 -0
- package/src/i18n/furniture.hi.ts +101 -0
- package/src/i18n/furniture.ja.ts +101 -0
- package/src/i18n/furniture.ko.ts +101 -0
- package/src/i18n/furniture.pt-BR.ts +101 -0
- package/src/i18n/furniture.ru.ts +101 -0
- package/src/i18n/furniture.zh-CN.ts +101 -0
- package/src/i18n/held-prop.ar.ts +74 -0
- package/src/i18n/held-prop.de.ts +65 -0
- package/src/i18n/held-prop.es.ts +83 -0
- package/src/i18n/held-prop.fr.ts +74 -0
- package/src/i18n/held-prop.he.ts +73 -0
- package/src/i18n/held-prop.hi.ts +82 -0
- package/src/i18n/held-prop.ja.ts +84 -0
- package/src/i18n/held-prop.ko.ts +84 -0
- package/src/i18n/held-prop.pt-BR.ts +84 -0
- package/src/i18n/held-prop.ru.ts +82 -0
- package/src/i18n/held-prop.zh-CN.ts +82 -0
- package/src/i18n/index.ts +208 -0
- package/src/i18n/instrumentation.ar.ts +195 -0
- package/src/i18n/instrumentation.de.ts +195 -0
- package/src/i18n/instrumentation.es.ts +195 -0
- package/src/i18n/instrumentation.fr.ts +195 -0
- package/src/i18n/instrumentation.he.ts +195 -0
- package/src/i18n/instrumentation.hi.ts +195 -0
- package/src/i18n/instrumentation.ja.ts +195 -0
- package/src/i18n/instrumentation.ko.ts +195 -0
- package/src/i18n/instrumentation.pt-BR.ts +195 -0
- package/src/i18n/instrumentation.ru.ts +195 -0
- package/src/i18n/instrumentation.zh-CN.ts +195 -0
- package/src/i18n/lens.ar.ts +24 -0
- package/src/i18n/lens.de.ts +24 -0
- package/src/i18n/lens.es.ts +24 -0
- package/src/i18n/lens.fr.ts +24 -0
- package/src/i18n/lens.he.ts +24 -0
- package/src/i18n/lens.hi.ts +24 -0
- package/src/i18n/lens.ja.ts +24 -0
- package/src/i18n/lens.ko.ts +24 -0
- package/src/i18n/lens.pt-BR.ts +24 -0
- package/src/i18n/lens.ru.ts +25 -0
- package/src/i18n/lens.zh-CN.ts +24 -0
- package/src/i18n/lighting.ar.ts +86 -0
- package/src/i18n/lighting.de.ts +84 -0
- package/src/i18n/lighting.es.ts +89 -0
- package/src/i18n/lighting.fr.ts +84 -0
- package/src/i18n/lighting.he.ts +88 -0
- package/src/i18n/lighting.hi.ts +90 -0
- package/src/i18n/lighting.ja.ts +90 -0
- package/src/i18n/lighting.ko.ts +90 -0
- package/src/i18n/lighting.pt-BR.ts +90 -0
- package/src/i18n/lighting.ru.ts +88 -0
- package/src/i18n/lighting.zh-CN.ts +92 -0
- package/src/i18n/loop-subject.ar.ts +39 -0
- package/src/i18n/loop-subject.de.ts +39 -0
- package/src/i18n/loop-subject.es.ts +39 -0
- package/src/i18n/loop-subject.fr.ts +39 -0
- package/src/i18n/loop-subject.he.ts +39 -0
- package/src/i18n/loop-subject.hi.ts +39 -0
- package/src/i18n/loop-subject.ja.ts +39 -0
- package/src/i18n/loop-subject.ko.ts +39 -0
- package/src/i18n/loop-subject.pt-BR.ts +39 -0
- package/src/i18n/loop-subject.ru.ts +39 -0
- package/src/i18n/loop-subject.zh-CN.ts +39 -0
- package/src/i18n/materials.ar.ts +80 -0
- package/src/i18n/materials.de.ts +80 -0
- package/src/i18n/materials.es.ts +87 -0
- package/src/i18n/materials.fr.ts +80 -0
- package/src/i18n/materials.he.ts +86 -0
- package/src/i18n/materials.hi.ts +86 -0
- package/src/i18n/materials.ja.ts +88 -0
- package/src/i18n/materials.ko.ts +88 -0
- package/src/i18n/materials.pt-BR.ts +88 -0
- package/src/i18n/materials.ru.ts +86 -0
- package/src/i18n/materials.zh-CN.ts +86 -0
- package/src/i18n/mood.ar.ts +61 -0
- package/src/i18n/mood.de.ts +61 -0
- package/src/i18n/mood.es.ts +66 -0
- package/src/i18n/mood.fr.ts +61 -0
- package/src/i18n/mood.he.ts +64 -0
- package/src/i18n/mood.hi.ts +66 -0
- package/src/i18n/mood.ja.ts +66 -0
- package/src/i18n/mood.ko.ts +66 -0
- package/src/i18n/mood.pt-BR.ts +64 -0
- package/src/i18n/mood.ru.ts +64 -0
- package/src/i18n/mood.zh-CN.ts +64 -0
- package/src/i18n/music-genre.ar.ts +302 -0
- package/src/i18n/music-genre.de.ts +302 -0
- package/src/i18n/music-genre.es.ts +302 -0
- package/src/i18n/music-genre.fr.ts +302 -0
- package/src/i18n/music-genre.he.ts +302 -0
- package/src/i18n/music-genre.hi.ts +302 -0
- package/src/i18n/music-genre.ja.ts +302 -0
- package/src/i18n/music-genre.ko.ts +302 -0
- package/src/i18n/music-genre.pt-BR.ts +302 -0
- package/src/i18n/music-genre.ru.ts +302 -0
- package/src/i18n/music-genre.zh-CN.ts +302 -0
- package/src/i18n/music-mood.ar.ts +75 -0
- package/src/i18n/music-mood.de.ts +75 -0
- package/src/i18n/music-mood.es.ts +75 -0
- package/src/i18n/music-mood.fr.ts +75 -0
- package/src/i18n/music-mood.he.ts +75 -0
- package/src/i18n/music-mood.hi.ts +75 -0
- package/src/i18n/music-mood.ja.ts +75 -0
- package/src/i18n/music-mood.ko.ts +75 -0
- package/src/i18n/music-mood.pt-BR.ts +75 -0
- package/src/i18n/music-mood.ru.ts +75 -0
- package/src/i18n/music-mood.zh-CN.ts +75 -0
- package/src/i18n/person.ar.ts +638 -0
- package/src/i18n/person.de.ts +629 -0
- package/src/i18n/person.es.ts +645 -0
- package/src/i18n/person.fr.ts +621 -0
- package/src/i18n/person.he.ts +656 -0
- package/src/i18n/person.hi.ts +654 -0
- package/src/i18n/person.ja.ts +662 -0
- package/src/i18n/person.ko.ts +662 -0
- package/src/i18n/person.pt-BR.ts +656 -0
- package/src/i18n/person.ru.ts +656 -0
- package/src/i18n/person.zh-CN.ts +656 -0
- package/src/i18n/photo-genre.ar.ts +58 -0
- package/src/i18n/photo-genre.de.ts +52 -0
- package/src/i18n/photo-genre.es.ts +64 -0
- package/src/i18n/photo-genre.fr.ts +58 -0
- package/src/i18n/photo-genre.he.ts +62 -0
- package/src/i18n/photo-genre.hi.ts +63 -0
- package/src/i18n/photo-genre.ja.ts +65 -0
- package/src/i18n/photo-genre.ko.ts +63 -0
- package/src/i18n/photo-genre.pt-BR.ts +65 -0
- package/src/i18n/photo-genre.ru.ts +63 -0
- package/src/i18n/photo-genre.zh-CN.ts +63 -0
- package/src/i18n/photographer.ar.ts +75 -0
- package/src/i18n/photographer.de.ts +74 -0
- package/src/i18n/photographer.es.ts +77 -0
- package/src/i18n/photographer.fr.ts +77 -0
- package/src/i18n/photographer.he.ts +78 -0
- package/src/i18n/photographer.hi.ts +80 -0
- package/src/i18n/photographer.ja.ts +84 -0
- package/src/i18n/photographer.ko.ts +84 -0
- package/src/i18n/photographer.pt-BR.ts +83 -0
- package/src/i18n/photographer.ru.ts +78 -0
- package/src/i18n/photographer.zh-CN.ts +78 -0
- package/src/i18n/pose.ar.ts +95 -0
- package/src/i18n/pose.de.ts +96 -0
- package/src/i18n/pose.es.ts +104 -0
- package/src/i18n/pose.fr.ts +96 -0
- package/src/i18n/pose.he.ts +104 -0
- package/src/i18n/pose.hi.ts +104 -0
- package/src/i18n/pose.ja.ts +104 -0
- package/src/i18n/pose.ko.ts +104 -0
- package/src/i18n/pose.pt-BR.ts +104 -0
- package/src/i18n/pose.ru.ts +104 -0
- package/src/i18n/pose.zh-CN.ts +104 -0
- package/src/i18n/post-process-effects.ar.ts +25 -0
- package/src/i18n/post-process-effects.de.ts +24 -0
- package/src/i18n/post-process-effects.es.ts +26 -0
- package/src/i18n/post-process-effects.fr.ts +24 -0
- package/src/i18n/post-process-effects.he.ts +24 -0
- package/src/i18n/post-process-effects.hi.ts +26 -0
- package/src/i18n/post-process-effects.ja.ts +26 -0
- package/src/i18n/post-process-effects.ko.ts +26 -0
- package/src/i18n/post-process-effects.pt-BR.ts +24 -0
- package/src/i18n/post-process-effects.ru.ts +24 -0
- package/src/i18n/post-process-effects.zh-CN.ts +24 -0
- package/src/i18n/render-quality.ar.ts +34 -0
- package/src/i18n/render-quality.de.ts +30 -0
- package/src/i18n/render-quality.es.ts +35 -0
- package/src/i18n/render-quality.fr.ts +34 -0
- package/src/i18n/render-quality.he.ts +33 -0
- package/src/i18n/render-quality.hi.ts +39 -0
- package/src/i18n/render-quality.ja.ts +39 -0
- package/src/i18n/render-quality.ko.ts +39 -0
- package/src/i18n/render-quality.pt-BR.ts +37 -0
- package/src/i18n/render-quality.ru.ts +37 -0
- package/src/i18n/render-quality.zh-CN.ts +37 -0
- package/src/i18n/seasons.ar.ts +10 -0
- package/src/i18n/seasons.de.ts +10 -0
- package/src/i18n/seasons.es.ts +10 -0
- package/src/i18n/seasons.fr.ts +10 -0
- package/src/i18n/seasons.he.ts +10 -0
- package/src/i18n/seasons.hi.ts +10 -0
- package/src/i18n/seasons.ja.ts +10 -0
- package/src/i18n/seasons.ko.ts +10 -0
- package/src/i18n/seasons.pt-BR.ts +10 -0
- package/src/i18n/seasons.ru.ts +10 -0
- package/src/i18n/seasons.zh-CN.ts +10 -0
- package/src/i18n/setting.ar.ts +73 -0
- package/src/i18n/setting.de.ts +73 -0
- package/src/i18n/setting.es.ts +77 -0
- package/src/i18n/setting.fr.ts +73 -0
- package/src/i18n/setting.he.ts +76 -0
- package/src/i18n/setting.hi.ts +76 -0
- package/src/i18n/setting.ja.ts +78 -0
- package/src/i18n/setting.ko.ts +76 -0
- package/src/i18n/setting.pt-BR.ts +78 -0
- package/src/i18n/setting.ru.ts +76 -0
- package/src/i18n/setting.zh-CN.ts +76 -0
- package/src/i18n/style.ar.ts +55 -0
- package/src/i18n/style.de.ts +54 -0
- package/src/i18n/style.es.ts +54 -0
- package/src/i18n/style.fr.ts +54 -0
- package/src/i18n/style.he.ts +54 -0
- package/src/i18n/style.hi.ts +54 -0
- package/src/i18n/style.ja.ts +54 -0
- package/src/i18n/style.ko.ts +54 -0
- package/src/i18n/style.pt-BR.ts +56 -0
- package/src/i18n/style.ru.ts +54 -0
- package/src/i18n/style.zh-CN.ts +54 -0
- package/src/i18n/styling.ar.ts +295 -0
- package/src/i18n/styling.de.ts +285 -0
- package/src/i18n/styling.es.ts +317 -0
- package/src/i18n/styling.fr.ts +285 -0
- package/src/i18n/styling.he.ts +307 -0
- package/src/i18n/styling.hi.ts +323 -0
- package/src/i18n/styling.ja.ts +317 -0
- package/src/i18n/styling.ko.ts +311 -0
- package/src/i18n/styling.pt-BR.ts +301 -0
- package/src/i18n/styling.ru.ts +301 -0
- package/src/i18n/styling.zh-CN.ts +307 -0
- package/src/i18n/temporal.ar.ts +31 -0
- package/src/i18n/temporal.de.ts +24 -0
- package/src/i18n/temporal.es.ts +27 -0
- package/src/i18n/temporal.fr.ts +28 -0
- package/src/i18n/temporal.he.ts +31 -0
- package/src/i18n/temporal.hi.ts +31 -0
- package/src/i18n/temporal.ja.ts +31 -0
- package/src/i18n/temporal.ko.ts +31 -0
- package/src/i18n/temporal.pt-BR.ts +31 -0
- package/src/i18n/temporal.ru.ts +31 -0
- package/src/i18n/temporal.zh-CN.ts +31 -0
- package/src/i18n/transitions.ar.ts +97 -0
- package/src/i18n/transitions.de.ts +97 -0
- package/src/i18n/transitions.es.ts +97 -0
- package/src/i18n/transitions.fr.ts +97 -0
- package/src/i18n/transitions.he.ts +97 -0
- package/src/i18n/transitions.hi.ts +97 -0
- package/src/i18n/transitions.ja.ts +97 -0
- package/src/i18n/transitions.ko.ts +97 -0
- package/src/i18n/transitions.pt-BR.ts +97 -0
- package/src/i18n/transitions.ru.ts +97 -0
- package/src/i18n/transitions.zh-CN.ts +97 -0
- package/src/i18n/types.ts +158 -0
- package/src/i18n/vehicles.ar.ts +137 -0
- package/src/i18n/vehicles.de.ts +125 -0
- package/src/i18n/vehicles.es.ts +138 -0
- package/src/i18n/vehicles.fr.ts +125 -0
- package/src/i18n/vehicles.he.ts +136 -0
- package/src/i18n/vehicles.hi.ts +138 -0
- package/src/i18n/vehicles.ja.ts +138 -0
- package/src/i18n/vehicles.ko.ts +138 -0
- package/src/i18n/vehicles.pt-BR.ts +136 -0
- package/src/i18n/vehicles.ru.ts +136 -0
- package/src/i18n/vehicles.zh-CN.ts +136 -0
- package/src/i18n/voice-character.ar.ts +126 -0
- package/src/i18n/voice-character.de.ts +126 -0
- package/src/i18n/voice-character.es.ts +126 -0
- package/src/i18n/voice-character.fr.ts +126 -0
- package/src/i18n/voice-character.he.ts +126 -0
- package/src/i18n/voice-character.hi.ts +126 -0
- package/src/i18n/voice-character.ja.ts +126 -0
- package/src/i18n/voice-character.ko.ts +126 -0
- package/src/i18n/voice-character.pt-BR.ts +126 -0
- package/src/i18n/voice-character.ru.ts +126 -0
- package/src/i18n/voice-character.zh-CN.ts +126 -0
- package/src/i18n/voice-delivery.ar.ts +77 -0
- package/src/i18n/voice-delivery.de.ts +77 -0
- package/src/i18n/voice-delivery.es.ts +77 -0
- package/src/i18n/voice-delivery.fr.ts +77 -0
- package/src/i18n/voice-delivery.he.ts +77 -0
- package/src/i18n/voice-delivery.hi.ts +77 -0
- package/src/i18n/voice-delivery.ja.ts +77 -0
- package/src/i18n/voice-delivery.ko.ts +77 -0
- package/src/i18n/voice-delivery.pt-BR.ts +77 -0
- package/src/i18n/voice-delivery.ru.ts +77 -0
- package/src/i18n/voice-delivery.zh-CN.ts +77 -0
- package/src/i18n/weapons.ar.ts +115 -0
- package/src/i18n/weapons.de.ts +114 -0
- package/src/i18n/weapons.es.ts +116 -0
- package/src/i18n/weapons.fr.ts +103 -0
- package/src/i18n/weapons.he.ts +114 -0
- package/src/i18n/weapons.hi.ts +116 -0
- package/src/i18n/weapons.ja.ts +116 -0
- package/src/i18n/weapons.ko.ts +116 -0
- package/src/i18n/weapons.pt-BR.ts +114 -0
- package/src/i18n/weapons.ru.ts +114 -0
- package/src/i18n/weapons.zh-CN.ts +114 -0
- package/src/image-critic-node.ts +61 -0
- package/src/image-critic-types.ts +40 -0
- package/src/index.ts +866 -0
- package/src/inject-upstream.ts +15 -0
- package/src/inpaint-region.ts +51 -0
- package/src/json-evaluator.ts +732 -0
- package/src/json-path.ts +52 -0
- package/src/lip-sync-pricing.ts +90 -0
- package/src/list-merge.ts +40 -0
- package/src/list-sort.ts +122 -0
- package/src/list-source-resolver.ts +50 -0
- package/src/llm-models.ts +245 -0
- package/src/location-mention-slug.ts +291 -0
- package/src/location-preset-catalog-map.ts +128 -0
- package/src/loop-delimiter.ts +73 -0
- package/src/lora-routing.ts +95 -0
- package/src/lottie-overlay-catalog.ts +175 -0
- package/src/lottie-slots.ts +309 -0
- package/src/model-catalog.ts +2386 -0
- package/src/model-constants.ts +1910 -0
- package/src/model-tree.ts +120 -0
- package/src/monetization.ts +15 -0
- package/src/multi-pick.ts +42 -0
- package/src/node-default-mappings.ts +262 -0
- package/src/node-mappable-fields.ts +70 -0
- package/src/node-preset-export.ts +56 -0
- package/src/node-preset-extract.ts +147 -0
- package/src/node-refs.ts +253 -0
- package/src/node-runtime-keys.ts +117 -0
- package/src/object-aspect-defaults.ts +72 -0
- package/src/object-picker-types.ts +22 -0
- package/src/parameter-node-value.ts +284 -0
- package/src/pinterest-url.ts +28 -0
- package/src/pipeline-chat.ts +72 -0
- package/src/pipeline-defaults.ts +318 -0
- package/src/pipeline-events.ts +162 -0
- package/src/pipeline-state-types.ts +196 -0
- package/src/pipeline-types.ts +647 -0
- package/src/pipeline-validation.ts +87 -0
- package/src/presentation-types.ts +23 -0
- package/src/presentation-utils.ts +397 -0
- package/src/producer-types.ts +188 -0
- package/src/progress-curve.ts +99 -0
- package/src/provider-directive-defaults.ts +69 -0
- package/src/reduce-strategy-registry.ts +121 -0
- package/src/reference-board-templates.ts +81 -0
- package/src/reference-roles.ts +153 -0
- package/src/reference-sheet/__tests__/board-to-column.test.ts +20 -0
- package/src/reference-sheet/__tests__/catalog.test.ts +50 -0
- package/src/reference-sheet/__tests__/cost.test.ts +38 -0
- package/src/reference-sheet/__tests__/no-drift.test.ts +28 -0
- package/src/reference-sheet/__tests__/panel-plan.test.ts +61 -0
- package/src/reference-sheet/__tests__/panel-prompts.test.ts +17 -0
- package/src/reference-sheet/__tests__/plan-generation.test.ts +72 -0
- package/src/reference-sheet/__tests__/presets.test.ts +54 -0
- package/src/reference-sheet/__tests__/types.test.ts +24 -0
- package/src/reference-sheet/catalog.ts +144 -0
- package/src/reference-sheet/cost.ts +37 -0
- package/src/reference-sheet/credit-id.ts +7 -0
- package/src/reference-sheet/index.ts +8 -0
- package/src/reference-sheet/panel-plan.ts +65 -0
- package/src/reference-sheet/panel-prompts.ts +14 -0
- package/src/reference-sheet/plan-generation.ts +79 -0
- package/src/reference-sheet/presets.ts +77 -0
- package/src/reference-sheet/types.ts +92 -0
- package/src/repeat-types.ts +97 -0
- package/src/resolve-field-mappings.ts +119 -0
- package/src/route-filter.ts +80 -0
- package/src/scene-helper-types.ts +249 -0
- package/src/scene-node-types.ts +281 -0
- package/src/scraper-actors.ts +57 -0
- package/src/scraper-output-schemas.ts +25 -0
- package/src/seasons.ts +45 -0
- package/src/selector.ts +864 -0
- package/src/settled-with-limit.ts +42 -0
- package/src/shot-element.ts +43 -0
- package/src/social-media-specs.ts +121 -0
- package/src/social-post.ts +24 -0
- package/src/sub-workflow-validation.ts +78 -0
- package/src/supported-fonts.ts +40 -0
- package/src/surround.ts +113 -0
- package/src/switchx-pricing.ts +33 -0
- package/src/text-separators.ts +59 -0
- package/src/to-connected-references.ts +77 -0
- package/src/types.ts +272 -0
- package/src/variant-job-id.ts +17 -0
- package/src/vehicles.ts +213 -0
- package/src/video-analysis-pricing.ts +74 -0
- package/src/video-analysis.ts +127 -0
- package/src/video-duration.ts +25 -0
- package/src/voice-changer-models.ts +36 -0
- package/src/voice-matcher-types.ts +37 -0
- package/src/voices.ts +92 -0
- package/src/weapons.ts +190 -0
- package/src/workflow-export.ts +153 -0
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import type { LocaleCatalogMap } from "./types.js"
|
|
2
|
+
|
|
3
|
+
const map: LocaleCatalogMap = {
|
|
4
|
+
// 20th-century decades
|
|
5
|
+
"1920s-flapper": { label: "Flapper des années 1920", description: "Glamour des speakeasies de l'âge du jazz" },
|
|
6
|
+
"1930s-art-deco": { label: "Art déco des années 1930", description: "Glamour deco aérodynamique" },
|
|
7
|
+
"1940s-wartime": { label: "Années 1940 en temps de guerre", description: "Utilité de guerre et victory rolls" },
|
|
8
|
+
"1950s-diner": { label: "Diner / Pin-up des années 1950", description: "Diners chromés et pin-ups bouffants" },
|
|
9
|
+
"1960s-mod": { label: "Mod des années 1960", description: "Graphisme mod du Swinging London" },
|
|
10
|
+
"1970s-disco": { label: "Disco des années 1970", description: "Paillettes Studio 54 boules à facettes" },
|
|
11
|
+
"1980s-neon": { label: "Néon des années 1980", description: "Excès néon MTV à épaulettes" },
|
|
12
|
+
"1990s-mall": { label: "Centre commercial des années 1990", description: "Années 90 mall-rat grunge-pop" },
|
|
13
|
+
"2000s-y2k": { label: "Tabloïd / Y2K des années 2000", description: "Tabloïd taille basse au flash de paparazzi" },
|
|
14
|
+
// Pre-modern
|
|
15
|
+
"medieval": { label: "Médiéval", description: "Moyen Âge européen aux châteaux de pierre" },
|
|
16
|
+
"renaissance": { description: "Grandeur florentine velours-et-fresque" },
|
|
17
|
+
"victorian": { label: "Victorien", description: "XIXe siècle corseté-et-dentelle aux gaslampes" },
|
|
18
|
+
"edwardian": { label: "Édouardien", description: "Raffinement Belle Époque jardin de thé" },
|
|
19
|
+
"wild-west": { label: "Far West", description: "Americana frontière cowboy au soleil cuisant" },
|
|
20
|
+
"ancient-rome": { label: "Rome antique", description: "Rome impériale aux colonnes de marbre" },
|
|
21
|
+
"ancient-egypt": { label: "Égypte antique", description: "Or et lin pharaonique du Nil" },
|
|
22
|
+
"feudal-japan": { label: "Japon féodal", description: "Samouraïs et geishas de l'ère Edo" },
|
|
23
|
+
"roaring-prewar": { label: "Roaring d'avant-guerre", description: "Cusp art-nouveau de la fin des années 1910" },
|
|
24
|
+
// Speculative
|
|
25
|
+
"near-future": { label: "Futur proche", description: "Plausible 5 à 15 ans dans l'avenir" },
|
|
26
|
+
"far-future": { label: "Futur lointain", description: "Voyage spatial à des siècles d'avance" },
|
|
27
|
+
"dieselpunk": { description: "Histoire alternative industrielle des années 1930-40" },
|
|
28
|
+
"atompunk": { description: "Optimisme spatial futur des années 1950" },
|
|
29
|
+
"cyberpunk-future": { label: "Futur cyberpunk", description: "Mégapole néon high-tech low-life" },
|
|
30
|
+
"post-apocalyptic": { label: "Post-apocalyptique", description: "Survie de pillards des terres désolées" },
|
|
31
|
+
"retrofuturism": { label: "Rétrofuturisme", description: "Nostalgie du demain d'hier" },
|
|
32
|
+
"atomic-age-50s": { label: "Âge atomique des années 50", description: "Futurisme sci-fi des années 1950 + angoisse de Guerre froide" },
|
|
33
|
+
"gen-z-2020s": { label: "Gen Z années 2020", description: "Composition phone-first, style codé TikTok, revival Y2K" },
|
|
34
|
+
"fin-de-siecle": { label: "Fin de siècle", description: "Élégance européenne Belle Époque de fin de siècle" },
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
export default map
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import type { LocaleCatalogMap } from "./types.js"
|
|
2
|
+
|
|
3
|
+
const map: LocaleCatalogMap = {
|
|
4
|
+
"1920s-flapper": { label: "Flapper שנות ה-1920", description: "זוהר speakeasy של עידן הג'אז" },
|
|
5
|
+
"1930s-art-deco": { label: "Art Deco שנות ה-1930", description: "זוהר deco שטוח" },
|
|
6
|
+
"1940s-wartime": { label: "תקופת המלחמה שנות ה-1940", description: "תועלתנות מלחמה ו-victory rolls" },
|
|
7
|
+
"1950s-diner": { label: "Diner / Pin-up שנות ה-1950", description: "Diners כרומיים ו-pin-ups עם בופנט" },
|
|
8
|
+
"1960s-mod": { label: "Mod שנות ה-1960", description: "Mod גרפי של Swinging-London" },
|
|
9
|
+
"1970s-disco": { label: "דיסקו שנות ה-1970", description: "נצנצי כדור מראה של Studio-54" },
|
|
10
|
+
"1980s-neon": { label: "ניאון שנות ה-1980", description: "עודפות ניאון של MTV ו-power-suit" },
|
|
11
|
+
"1990s-mall": { label: "Mall שנות ה-1990", description: "Grunge-and-pop של mall-rat שנות ה-90" },
|
|
12
|
+
"2000s-y2k": { label: "Tabloid / Y2K שנות ה-2000", description: "Tabloid של פלאש פפראצי וג'ינס נמוך" },
|
|
13
|
+
|
|
14
|
+
"medieval": { label: "ימי הביניים", description: "ימי ביניים אירופאיים של טירות אבן" },
|
|
15
|
+
"renaissance": { label: "רנסנס", description: "פאר פירנציאני של קטיפה ופרסקו" },
|
|
16
|
+
"victorian": { label: "ויקטוריאני", description: "המאה ה-19 בקורסט ותחרה לאור גז" },
|
|
17
|
+
"edwardian": { label: "אדוארדיאני", description: "עדינות belle-epoque של גן תה" },
|
|
18
|
+
"wild-west": { label: "המערב הפרוע", description: "Americana של בוקר ספר אפויה בשמש" },
|
|
19
|
+
"ancient-rome": { label: "רומא העתיקה", description: "רומא הקיסרית של עמודי שיש" },
|
|
20
|
+
"ancient-egypt": { label: "מצרים העתיקה", description: "פרעוני זהב-ופשתן על הנילוס" },
|
|
21
|
+
"feudal-japan": { label: "יפן הפיאודלית", description: "סמוראי-וגיישה של תקופת אדו" },
|
|
22
|
+
"roaring-prewar": { label: "Roaring שלפני המלחמה", description: "סף art-nouveau של סוף שנות ה-1910" },
|
|
23
|
+
|
|
24
|
+
"near-future": { label: "עתיד קרוב", description: "5 עד 15 שנים קדימה באופן סביר" },
|
|
25
|
+
"far-future": { label: "עתיד רחוק", description: "מסעות חלל מאות שנים קדימה" },
|
|
26
|
+
"dieselpunk": { label: "Dieselpunk", description: "היסטוריה אלטרנטיבית תעשייתית של שנות ה-30-40" },
|
|
27
|
+
"atompunk": { label: "Atompunk", description: "אופטימיות של עידן החלל מ-1950 לעתיד" },
|
|
28
|
+
"cyberpunk-future": { label: "עתיד Cyberpunk", description: "Mega-city ניאוני של high-tech low-life" },
|
|
29
|
+
"post-apocalyptic": { label: "פוסט-אפוקליפטי", description: "הישרדות באדמת בור של מלקטים" },
|
|
30
|
+
"retrofuturism": { label: "Retrofuturism", description: "נוסטלגיית המחר של אתמול" },
|
|
31
|
+
"atomic-age-50s": { label: "עידן האטום שנות ה-50", description: "פוטוריזם sci-fi של שנות ה-1950 + חרדת מלחמה קרה" },
|
|
32
|
+
"gen-z-2020s": { label: "Gen Z שנות ה-2020", description: "הרכב phone-first, סטיילינג מקודד TikTok, החייאת Y2K" },
|
|
33
|
+
"fin-de-siecle": { label: "Fin-de-siècle", description: "אלגנטיות אירופאית של Belle Epoque בסוף המאה" },
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
export default map
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import type { LocaleCatalogMap } from "./types.js"
|
|
2
|
+
|
|
3
|
+
const map: LocaleCatalogMap = {
|
|
4
|
+
// -------------------- 20th-century decades --------------------
|
|
5
|
+
"1920s-flapper": { label: "1920s Flapper", description: "Jazz-age speakeasy glamour" },
|
|
6
|
+
"1930s-art-deco": { label: "1930s Art Deco", description: "Streamlined deco glamour" },
|
|
7
|
+
"1940s-wartime": { label: "1940s Wartime", description: "युद्धकालीन utility और victory rolls" },
|
|
8
|
+
"1950s-diner": { label: "1950s Diner / Pin-up", description: "Chrome diners और bouffant pin-ups" },
|
|
9
|
+
"1960s-mod": { label: "1960s Mod", description: "Swinging-London mod graphic" },
|
|
10
|
+
"1970s-disco": { label: "1970s Disco", description: "Studio-54 mirror-ball glitter" },
|
|
11
|
+
"1980s-neon": { label: "1980s Neon", description: "Power-suit MTV neon excess" },
|
|
12
|
+
"1990s-mall": { label: "1990s Mall", description: "Mall-rat grunge-and-pop nineties" },
|
|
13
|
+
"2000s-y2k": { label: "2000s Tabloid / Y2K", description: "Paparazzi-flash low-rise tabloid" },
|
|
14
|
+
|
|
15
|
+
// -------------------- Pre-modern --------------------
|
|
16
|
+
"medieval": { label: "मध्यकालीन", description: "पत्थर के क़िले वाला यूरोपीय Middle Ages" },
|
|
17
|
+
"renaissance": { label: "Renaissance", description: "Florentine velvet-and-fresco भव्यता" },
|
|
18
|
+
"victorian": { label: "Victorian", description: "Gas-lit corseted-and-lace 19वीं शताब्दी" },
|
|
19
|
+
"edwardian": { label: "Edwardian", description: "Belle-epoque tea-garden परिष्कार" },
|
|
20
|
+
"wild-west": { label: "Wild West", description: "धूप में पकी frontier-cowboy Americana" },
|
|
21
|
+
"ancient-rome": { label: "प्राचीन रोम", description: "संगमरमर के स्तंभों वाला imperial रोम" },
|
|
22
|
+
"ancient-egypt": { label: "प्राचीन मिस्र", description: "Pharaonic gold-and-linen Nile" },
|
|
23
|
+
"feudal-japan": { label: "Feudal जापान", description: "Edo-period samurai-and-geisha" },
|
|
24
|
+
"roaring-prewar": { label: "Pre-War Roaring", description: "1910 के दशक के अंत का art-nouveau किनारा" },
|
|
25
|
+
|
|
26
|
+
// -------------------- Speculative --------------------
|
|
27
|
+
"near-future": { label: "Near-Future", description: "विश्वसनीय 5-से-15-साल-आगे" },
|
|
28
|
+
"far-future": { label: "Far-Future", description: "सदियों-आगे spacefaring" },
|
|
29
|
+
"dieselpunk": { label: "Dieselpunk", description: "1930-40 के दशक का industrial alt-history" },
|
|
30
|
+
"atompunk": { label: "Atompunk", description: "1950 के भविष्य का space-age आशावाद" },
|
|
31
|
+
"cyberpunk-future": { label: "Cyberpunk Future", description: "Neon-megacity high-tech low-life" },
|
|
32
|
+
"post-apocalyptic": { label: "Post-Apocalyptic", description: "Scavenger wasteland survival" },
|
|
33
|
+
"retrofuturism": { label: "Retrofuturism", description: "बीते कल का कल — nostalgia" },
|
|
34
|
+
"atomic-age-50s": { label: "Atomic Age 50s", description: "1950 के दशक का sci-fi futurism और Cold War चिंता" },
|
|
35
|
+
"gen-z-2020s": { label: "Gen Z 2020s", description: "Phone-first composition, TikTok-coded styling, Y2K revival" },
|
|
36
|
+
"fin-de-siecle": { label: "Fin-de-siècle", description: "Belle Epoque सदी के अंत का यूरोपीय लालित्य" },
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
export default map
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import type { LocaleCatalogMap } from "./types.js"
|
|
2
|
+
|
|
3
|
+
const map: LocaleCatalogMap = {
|
|
4
|
+
// 20th-century decades
|
|
5
|
+
"1920s-flapper": { label: "1920年代フラッパー", description: "ジャズエイジのスピークイージー・グラマー" },
|
|
6
|
+
"1930s-art-deco": { label: "1930年代アール・デコ", description: "流線型デコのグラマー" },
|
|
7
|
+
"1940s-wartime": { label: "1940年代戦時下", description: "戦時下のユーティリティとビクトリーロール" },
|
|
8
|
+
"1950s-diner": { label: "1950年代ダイナー/ピンナップ", description: "クロームのダイナーとボウファントのピンナップ" },
|
|
9
|
+
"1960s-mod": { label: "1960年代モッド", description: "スウィンギング・ロンドンのグラフィックなモッド" },
|
|
10
|
+
"1970s-disco": { label: "1970年代ディスコ", description: "スタジオ54のミラーボール・グリッター" },
|
|
11
|
+
"1980s-neon": { label: "1980年代ネオン", description: "パワースーツとMTVのネオン的過剰さ" },
|
|
12
|
+
"1990s-mall": { label: "1990年代モール", description: "モールラットのグランジとポップが混じる90年代" },
|
|
13
|
+
"2000s-y2k": { label: "2000年代タブロイド/Y2K", description: "パパラッチフラッシュのローライズ・タブロイド" },
|
|
14
|
+
|
|
15
|
+
// Pre-modern
|
|
16
|
+
"medieval": { label: "中世", description: "石造りの城とヨーロッパ中世" },
|
|
17
|
+
"renaissance": { label: "ルネサンス", description: "フィレンツェのベルベットとフレスコの壮麗さ" },
|
|
18
|
+
"victorian": { label: "ヴィクトリアン", description: "ガス灯下のコルセットとレースの19世紀" },
|
|
19
|
+
"edwardian": { label: "エドワーディアン", description: "ベル・エポックのティーガーデンの優雅さ" },
|
|
20
|
+
"wild-west": { label: "ワイルドウエスト", description: "陽に焼けたフロンティアのカウボーイ・アメリカーナ" },
|
|
21
|
+
"ancient-rome": { label: "古代ローマ", description: "大理石の柱が立ち並ぶ帝国ローマ" },
|
|
22
|
+
"ancient-egypt": { label: "古代エジプト", description: "ファラオの黄金とリネンのナイル川" },
|
|
23
|
+
"feudal-japan": { label: "封建日本", description: "江戸時代の侍と芸者" },
|
|
24
|
+
"roaring-prewar": { label: "戦前のロアリング", description: "1910年代後半のアール・ヌーヴォーの境目" },
|
|
25
|
+
|
|
26
|
+
// Speculative
|
|
27
|
+
"near-future": { label: "近未来", description: "5〜15年先のもっともらしい未来" },
|
|
28
|
+
"far-future": { label: "遠未来", description: "数世紀先の宇宙航行時代" },
|
|
29
|
+
"dieselpunk": { label: "ディーゼルパンク", description: "1930〜40年代の工業オルタナ史" },
|
|
30
|
+
"atompunk": { label: "アトムパンク", description: "1950年代未来の宇宙時代の楽観主義" },
|
|
31
|
+
"cyberpunk-future": { label: "サイバーパンク未来", description: "ネオンの巨大都市のハイテク・ローライフ" },
|
|
32
|
+
"post-apocalyptic": { label: "ポスト・アポカリプス", description: "スカベンジャーの荒野生存" },
|
|
33
|
+
"retrofuturism": { label: "レトロフューチャリズム", description: "昨日の明日のノスタルジア" },
|
|
34
|
+
|
|
35
|
+
// Additional eras
|
|
36
|
+
"atomic-age-50s": { label: "アトミック・エイジ(1950年代)", description: "1950年代のSF未来主義と冷戦期の不安" },
|
|
37
|
+
"gen-z-2020s": { label: "Z世代(2020年代)", description: "スマホファーストの構図、TikTok調のスタイリング、Y2Kリバイバル" },
|
|
38
|
+
"fin-de-siecle": { label: "フィン・ド・シエクル", description: "ベル・エポックの世紀末ヨーロッパの優雅さ" },
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
export default map
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import type { LocaleCatalogMap } from "./types.js"
|
|
2
|
+
|
|
3
|
+
const map: LocaleCatalogMap = {
|
|
4
|
+
// 20th-century decades
|
|
5
|
+
"1920s-flapper": { label: "1920년대 플래퍼", description: "재즈 시대 스피크이지의 글래머입니다" },
|
|
6
|
+
"1930s-art-deco": { label: "1930년대 아르데코", description: "유선형 데코의 글래머입니다" },
|
|
7
|
+
"1940s-wartime": { label: "1940년대 전시", description: "전시 유틸리티와 빅토리 롤 스타일입니다" },
|
|
8
|
+
"1950s-diner": { label: "1950년대 다이너 / 핀업", description: "크롬 다이너와 부풀린 머리의 핀업 스타일입니다" },
|
|
9
|
+
"1960s-mod": { label: "1960년대 모드", description: "스윙잉 런던의 그래픽 모드입니다" },
|
|
10
|
+
"1970s-disco": { label: "1970년대 디스코", description: "스튜디오 54의 미러볼 글리터입니다" },
|
|
11
|
+
"1980s-neon": { label: "1980년대 네온", description: "파워 슈트의 MTV 네온 과잉입니다" },
|
|
12
|
+
"1990s-mall": { label: "1990년대 몰", description: "몰 래트의 그런지와 팝이 섞인 90년대입니다" },
|
|
13
|
+
"2000s-y2k": { label: "2000년대 타블로이드 / Y2K", description: "파파라치 플래시의 로우라이즈 타블로이드입니다" },
|
|
14
|
+
|
|
15
|
+
// Pre-modern
|
|
16
|
+
"medieval": { label: "중세", description: "유럽 돌성 중세입니다" },
|
|
17
|
+
"renaissance": { label: "르네상스", description: "피렌체 벨벳과 프레스코의 웅장함입니다" },
|
|
18
|
+
"victorian": { label: "빅토리아 시대", description: "가스등 아래 코르셋과 레이스의 19세기입니다" },
|
|
19
|
+
"edwardian": { label: "에드워드 시대", description: "벨 에포크 티 가든의 세련됨입니다" },
|
|
20
|
+
"wild-west": { label: "와일드 웨스트", description: "햇볕에 그을린 변경 카우보이의 아메리카나입니다" },
|
|
21
|
+
"ancient-rome": { label: "고대 로마", description: "대리석 기둥의 제국 로마입니다" },
|
|
22
|
+
"ancient-egypt": { label: "고대 이집트", description: "파라오의 황금과 린넨, 나일강 풍경입니다" },
|
|
23
|
+
"feudal-japan": { label: "봉건 일본", description: "에도 시대 사무라이와 게이샤입니다" },
|
|
24
|
+
"roaring-prewar": { label: "프리워 로어링", description: "1910년대 후반 아르누보의 정점입니다" },
|
|
25
|
+
|
|
26
|
+
// Speculative
|
|
27
|
+
"near-future": { label: "근미래", description: "5~15년 앞을 그린 그럴듯한 미래입니다" },
|
|
28
|
+
"far-future": { label: "원미래", description: "수 세기 후의 우주 항해 시대입니다" },
|
|
29
|
+
"dieselpunk": { label: "디젤펑크", description: "1930~40년대 산업 대체 역사입니다" },
|
|
30
|
+
"atompunk": { label: "아톰펑크", description: "1950년대 미래의 우주 시대 낙관주의입니다" },
|
|
31
|
+
"cyberpunk-future": { label: "사이버펑크 미래", description: "네온 메가시티의 하이테크 로우라이프입니다" },
|
|
32
|
+
"post-apocalyptic": { label: "포스트 아포칼립스", description: "스캐빈저의 황무지 생존입니다" },
|
|
33
|
+
"retrofuturism": { label: "레트로퓨처리즘", description: "어제가 꿈꾼 내일의 향수입니다" },
|
|
34
|
+
"atomic-age-50s": { label: "원자력 시대 50s", description: "1950년대 SF 미래주의와 냉전 시대의 불안입니다" },
|
|
35
|
+
"gen-z-2020s": { label: "Z세대 2020s", description: "폰 우선의 구도, 틱톡 코드의 스타일링, Y2K 리바이벌입니다" },
|
|
36
|
+
"fin-de-siecle": { label: "Fin-de-siècle", description: "벨 에포크 세기 전환기 유럽의 우아함입니다" },
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
export default map
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import type { LocaleCatalogMap } from "./types.js"
|
|
2
|
+
|
|
3
|
+
const map: LocaleCatalogMap = {
|
|
4
|
+
// 20th-century decades
|
|
5
|
+
"1920s-flapper": { label: "Anos 1920 Flapper", description: "Glamour da era do jazz e dos speakeasies" },
|
|
6
|
+
"1930s-art-deco": { label: "Art Déco dos Anos 1930", description: "Glamour deco aerodinâmico" },
|
|
7
|
+
"1940s-wartime": { label: "Anos 1940 de Guerra", description: "Roupa utilitária de guerra e victory rolls" },
|
|
8
|
+
"1950s-diner": { label: "Lanchonete / Pin-up dos Anos 1950", description: "Lanchonetes cromadas e pin-ups com bouffant" },
|
|
9
|
+
"1960s-mod": { label: "Mod dos Anos 1960", description: "Gráfico mod de Londres" },
|
|
10
|
+
"1970s-disco": { label: "Disco dos Anos 1970", description: "Glitter de bola de espelhos do Studio 54" },
|
|
11
|
+
"1980s-neon": { label: "Neon dos Anos 1980", description: "Excesso neon de power suit e MTV" },
|
|
12
|
+
"1990s-mall": { label: "Shopping dos Anos 1990", description: "Mall-rat noventista entre grunge e pop" },
|
|
13
|
+
"2000s-y2k": { label: "Tabloide dos Anos 2000 / Y2K", description: "Tabloide low-rise sob flash de paparazzi" },
|
|
14
|
+
|
|
15
|
+
// Pre-modern
|
|
16
|
+
"medieval": { label: "Medieval", description: "Idade Média europeia em castelos de pedra" },
|
|
17
|
+
"renaissance": { label: "Renascença", description: "Grandiosidade florentina de veludo e afrescos" },
|
|
18
|
+
"victorian": { label: "Vitoriana", description: "Século XIX corseted e rendado sob a luz a gás" },
|
|
19
|
+
"edwardian": { label: "Eduardiana", description: "Refinamento Belle Époque dos jardins de chá" },
|
|
20
|
+
"wild-west": { label: "Velho Oeste", description: "Velho Oeste americano de cowboy e sol castigante" },
|
|
21
|
+
"ancient-rome": { label: "Roma Antiga", description: "Roma imperial de colunas de mármore" },
|
|
22
|
+
"ancient-egypt": { label: "Antigo Egito", description: "Egito faraônico do Nilo entre ouro e linho" },
|
|
23
|
+
"feudal-japan": { label: "Japão Feudal", description: "Era Edo de samurais e gueixas" },
|
|
24
|
+
"roaring-prewar": { label: "Pré-Guerra Roaring", description: "Limiar da art-nouveau no fim dos anos 1910" },
|
|
25
|
+
|
|
26
|
+
// Speculative
|
|
27
|
+
"near-future": { label: "Futuro Próximo", description: "5 a 15 anos à frente, plausível" },
|
|
28
|
+
"far-future": { label: "Futuro Distante", description: "Era espacial daqui a séculos" },
|
|
29
|
+
"dieselpunk": { description: "História alternativa industrial dos anos 1930-40" },
|
|
30
|
+
"atompunk": { description: "Otimismo da era atômica em estilo anos 1950" },
|
|
31
|
+
"cyberpunk-future": { label: "Futuro Cyberpunk", description: "Megacidade neon de alta tecnologia e baixa vida" },
|
|
32
|
+
"post-apocalyptic": { label: "Pós-apocalíptico", description: "Sobrevivência de sucateiros no terreno baldio" },
|
|
33
|
+
"retrofuturism": { label: "Retrofuturismo", description: "Nostalgia do amanhã de ontem" },
|
|
34
|
+
|
|
35
|
+
// Additional eras
|
|
36
|
+
"atomic-age-50s": { label: "Era Atômica Anos 50", description: "Futurismo sci-fi dos anos 1950 com ansiedade da Guerra Fria" },
|
|
37
|
+
"gen-z-2020s": { label: "Geração Z dos Anos 2020", description: "Composição phone-first, estilo TikTok-coded, revival Y2K" },
|
|
38
|
+
"fin-de-siecle": { label: "Fin-de-siècle", description: "Elegância europeia da Belle Époque na virada do século" },
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
export default map
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
import type { LocaleCatalogMap } from "./types.js"
|
|
2
|
+
|
|
3
|
+
const map: LocaleCatalogMap = {
|
|
4
|
+
// -------------------- 20th-century decades --------------------
|
|
5
|
+
"1920s-flapper": {
|
|
6
|
+
label: "Эпоха флэпперов 1920-х",
|
|
7
|
+
description: "Гламур джаз-эпохи и подпольных баров",
|
|
8
|
+
},
|
|
9
|
+
"1930s-art-deco": {
|
|
10
|
+
label: "Ар-деко 1930-х",
|
|
11
|
+
description: "Обтекаемый гламур деко",
|
|
12
|
+
},
|
|
13
|
+
"1940s-wartime": {
|
|
14
|
+
label: "Военные 1940-е",
|
|
15
|
+
description: "Военная утилитарность и причёски victory rolls",
|
|
16
|
+
},
|
|
17
|
+
"1950s-diner": {
|
|
18
|
+
label: "1950-е, закусочные / пин-ап",
|
|
19
|
+
description: "Хромированные закусочные и пышные причёски пин-апа",
|
|
20
|
+
},
|
|
21
|
+
"1960s-mod": {
|
|
22
|
+
label: "Мод 1960-х",
|
|
23
|
+
description: "Графический мод свингующего Лондона",
|
|
24
|
+
},
|
|
25
|
+
"1970s-disco": {
|
|
26
|
+
label: "Диско 1970-х",
|
|
27
|
+
description: "Блеск зеркальных шаров Studio 54",
|
|
28
|
+
},
|
|
29
|
+
"1980s-neon": {
|
|
30
|
+
label: "Неон 1980-х",
|
|
31
|
+
description: "Излишества MTV-неона и пиджаков с подплечниками",
|
|
32
|
+
},
|
|
33
|
+
"1990s-mall": {
|
|
34
|
+
label: "Молл 1990-х",
|
|
35
|
+
description: "Гранж и поп торговых центров 90-х",
|
|
36
|
+
},
|
|
37
|
+
"2000s-y2k": {
|
|
38
|
+
label: "Таблоиды / Y2K 2000-х",
|
|
39
|
+
description: "Папарацци-вспышка и низкая посадка",
|
|
40
|
+
},
|
|
41
|
+
|
|
42
|
+
// -------------------- Pre-modern --------------------
|
|
43
|
+
"medieval": {
|
|
44
|
+
label: "Средневековье",
|
|
45
|
+
description: "Европейское средневековье каменных замков",
|
|
46
|
+
},
|
|
47
|
+
"renaissance": {
|
|
48
|
+
label: "Возрождение",
|
|
49
|
+
description: "Флорентийское великолепие бархата и фресок",
|
|
50
|
+
},
|
|
51
|
+
"victorian": {
|
|
52
|
+
label: "Викторианская эпоха",
|
|
53
|
+
description: "Газовый свет, корсеты и кружево XIX века",
|
|
54
|
+
},
|
|
55
|
+
"edwardian": {
|
|
56
|
+
label: "Эдвардианская эпоха",
|
|
57
|
+
description: "Утончённость чайного сада прекрасной эпохи",
|
|
58
|
+
},
|
|
59
|
+
"wild-west": {
|
|
60
|
+
label: "Дикий Запад",
|
|
61
|
+
description: "Выжженная солнцем фронтирная Америка ковбоев",
|
|
62
|
+
},
|
|
63
|
+
"ancient-rome": {
|
|
64
|
+
label: "Древний Рим",
|
|
65
|
+
description: "Мраморноколонный имперский Рим",
|
|
66
|
+
},
|
|
67
|
+
"ancient-egypt": {
|
|
68
|
+
label: "Древний Египет",
|
|
69
|
+
description: "Фараонское золото и лён Нила",
|
|
70
|
+
},
|
|
71
|
+
"feudal-japan": {
|
|
72
|
+
label: "Феодальная Япония",
|
|
73
|
+
description: "Самураи и гейши периода Эдо",
|
|
74
|
+
},
|
|
75
|
+
"roaring-prewar": {
|
|
76
|
+
label: "Довоенная роскошь",
|
|
77
|
+
description: "Грань ар-нуво конца 1910-х",
|
|
78
|
+
},
|
|
79
|
+
|
|
80
|
+
// -------------------- Speculative --------------------
|
|
81
|
+
"near-future": {
|
|
82
|
+
label: "Ближайшее будущее",
|
|
83
|
+
description: "Правдоподобное будущее через 5-15 лет",
|
|
84
|
+
},
|
|
85
|
+
"far-future": {
|
|
86
|
+
label: "Далёкое будущее",
|
|
87
|
+
description: "Космическая эпоха через столетия",
|
|
88
|
+
},
|
|
89
|
+
"dieselpunk": {
|
|
90
|
+
description: "Индустриальная альтистория 1930-40-х",
|
|
91
|
+
},
|
|
92
|
+
"atompunk": {
|
|
93
|
+
description: "Космическая эпоха оптимизма 1950-х",
|
|
94
|
+
},
|
|
95
|
+
"cyberpunk-future": {
|
|
96
|
+
label: "Киберпанк-будущее",
|
|
97
|
+
description: "Хай-тек низкая жизнь неонового мегаполиса",
|
|
98
|
+
},
|
|
99
|
+
"post-apocalyptic": {
|
|
100
|
+
label: "Постапокалипсис",
|
|
101
|
+
description: "Выживание в пустоши собирателями",
|
|
102
|
+
},
|
|
103
|
+
"retrofuturism": {
|
|
104
|
+
label: "Ретрофутуризм",
|
|
105
|
+
description: "Ностальгия по вчерашнему завтра",
|
|
106
|
+
},
|
|
107
|
+
"atomic-age-50s": {
|
|
108
|
+
label: "Атомная эпоха 1950-х",
|
|
109
|
+
description: "Сай-фай футуризм 1950-х и тревога холодной войны",
|
|
110
|
+
},
|
|
111
|
+
"gen-z-2020s": {
|
|
112
|
+
label: "Поколение Z, 2020-е",
|
|
113
|
+
description: "Композиция в первую очередь под телефон, стиль с кодами TikTok, возрождение Y2K",
|
|
114
|
+
},
|
|
115
|
+
"fin-de-siecle": {
|
|
116
|
+
label: "Fin-de-siècle",
|
|
117
|
+
description: "Прекрасная эпоха, элегантность европейского рубежа веков",
|
|
118
|
+
},
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
export default map
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import type { LocaleCatalogMap } from "./types.js"
|
|
2
|
+
|
|
3
|
+
const map: LocaleCatalogMap = {
|
|
4
|
+
// -------------------- 20th-century decades --------------------
|
|
5
|
+
"1920s-flapper": { label: "1920 年代 Flapper", description: "爵士时代地下酒吧的魅惑感" },
|
|
6
|
+
"1930s-art-deco": { label: "1930 年代装饰艺术", description: "流线型 Art Deco 魅惑感" },
|
|
7
|
+
"1940s-wartime": { label: "1940 年代战时", description: "战时实用风与胜利卷发" },
|
|
8
|
+
"1950s-diner": { label: "1950 年代餐车 / 海报女郎", description: "镀铬餐车与高蓬蓬头海报女郎" },
|
|
9
|
+
"1960s-mod": { label: "1960 年代 Mod", description: "摆动伦敦 Mod 图形感" },
|
|
10
|
+
"1970s-disco": { label: "1970 年代迪斯科", description: "Studio 54 的镜面球闪光" },
|
|
11
|
+
"1980s-neon": { label: "1980 年代霓虹", description: "肩垫 MTV 霓虹过剩感" },
|
|
12
|
+
"1990s-mall": { label: "1990 年代商场", description: "商场少女味 Grunge 与流行九十年代" },
|
|
13
|
+
"2000s-y2k": { label: "2000 年代狗仔 / Y2K", description: "狗仔闪光下的低腰小报时代" },
|
|
14
|
+
"atomic-age-50s": { label: "1950 年代原子时代", description: "1950 年代科幻未来感叠加冷战焦虑" },
|
|
15
|
+
"gen-z-2020s": { label: "Z 世代 2020 年代", description: "手机优先构图,TikTok 化造型,Y2K 复兴" },
|
|
16
|
+
"fin-de-siecle": { label: "世纪末", description: "美好年代的世纪之交欧式优雅" },
|
|
17
|
+
|
|
18
|
+
// -------------------- Pre-modern --------------------
|
|
19
|
+
"medieval": { label: "中世纪", description: "欧洲石堡中世纪" },
|
|
20
|
+
"renaissance": { label: "文艺复兴", description: "佛罗伦萨天鹅绒与壁画的辉煌" },
|
|
21
|
+
"victorian": { label: "维多利亚时代", description: "煤气灯下的紧身胸衣与蕾丝 19 世纪" },
|
|
22
|
+
"edwardian": { label: "爱德华时代", description: "美好年代的茶园细致感" },
|
|
23
|
+
"wild-west": { label: "美西拓荒", description: "烈日下的边境牛仔美式风" },
|
|
24
|
+
"ancient-rome": { label: "古罗马", description: "大理石柱廊的帝国罗马" },
|
|
25
|
+
"ancient-egypt":{ label: "古埃及", description: "法老金饰与亚麻的尼罗河" },
|
|
26
|
+
"feudal-japan": { label: "幕府日本", description: "江户时代的武士与艺伎" },
|
|
27
|
+
"roaring-prewar":{ label: "战前喧嚣岁月",description: "1910 年代末新艺术运动的临界感" },
|
|
28
|
+
|
|
29
|
+
// -------------------- Speculative --------------------
|
|
30
|
+
"near-future": { label: "近未来", description: "5 至 15 年内可信的未来" },
|
|
31
|
+
"far-future": { label: "远未来", description: "数百年后的星际时代" },
|
|
32
|
+
"dieselpunk": { label: "Dieselpunk 柴油朋克", description: "1930–40 年代工业架空历史" },
|
|
33
|
+
"atompunk": { label: "Atompunk 原子朋克", description: "1950 年代未来感的太空时代乐观主义" },
|
|
34
|
+
"cyberpunk-future": { label: "赛博朋克未来", description: "霓虹大都会的高科技低生活" },
|
|
35
|
+
"post-apocalyptic": { label: "后末日", description: "拾荒者的废土生存" },
|
|
36
|
+
"retrofuturism": { label: "复古未来主义", description: "昨日想象中的明日怀旧" },
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
export default map
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import type { LocaleCatalogMap } from "./types.js"
|
|
2
|
+
|
|
3
|
+
const map: LocaleCatalogMap = {
|
|
4
|
+
"aperture-f1-2": { description: "عمق ميدان رفيع جدا، بوكيه حالم" },
|
|
5
|
+
"aperture-f1-4": { description: "عزل قوي للموضوع" },
|
|
6
|
+
"aperture-f1-8": { description: "فصل بورتريه كلاسيكي" },
|
|
7
|
+
"aperture-f2-8": { description: "موضوع حاد، خلفية ناعمة" },
|
|
8
|
+
"aperture-f4": { description: "عمق ميدان يومي متوازن" },
|
|
9
|
+
"aperture-f5-6": { description: "حدة عبر الموضوع" },
|
|
10
|
+
"aperture-f8": { description: "ذروة الحدة" },
|
|
11
|
+
"aperture-f11": { description: "عمق ميدان واسع للمناظر الطبيعية" },
|
|
12
|
+
"aperture-f16": { description: "Hyperfocal، نجوم الشمس" },
|
|
13
|
+
|
|
14
|
+
"shutter-1-30": { label: "1/30 (ضبابية يدوية)", description: "تلميح لحركة محمولة باليد" },
|
|
15
|
+
"shutter-1-60": { description: "غالق يومي قياسي" },
|
|
16
|
+
"shutter-1-200": { description: "حاد على معظم المواضيع" },
|
|
17
|
+
"shutter-1-500": { description: "حاد على الحركة السريعة" },
|
|
18
|
+
"shutter-1-1000": { label: "1/1000 (تجميد حركة)", description: "تجميد رياضات/حياة برية" },
|
|
19
|
+
"shutter-long-1s": { label: "تعريض طويل (1 ثانية)", description: "خطوط ومسارات حركة" },
|
|
20
|
+
|
|
21
|
+
"iso-100": { label: "ISO 100 (نظيف)", description: "تشويش ضئيل، حبيبات دقيقة" },
|
|
22
|
+
"iso-400": { description: "نسيج خفيف، ISO يومي" },
|
|
23
|
+
"iso-800": { description: "حبيبات مرئية ولكن لطيفة" },
|
|
24
|
+
"iso-1600": { label: "ISO 1600 (حبيبات مرئية)", description: "نسيج تحريري بإضاءة منخفضة" },
|
|
25
|
+
"iso-3200": { label: "ISO 3200 (حبيبات كثيفة)", description: "إحساس وثائقي خشن مدفوع" },
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
export default map
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import type { LocaleCatalogMap } from "./types.js"
|
|
2
|
+
|
|
3
|
+
const map: LocaleCatalogMap = {
|
|
4
|
+
"aperture-f1-2": { description: "Hauchdünne Schärfentiefe, traumhaftes Bokeh" },
|
|
5
|
+
"aperture-f1-4": { description: "Aggressive Motivisolierung" },
|
|
6
|
+
"aperture-f1-8": { description: "Klassische Porträt-Trennung" },
|
|
7
|
+
"aperture-f2-8": { description: "Motiv scharf, Hintergrund weich" },
|
|
8
|
+
"aperture-f4": { description: "Ausgewogene alltägliche Schärfentiefe" },
|
|
9
|
+
"aperture-f5-6": { description: "Scharf über das gesamte Motiv" },
|
|
10
|
+
"aperture-f8": { description: "Schärfeoptimum" },
|
|
11
|
+
"aperture-f11": { description: "Tiefe Landschafts-Schärfentiefe" },
|
|
12
|
+
"aperture-f16": { description: "Hyperfokal, Sonnensterne" },
|
|
13
|
+
"shutter-1-30": { label: "1/30 (Verwacklungsunschärfe)", description: "Andeutung von Verwacklung" },
|
|
14
|
+
"shutter-1-60": { description: "Standard-Alltagsbelichtung" },
|
|
15
|
+
"shutter-1-200": { description: "Knackig auf den meisten Motiven" },
|
|
16
|
+
"shutter-1-500": { description: "Scharf auf schnelle Action" },
|
|
17
|
+
"shutter-1-1000": { label: "1/1000 (Action-Freeze)", description: "Eingefrorene Sport-/Wildlife-Aufnahmen" },
|
|
18
|
+
"shutter-long-1s": { label: "Langzeitbelichtung (1s)", description: "Streifen und Bewegungsspuren" },
|
|
19
|
+
"iso-100": { label: "ISO 100 (sauber)", description: "Minimales Rauschen, feines Korn" },
|
|
20
|
+
"iso-400": { description: "Leichte Textur, Daily-Driver-ISO" },
|
|
21
|
+
"iso-800": { description: "Sichtbares aber angenehmes Korn" },
|
|
22
|
+
"iso-1600": { label: "ISO 1600 (sichtbares Korn)", description: "Editorial-Schwachlicht-Textur" },
|
|
23
|
+
"iso-3200": { label: "ISO 3200 (starkes Korn)", description: "Gepushtes, körniges Doku-Feeling" },
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
export default map
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import type { LocaleCatalogMap } from "./types.js"
|
|
2
|
+
|
|
3
|
+
const map: LocaleCatalogMap = {
|
|
4
|
+
"aperture-f1-2": { description: "Profundidad de campo paper-thin, bokeh ensoñador" },
|
|
5
|
+
"aperture-f1-4": { description: "Aislamiento agresivo del sujeto" },
|
|
6
|
+
"aperture-f1-8": { description: "Separación clásica de retrato" },
|
|
7
|
+
"aperture-f2-8": { description: "Sujeto nítido, fondo suave" },
|
|
8
|
+
"aperture-f4": { description: "Profundidad de campo cotidiana balanceada" },
|
|
9
|
+
"aperture-f5-6": { description: "Nítido a través del sujeto" },
|
|
10
|
+
"aperture-f8": { description: "Nitidez en el punto óptimo" },
|
|
11
|
+
"aperture-f11": { description: "Profundidad de campo de paisaje profunda" },
|
|
12
|
+
"aperture-f16": { description: "Hiperfocal, estrellas de sol" },
|
|
13
|
+
|
|
14
|
+
"shutter-1-30": { label: "1/30 (movimiento en mano)", description: "Indicio de movimiento en mano" },
|
|
15
|
+
"shutter-1-60": { description: "Velocidad de obturación cotidiana estándar" },
|
|
16
|
+
"shutter-1-200": { description: "Nítido en la mayoría de los sujetos" },
|
|
17
|
+
"shutter-1-500": { description: "Nítido en acción rápida" },
|
|
18
|
+
"shutter-1-1000": { label: "1/1000 (acción congelada)", description: "Deportes/vida silvestre congelados" },
|
|
19
|
+
"shutter-long-1s": { label: "Larga exposición (1s)", description: "Trazos y estelas de movimiento" },
|
|
20
|
+
|
|
21
|
+
"iso-100": { label: "ISO 100 (limpio)", description: "Ruido mínimo, grano fino" },
|
|
22
|
+
"iso-400": { description: "Textura ligera, ISO de uso diario" },
|
|
23
|
+
"iso-800": { description: "Grano visible pero agradable" },
|
|
24
|
+
"iso-1600": { label: "ISO 1600 (grano visible)", description: "Textura editorial de poca luz" },
|
|
25
|
+
"iso-3200": { label: "ISO 3200 (grano intenso)", description: "Sensación de documental crudo y forzado" },
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
export default map
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import type { LocaleCatalogMap } from "./types.js"
|
|
2
|
+
|
|
3
|
+
const map: LocaleCatalogMap = {
|
|
4
|
+
// Aperture (label kept as f-stop technical units)
|
|
5
|
+
"aperture-f1-2": { description: "Profondeur de champ ultra-fine, bokeh onirique" },
|
|
6
|
+
"aperture-f1-4": { description: "Isolation agressive du sujet" },
|
|
7
|
+
"aperture-f1-8": { description: "Séparation portrait classique" },
|
|
8
|
+
"aperture-f2-8": { description: "Sujet net, arrière-plan doux" },
|
|
9
|
+
"aperture-f4": { description: "Profondeur de champ équilibrée du quotidien" },
|
|
10
|
+
"aperture-f5-6": { description: "Net sur tout le sujet" },
|
|
11
|
+
"aperture-f8": { description: "Netteté optimale" },
|
|
12
|
+
"aperture-f11": { description: "Profondeur de champ paysagère" },
|
|
13
|
+
"aperture-f16": { description: "Hyperfocale, étoiles de soleil" },
|
|
14
|
+
// Shutter speed (label kept as technical units)
|
|
15
|
+
"shutter-1-30": { label: "1/30 (flou tenu à la main)", description: "Soupçon de mouvement à main levée" },
|
|
16
|
+
"shutter-1-60": { description: "Vitesse standard du quotidien" },
|
|
17
|
+
"shutter-1-200": { description: "Net sur la plupart des sujets" },
|
|
18
|
+
"shutter-1-500": { description: "Net sur action rapide" },
|
|
19
|
+
"shutter-1-1000": { label: "1/1000 (figeage d'action)", description: "Sports/faune figés" },
|
|
20
|
+
"shutter-long-1s": { label: "Pose longue (1s)", description: "Filés et traînées de mouvement" },
|
|
21
|
+
// ISO (label kept as technical units)
|
|
22
|
+
"iso-100": { label: "ISO 100 (propre)", description: "Bruit minimal, grain fin" },
|
|
23
|
+
"iso-400": { description: "Légère texture, ISO du quotidien" },
|
|
24
|
+
"iso-800": { description: "Grain visible mais agréable" },
|
|
25
|
+
"iso-1600": { label: "ISO 1600 (grain visible)", description: "Texture éditoriale en faible lumière" },
|
|
26
|
+
"iso-3200": { label: "ISO 3200 (grain prononcé)", description: "Poussé, sensation documentaire crue" },
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
export default map
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import type { LocaleCatalogMap } from "./types.js"
|
|
2
|
+
|
|
3
|
+
const map: LocaleCatalogMap = {
|
|
4
|
+
"aperture-f1-2": { description: "DOF דק כתער, בוקה חולמני" },
|
|
5
|
+
"aperture-f1-4": { description: "בידוד אגרסיבי של הסובייקט" },
|
|
6
|
+
"aperture-f1-8": { description: "הפרדת פורטרט קלאסית" },
|
|
7
|
+
"aperture-f2-8": { description: "סובייקט חד, רקע רך" },
|
|
8
|
+
"aperture-f4": { description: "DOF יומיומי מאוזן" },
|
|
9
|
+
"aperture-f5-6": { description: "חד לאורך הסובייקט" },
|
|
10
|
+
"aperture-f8": { description: "חדות נקודה מתוקה" },
|
|
11
|
+
"aperture-f11": { description: "DOF נופי עמוק" },
|
|
12
|
+
"aperture-f16": { description: "Hyperfocal, כוכבי שמש" },
|
|
13
|
+
|
|
14
|
+
"shutter-1-30": { label: "1/30 (טשטוש יד)", description: "רמז של תנועה של מצלמת יד" },
|
|
15
|
+
"shutter-1-60": { description: "מהירות תריס יומיומית סטנדרטית" },
|
|
16
|
+
"shutter-1-200": { description: "חד על רוב הסובייקטים" },
|
|
17
|
+
"shutter-1-500": { description: "חד על אקשן מהיר" },
|
|
18
|
+
"shutter-1-1000": { label: "1/1000 (הקפאת אקשן)", description: "ספורט/חיות בר קפואים" },
|
|
19
|
+
"shutter-long-1s": { label: "חשיפה ארוכה (1s)", description: "פסים ושבילי תנועה" },
|
|
20
|
+
|
|
21
|
+
"iso-100": { label: "ISO 100 (נקי)", description: "רעש מינימלי, גרגירים דקים" },
|
|
22
|
+
"iso-400": { description: "טקסטורה קלה, ISO יומיומי" },
|
|
23
|
+
"iso-800": { description: "גרגירים נראים אך נעימים" },
|
|
24
|
+
"iso-1600": { label: "ISO 1600 (גרגירים נראים)", description: "טקסטורת אור נמוך אדיטוריאלית" },
|
|
25
|
+
"iso-3200": { label: "ISO 3200 (גרגירים כבדים)", description: "מורחק, מראה דוקומנטרי גס" },
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
export default map
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import type { LocaleCatalogMap } from "./types.js"
|
|
2
|
+
|
|
3
|
+
const map: LocaleCatalogMap = {
|
|
4
|
+
// ---------------------------- Aperture ----------------------------
|
|
5
|
+
"aperture-f1-2": { description: "बहुत पतली DOF, स्वप्निल bokeh" },
|
|
6
|
+
"aperture-f1-4": { description: "आक्रामक subject isolation" },
|
|
7
|
+
"aperture-f1-8": { description: "क्लासिक portrait separation" },
|
|
8
|
+
"aperture-f2-8": { description: "Subject तेज़, BG नरम" },
|
|
9
|
+
"aperture-f4": { description: "संतुलित रोज़मर्रा की DOF" },
|
|
10
|
+
"aperture-f5-6": { description: "Subject पर साफ़" },
|
|
11
|
+
"aperture-f8": { description: "Sweet-spot की sharpness" },
|
|
12
|
+
"aperture-f11": { description: "गहरी landscape DOF" },
|
|
13
|
+
"aperture-f16": { description: "Hyperfocal, sun-stars" },
|
|
14
|
+
|
|
15
|
+
// ---------------------------- Shutter Speed ----------------------------
|
|
16
|
+
"shutter-1-30": { description: "Handheld motion का संकेत" },
|
|
17
|
+
"shutter-1-60": { description: "मानक रोज़मर्रा का shutter" },
|
|
18
|
+
"shutter-1-200": { description: "अधिकांश subjects पर साफ़" },
|
|
19
|
+
"shutter-1-500": { description: "तेज़ action पर तेज़" },
|
|
20
|
+
"shutter-1-1000": { description: "Frozen sports/wildlife" },
|
|
21
|
+
"shutter-long-1s": { description: "लकीरें और motion trails" },
|
|
22
|
+
|
|
23
|
+
// ---------------------------- ISO ----------------------------
|
|
24
|
+
"iso-100": { description: "न्यूनतम noise, बारीक grain" },
|
|
25
|
+
"iso-400": { description: "हल्की texture, daily-driver ISO" },
|
|
26
|
+
"iso-800": { description: "दिखाई देने वाला पर सुखद grain" },
|
|
27
|
+
"iso-1600": { description: "Editorial low-light texture" },
|
|
28
|
+
"iso-3200": { description: "Pushed, gritty documentary एहसास" },
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
export default map
|