@nodaro/shared 3.12.0 → 3.13.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.
Files changed (118) hide show
  1. package/dist/index.cjs +442 -6
  2. package/dist/index.cjs.map +1 -1
  3. package/dist/index.d.cts +404 -3
  4. package/dist/index.d.ts +404 -3
  5. package/dist/index.js +400 -7
  6. package/dist/index.js.map +1 -1
  7. package/package.json +1 -1
  8. package/src/__tests__/producer-types.test.ts +5 -0
  9. package/src/__tests__/video-overlay-docs.test.ts +39 -0
  10. package/src/__tests__/video-overlay.test.ts +572 -0
  11. package/src/i18n/action-fx.he.ts +8 -8
  12. package/src/i18n/action-fx.ja.ts +17 -17
  13. package/src/i18n/aesthetic.he.ts +8 -8
  14. package/src/i18n/aesthetic.ja.ts +26 -20
  15. package/src/i18n/animals.he.ts +34 -34
  16. package/src/i18n/animals.ja.ts +49 -49
  17. package/src/i18n/atmosphere.he.ts +6 -6
  18. package/src/i18n/atmosphere.ja.ts +19 -19
  19. package/src/i18n/backdrop.he.ts +7 -7
  20. package/src/i18n/backdrop.ja.ts +13 -13
  21. package/src/i18n/camera-format.he.ts +4 -4
  22. package/src/i18n/camera-format.ja.ts +3 -3
  23. package/src/i18n/camera-motions.he.ts +20 -20
  24. package/src/i18n/camera-motions.ja.ts +15 -15
  25. package/src/i18n/character-fx.he.ts +16 -16
  26. package/src/i18n/character-fx.ja.ts +12 -12
  27. package/src/i18n/character-motion.he.ts +184 -184
  28. package/src/i18n/character-motion.ja.ts +72 -72
  29. package/src/i18n/color-look.he.ts +4 -4
  30. package/src/i18n/color-look.ja.ts +19 -19
  31. package/src/i18n/composition-effects.he.ts +3 -3
  32. package/src/i18n/composition-effects.ja.ts +6 -6
  33. package/src/i18n/era.he.ts +9 -9
  34. package/src/i18n/era.ja.ts +11 -11
  35. package/src/i18n/exposure-settings.he.ts +2 -2
  36. package/src/i18n/exposure-settings.ja.ts +10 -10
  37. package/src/i18n/framing.he.ts +13 -13
  38. package/src/i18n/framing.ja.ts +11 -11
  39. package/src/i18n/furniture.he.ts +52 -52
  40. package/src/i18n/furniture.ja.ts +22 -22
  41. package/src/i18n/held-prop.he.ts +10 -10
  42. package/src/i18n/held-prop.ja.ts +7 -7
  43. package/src/i18n/instrumentation.he.ts +26 -26
  44. package/src/i18n/instrumentation.ja.ts +41 -41
  45. package/src/i18n/lens.he.ts +6 -6
  46. package/src/i18n/lens.ja.ts +5 -5
  47. package/src/i18n/lighting.he.ts +17 -17
  48. package/src/i18n/lighting.ja.ts +21 -21
  49. package/src/i18n/loop-subject.he.ts +4 -4
  50. package/src/i18n/materials.he.ts +8 -8
  51. package/src/i18n/materials.ja.ts +4 -4
  52. package/src/i18n/mood.he.ts +12 -12
  53. package/src/i18n/mood.ja.ts +18 -18
  54. package/src/i18n/music-genre.he.ts +9 -9
  55. package/src/i18n/music-genre.ja.ts +16 -16
  56. package/src/i18n/music-mood.he.ts +7 -7
  57. package/src/i18n/music-mood.ja.ts +18 -18
  58. package/src/i18n/person.ar.ts +1 -0
  59. package/src/i18n/person.de.ts +1 -0
  60. package/src/i18n/person.es.ts +1 -0
  61. package/src/i18n/person.fr.ts +1 -0
  62. package/src/i18n/person.he.ts +95 -94
  63. package/src/i18n/person.hi.ts +1 -0
  64. package/src/i18n/person.ja.ts +179 -178
  65. package/src/i18n/person.ko.ts +1 -0
  66. package/src/i18n/person.pt-BR.ts +1 -0
  67. package/src/i18n/person.ru.ts +1 -0
  68. package/src/i18n/person.zh-CN.ts +1 -0
  69. package/src/i18n/photo-genre.he.ts +24 -24
  70. package/src/i18n/photo-genre.ja.ts +11 -11
  71. package/src/i18n/photographer.he.ts +21 -21
  72. package/src/i18n/photographer.ja.ts +17 -17
  73. package/src/i18n/pose.he.ts +14 -14
  74. package/src/i18n/pose.ja.ts +14 -14
  75. package/src/i18n/post-process-effects.he.ts +4 -4
  76. package/src/i18n/post-process-effects.ja.ts +5 -5
  77. package/src/i18n/render-quality.he.ts +7 -7
  78. package/src/i18n/render-quality.ja.ts +9 -9
  79. package/src/i18n/setting.ar.ts +2 -0
  80. package/src/i18n/setting.de.ts +2 -0
  81. package/src/i18n/setting.es.ts +2 -0
  82. package/src/i18n/setting.fr.ts +2 -0
  83. package/src/i18n/setting.he.ts +16 -14
  84. package/src/i18n/setting.hi.ts +2 -0
  85. package/src/i18n/setting.ja.ts +16 -14
  86. package/src/i18n/setting.ko.ts +2 -0
  87. package/src/i18n/setting.pt-BR.ts +2 -0
  88. package/src/i18n/setting.ru.ts +2 -0
  89. package/src/i18n/setting.zh-CN.ts +2 -0
  90. package/src/i18n/style.he.ts +9 -9
  91. package/src/i18n/style.ja.ts +10 -10
  92. package/src/i18n/styling.ar.ts +2 -0
  93. package/src/i18n/styling.de.ts +2 -0
  94. package/src/i18n/styling.es.ts +2 -0
  95. package/src/i18n/styling.fr.ts +2 -0
  96. package/src/i18n/styling.he.ts +128 -126
  97. package/src/i18n/styling.hi.ts +2 -0
  98. package/src/i18n/styling.ja.ts +58 -56
  99. package/src/i18n/styling.ko.ts +2 -0
  100. package/src/i18n/styling.pt-BR.ts +2 -0
  101. package/src/i18n/styling.ru.ts +2 -0
  102. package/src/i18n/styling.zh-CN.ts +2 -0
  103. package/src/i18n/temporal.he.ts +8 -8
  104. package/src/i18n/temporal.ja.ts +5 -5
  105. package/src/i18n/transitions.he.ts +9 -9
  106. package/src/i18n/transitions.ja.ts +12 -12
  107. package/src/i18n/vehicles.he.ts +25 -25
  108. package/src/i18n/vehicles.ja.ts +29 -29
  109. package/src/i18n/voice-character.he.ts +14 -14
  110. package/src/i18n/voice-character.ja.ts +27 -27
  111. package/src/i18n/voice-delivery.he.ts +11 -11
  112. package/src/i18n/voice-delivery.ja.ts +28 -28
  113. package/src/i18n/weapons.he.ts +23 -23
  114. package/src/i18n/weapons.ja.ts +19 -19
  115. package/src/index.ts +2 -0
  116. package/src/producer-types.ts +3 -0
  117. package/src/trigger-node-types.ts +3 -0
  118. package/src/video-overlay.ts +812 -0
@@ -7,48 +7,48 @@ const map: LocaleCatalogMap = {
7
7
  "teal-orange": { label: "ティール&オレンジ", description: "ハリウッド風の補色グレーディング" },
8
8
  "split-toning": { label: "スプリットトーニング", description: "クールなシャドウ、暖かいハイライト" },
9
9
  "selective-color": { label: "セレクティブカラー", description: "1色のアクセントを残した白黒" },
10
- "faded-matte": { label: "フェイデッドマット", description: "持ち上げたブラックの乳白色低コントラスト" },
10
+ "faded-matte": { label: "フェイデッドマット", description: "ブラックを持ち上げた、ミルキーな低コントラスト" },
11
11
  "log-flat": { label: "ログフラット", description: "グレーディング前のS-Log/V-Logニュートラル" },
12
- "desaturated": { label: "デサチュレイテッド", description: "低彩度で落ち着いた色" },
13
- "monochrome-bw": { label: "モノクロ白黒", description: "純粋な白黒" },
12
+ "desaturated": { label: "低彩度", description: "低彩度で落ち着いた色" },
13
+ "monochrome-bw": { label: "モノクロ", description: "純粋な白黒" },
14
14
  "sepia": { label: "セピア", description: "ヴィンテージのブラウントーン" },
15
15
  "pastel": { label: "パステル", description: "柔らかく低コントラストなパステル" },
16
16
  "high-contrast": { label: "ハイコントラスト", description: "パンチのあるコントラストと深い黒" },
17
- "vibrant": { label: "ヴィブラント", description: "高彩度の色彩" },
17
+ "vibrant": { label: "ビビッド", description: "高彩度の色彩" },
18
18
 
19
19
  // Film emulation
20
20
  "kodak-portra": { description: "柔らかな肌色と細かい粒子" },
21
- "kodak-ektar": { description: "彩度の高い細かい粒子" },
21
+ "kodak-ektar": { description: "高彩度できめ細かな粒子" },
22
22
  "kodak-vision3": { description: "シネマ用ムービーフィルムストック" },
23
23
  "fuji-pro-400h": { description: "パステル調のグリーンと空" },
24
24
  "cinestill-800t": { description: "赤いハレーションを伴うタングステンフィルム" },
25
- "bleach-bypass": { label: "ブリーチバイパス", description: "ハイコントラストで脱彩度" },
26
- "technicolor": { label: "テクニカラー3ストリップ", description: "鮮やかなレトロ・テクニカラー" },
25
+ "bleach-bypass": { label: "ブリーチバイパス", description: "ハイコントラストで低彩度" },
26
+ "technicolor": { label: "スリーストリップ・テクニカラー", description: "鮮やかなレトロ・テクニカラー" },
27
27
  "two-strip-technicolor": { label: "ツーストリップ・テクニカラー", description: "1920〜30年代の赤青テクニカラー" },
28
28
  "eastman-color": { description: "1950〜60年代の暖かく褪せたフィルムストック" },
29
- "hand-tinted": { label: "ハンドティンテッド", description: "手で彩色を加えた白黒" },
29
+ "hand-tinted": { label: "手彩色", description: "手で彩色を加えた白黒" },
30
30
  "agfa-orwo": { description: "東欧のクールなグリーン調" },
31
31
  "day-for-night": { label: "デイ・フォー・ナイト", description: "昼光を夜としてグレーディング" },
32
32
  "cross-processed": { label: "クロスプロセス", description: "クロス現像による色の変化" },
33
33
 
34
34
  // Social-preset
35
35
  "instagram-warm": { label: "Instagramウォーム", description: "Valencia風の暖色フィルター" },
36
- "tiktok-saturated": { label: "TikTokサチュレイテッド", description: "明るくパンチの効いたソーシャルパレット" },
37
- "youtube-vlog-flat": { label: "YouTubeヴログ・フラット", description: "クリーンなヴログのフラットグレーディング" },
38
- "iphone-hdr": { description: "計算的HDRルック" },
39
- "y2k-saturated": { label: "Y2Kサチュレイテッド", description: "2000年代初頭のデジタルポップ" },
36
+ "tiktok-saturated": { label: "TikTok 高彩度", description: "明るくパンチの効いた SNS 向けの色使い" },
37
+ "youtube-vlog-flat": { label: "YouTube Vlog フラット", description: "クリーンな Vlog 向けフラットグレーディング" },
38
+ "iphone-hdr": { description: "コンピュテーショナル HDR のルック" },
39
+ "y2k-saturated": { label: "Y2K 高彩度", description: "2000年代初頭のデジタルポップ" },
40
40
  "mtv-90s-vhs": { label: "MTV 90s VHS", description: "彩度過多の90年代VHSクロマ" },
41
41
  "polaroid-faded": { label: "ポラロイド・フェイデッド", description: "マゼンタ調に褪せたポラロイド" },
42
- "lifestyle-warm-magazine": { label: "ライフスタイル・ウォーム雑誌", description: "モダンな暖色エディトリアル・グレーディング" },
42
+ "lifestyle-warm-magazine": { label: "暖色系ライフスタイル誌", description: "モダンな暖色エディトリアル・グレーディング" },
43
43
 
44
44
  // Additional film stocks — names kept English
45
- "kodachrome-64": { description: "彩度の高い赤と琥珀色のハイライト、ヴィンテージのナショジオ的暖かさ" },
45
+ "kodachrome-64": { description: "彩度の高い赤と黄金色の暖かみ" },
46
46
  "ektachrome-100": { description: "クールでクリーンな青、スライドフィルムの透明感" },
47
- "kodak-tri-x-400": { description: "粒状感を強調した白黒のストリート写真、ざらついた35mm" },
48
- "aerochrome": { description: "シュルレアリスティックなピンクとマゼンタの植物、フォールスカラーの風景" },
49
- "fuji-instax": { description: "柔らかなパステル中間調、スクエア・フォーマットのインスタントフィルム" },
50
- "cinestill-50d": { description: "デイライトのシネマストック、抑制された青、ウォン・カーウァイ風" },
51
- "expired-film": { label: "期限切れフィルム", description: "色のシフト、露出過多のマゼンタ、光漏れ" },
47
+ "kodak-tri-x-400": { description: "増感で粒子が際立つ白黒のルポルタージュ" },
48
+ "aerochrome": { description: "シュールなピンクとマゼンタに染まった草木" },
49
+ "fuji-instax": { description: "柔らかなパステル調のインスタントフィルム" },
50
+ "cinestill-50d": { description: "デイライト用のシネマフィルムストック" },
51
+ "expired-film": { label: "期限切れフィルム", description: "色のシフトと光漏れ" },
52
52
  }
53
53
 
54
54
  export default map
@@ -3,7 +3,7 @@ import type { LocaleCatalogMap } from "./types.js"
3
3
  const map: LocaleCatalogMap = {
4
4
  "none": { label: "ללא", description: "ללא אפקט קומפוזיציה" },
5
5
  "bursting-through-frame": { label: "פורץ דרך הפריים", description: "קריעת נייר תלת-ממדית הפורצת את הפריים" },
6
- "breaking-out-of-frame": { label: "פורץ מחוץ לפריים", description: "גף נמתח מעבר לגבול הקנבס" },
6
+ "breaking-out-of-frame": { label: "פורץ מהפריים", description: "גף נמתח מעבר לגבול הקנבס" },
7
7
  "pixel-disintegration": { label: "פירוק לפיקסלים", description: "סובייקט מתפרק לחלקיקים" },
8
8
  "smoke-sculpture": { label: "פסל עשן", description: "סובייקט הבנוי מעשן מסולסל" },
9
9
  "liquid-sculpture": { label: "פסל נוזל", description: "סובייקט הבנוי מנוזל זורם" },
@@ -16,9 +16,9 @@ const map: LocaleCatalogMap = {
16
16
  "silhouette-outline": { label: "מתאר צללית", description: "צללית שחורה נקייה על רקע שטוח" },
17
17
  "exploding-particles": { label: "חלקיקים מתפוצצים", description: "מתאר מתפזר לחלקיקים" },
18
18
  "matte-painting": { label: "Matte Painting", description: "רקע matte-painting מורכב מעורב עם צילום חי" },
19
- "double-exposure": { label: "חשיפה כפולה", description: "שתי חשיפות צילום שכבתיות מוזגות" },
19
+ "double-exposure": { label: "חשיפה כפולה", description: "שתי חשיפות צילום בשכבות ממוזגות לתמונה אחת" },
20
20
  "multiple-exposure": { label: "חשיפה מרובה", description: "שלוש חשיפות או יותר מוערמות" },
21
- "in-camera-effects": { label: "אפקטים בתוך-מצלמה", description: "אפקטים אופטיים מעשיים בתוך-מצלמה, ללא post" },
21
+ "in-camera-effects": { label: "אפקטים בתוך-מצלמה", description: "אפקטים אופטיים מעשיים בתוך-מצלמה, ללא פוסט-פרודקשן" },
22
22
  "prism-flares": { label: "Prism Flares", description: "Flares של אור שבור על ידי פריזמת קריסטל המתפצל לפסים ספקטרליים" },
23
23
  }
24
24
 
@@ -4,10 +4,10 @@ const map: LocaleCatalogMap = {
4
4
  "none": { label: "なし", description: "構図エフェクトなし" },
5
5
  "bursting-through-frame": { label: "フレームを突き破る", description: "フレームを破る3D紙破り効果" },
6
6
  "breaking-out-of-frame": { label: "フレームから飛び出す", description: "手足がキャンバスの境界を越える" },
7
- "pixel-disintegration": { label: "ピクセル崩壊", description: "粒子に溶け込む被写体" },
7
+ "pixel-disintegration": { label: "ピクセル崩壊", description: "粒子となって崩れていく被写体" },
8
8
  "smoke-sculpture": { label: "煙の彫刻", description: "渦巻く煙でできた被写体" },
9
9
  "liquid-sculpture": { label: "液体の彫刻", description: "流れる液体でできた被写体" },
10
- "shattering-glass": { label: "砕け散るガラス", description: "飛び散る瞬間で凍ったガラス片" },
10
+ "shattering-glass": { label: "砕け散るガラス", description: "飛び散る瞬間のまま静止したガラス片" },
11
11
  "emerging-from-background": { label: "背景から現れる", description: "テクスチャのある表面から半分浮かび上がる" },
12
12
  "fragmented-mosaic": { label: "断片化したモザイク", description: "モザイクタイルで構築された肖像" },
13
13
  "glitch-distortion": { label: "グリッチ歪み", description: "RGBシフトのデジタル破損" },
@@ -17,10 +17,10 @@ const map: LocaleCatalogMap = {
17
17
  "exploding-particles": { label: "爆発する粒子", description: "粒子に飛散する輪郭" },
18
18
 
19
19
  // Additional composition effects
20
- "matte-painting": { label: "マットペインティング", description: "実写と合成されたマットペイントの背景" },
21
- "double-exposure": { label: "二重露光", description: "2層の写真露光を融合" },
22
- "multiple-exposure": { label: "多重露光", description: "3層以上の露光を重ね合わせ" },
23
- "in-camera-effects": { label: "カメラ内エフェクト", description: "ポストプロセスなしのカメラ内実写光学効果" },
20
+ "matte-painting": { label: "マットペインティング", description: "実写となじませて合成したマットペインティングの背景、古典的な VFX 手法" },
21
+ "double-exposure": { label: "二重露光", description: "2つの露光を重ねて1枚の画像に融合" },
22
+ "multiple-exposure": { label: "多重露光", description: "3回以上の露光を重ねた、万華鏡のようなレイヤー" },
23
+ "in-camera-effects": { label: "カメラ内エフェクト", description: "ポスプロを使わない、カメラ内で生み出す実写の光学効果" },
24
24
  "prism-flares": { label: "プリズムフレア", description: "クリスタルプリズムが光を屈折させスペクトル帯に分けるフレア" },
25
25
  }
26
26
 
@@ -2,32 +2,32 @@ import type { LocaleCatalogMap } from "./types.js"
2
2
 
3
3
  const map: LocaleCatalogMap = {
4
4
  "1920s-flapper": { label: "Flapper שנות ה-1920", description: "זוהר speakeasy של עידן הג'אז" },
5
- "1930s-art-deco": { label: "Art Deco שנות ה-1930", description: "זוהר deco שטוח" },
5
+ "1930s-art-deco": { label: "Art Deco שנות ה-1930", description: "זוהר deco בקווים זורמים" },
6
6
  "1940s-wartime": { label: "תקופת המלחמה שנות ה-1940", description: "תועלתנות מלחמה ו-victory rolls" },
7
7
  "1950s-diner": { label: "Diner / Pin-up שנות ה-1950", description: "Diners כרומיים ו-pin-ups עם בופנט" },
8
8
  "1960s-mod": { label: "Mod שנות ה-1960", description: "Mod גרפי של Swinging-London" },
9
9
  "1970s-disco": { label: "דיסקו שנות ה-1970", description: "נצנצי כדור מראה של Studio-54" },
10
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 של פלאש פפראצי וג'ינס נמוך" },
11
+ "1990s-mall": { label: "קניון שנות ה-1990", description: "גראנג' ופופ של ילדי קניונים משנות ה-90" },
12
+ "2000s-y2k": { label: "טבלואיד / Y2K שנות ה-2000", description: "טבלואיד של פלאש פפראצי וג'ינס נמוך" },
13
13
 
14
14
  "medieval": { label: "ימי הביניים", description: "ימי ביניים אירופאיים של טירות אבן" },
15
- "renaissance": { label: "רנסנס", description: "פאר פירנציאני של קטיפה ופרסקו" },
15
+ "renaissance": { label: "רנסנס", description: "פאר פלורנטיני של קטיפה ופרסקו" },
16
16
  "victorian": { label: "ויקטוריאני", description: "המאה ה-19 בקורסט ותחרה לאור גז" },
17
17
  "edwardian": { label: "אדוארדיאני", description: "עדינות belle-epoque של גן תה" },
18
18
  "wild-west": { label: "המערב הפרוע", description: "Americana של בוקר ספר אפויה בשמש" },
19
19
  "ancient-rome": { label: "רומא העתיקה", description: "רומא הקיסרית של עמודי שיש" },
20
- "ancient-egypt": { label: "מצרים העתיקה", description: "פרעוני זהב-ופשתן על הנילוס" },
21
- "feudal-japan": { label: "יפן הפיאודלית", description: "סמוראי-וגיישה של תקופת אדו" },
20
+ "ancient-egypt": { label: "מצרים העתיקה", description: "נילוס פרעוני של זהב ופשתן" },
21
+ "feudal-japan": { label: "יפן הפיאודלית", description: "סמוראים וגיישות של תקופת אדו" },
22
22
  "roaring-prewar": { label: "Roaring שלפני המלחמה", description: "סף art-nouveau של סוף שנות ה-1910" },
23
23
 
24
24
  "near-future": { label: "עתיד קרוב", description: "5 עד 15 שנים קדימה באופן סביר" },
25
25
  "far-future": { label: "עתיד רחוק", description: "מסעות חלל מאות שנים קדימה" },
26
26
  "dieselpunk": { label: "Dieselpunk", description: "היסטוריה אלטרנטיבית תעשייתית של שנות ה-30-40" },
27
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: "נוסטלגיית המחר של אתמול" },
28
+ "cyberpunk-future": { label: "עתיד Cyberpunk", description: "מגה-עיר ניאונית של high-tech low-life" },
29
+ "post-apocalyptic": { label: "פוסט-אפוקליפטי", description: "הישרדות של אספני גרוטאות בשממה" },
30
+ "retrofuturism": { label: "רטרו-פוטוריזם", description: "נוסטלגיית המחר של אתמול" },
31
31
  "atomic-age-50s": { label: "עידן האטום שנות ה-50", description: "פוטוריזם sci-fi של שנות ה-1950 + חרדת מלחמה קרה" },
32
32
  "gen-z-2020s": { label: "Gen Z שנות ה-2020", description: "הרכב phone-first, סטיילינג מקודד TikTok, החייאת Y2K" },
33
33
  "fin-de-siecle": { label: "Fin-de-siècle", description: "אלגנטיות אירופאית של Belle Epoque בסוף המאה" },
@@ -5,11 +5,11 @@ const map: LocaleCatalogMap = {
5
5
  "1920s-flapper": { label: "1920年代フラッパー", description: "ジャズエイジのスピークイージー・グラマー" },
6
6
  "1930s-art-deco": { label: "1930年代アール・デコ", description: "流線型デコのグラマー" },
7
7
  "1940s-wartime": { label: "1940年代戦時下", description: "戦時下のユーティリティとビクトリーロール" },
8
- "1950s-diner": { label: "1950年代ダイナー/ピンナップ", description: "クロームのダイナーとボウファントのピンナップ" },
9
- "1960s-mod": { label: "1960年代モッド", description: "スウィンギング・ロンドンのグラフィックなモッド" },
8
+ "1950s-diner": { label: "1950年代ダイナー/ピンナップ", description: "クロームのダイナーと、髪を高くふくらませたピンナップ" },
9
+ "1960s-mod": { label: "1960年代モッズ", description: "スウィンギング・ロンドンのグラフィックなモッズ" },
10
10
  "1970s-disco": { label: "1970年代ディスコ", description: "スタジオ54のミラーボール・グリッター" },
11
11
  "1980s-neon": { label: "1980年代ネオン", description: "パワースーツとMTVのネオン的過剰さ" },
12
- "1990s-mall": { label: "1990年代モール", description: "モールラットのグランジとポップが混じる90年代" },
12
+ "1990s-mall": { label: "1990年代モール", description: "モールにたむろする若者の、グランジとポップが混じる90年代" },
13
13
  "2000s-y2k": { label: "2000年代タブロイド/Y2K", description: "パパラッチフラッシュのローライズ・タブロイド" },
14
14
 
15
15
  // Pre-modern
@@ -20,22 +20,22 @@ const map: LocaleCatalogMap = {
20
20
  "wild-west": { label: "ワイルドウエスト", description: "陽に焼けたフロンティアのカウボーイ・アメリカーナ" },
21
21
  "ancient-rome": { label: "古代ローマ", description: "大理石の柱が立ち並ぶ帝国ローマ" },
22
22
  "ancient-egypt": { label: "古代エジプト", description: "ファラオの黄金とリネンのナイル川" },
23
- "feudal-japan": { label: "封建日本", description: "江戸時代の侍と芸者" },
24
- "roaring-prewar": { label: "戦前のロアリング", description: "1910年代後半のアール・ヌーヴォーの境目" },
23
+ "feudal-japan": { label: "封建時代の日本", description: "江戸時代の侍と芸者" },
24
+ "roaring-prewar": { label: "戦前の狂騒", description: "1910年代後半、アール・ヌーヴォー末期の転換期" },
25
25
 
26
26
  // Speculative
27
27
  "near-future": { label: "近未来", description: "5〜15年先のもっともらしい未来" },
28
28
  "far-future": { label: "遠未来", description: "数世紀先の宇宙航行時代" },
29
- "dieselpunk": { label: "ディーゼルパンク", description: "1930〜40年代の工業オルタナ史" },
30
- "atompunk": { label: "アトムパンク", description: "1950年代未来の宇宙時代の楽観主義" },
29
+ "dieselpunk": { label: "ディーゼルパンク", description: "1930〜40年代を舞台にした工業的な歴史改変もの" },
30
+ "atompunk": { label: "アトムパンク", description: "1950年代が思い描いた未来、宇宙時代の楽観主義" },
31
31
  "cyberpunk-future": { label: "サイバーパンク未来", description: "ネオンの巨大都市のハイテク・ローライフ" },
32
- "post-apocalyptic": { label: "ポスト・アポカリプス", description: "スカベンジャーの荒野生存" },
33
- "retrofuturism": { label: "レトロフューチャリズム", description: "昨日の明日のノスタルジア" },
32
+ "post-apocalyptic": { label: "ポスト・アポカリプス", description: "廃品をあさって荒野を生き抜くサバイバル" },
33
+ "retrofuturism": { label: "レトロフューチャリズム", description: "かつて思い描かれた未来へのノスタルジア" },
34
34
 
35
35
  // Additional eras
36
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: "ベル・エポックの世紀末ヨーロッパの優雅さ" },
37
+ "gen-z-2020s": { label: "Z世代(2020年代)", description: "スマホファーストで TikTok 調の、今の時代" },
38
+ "fin-de-siecle": { label: "世紀末(1895〜1905年)", description: "ベル・エポックの世紀末ヨーロッパの優雅さ" },
39
39
  }
40
40
 
41
41
  export default map
@@ -7,7 +7,7 @@ const map: LocaleCatalogMap = {
7
7
  "aperture-f2-8": { description: "סובייקט חד, רקע רך" },
8
8
  "aperture-f4": { description: "DOF יומיומי מאוזן" },
9
9
  "aperture-f5-6": { description: "חד לאורך הסובייקט" },
10
- "aperture-f8": { description: "חדות נקודה מתוקה" },
10
+ "aperture-f8": { description: "חדות אופטימלית (sweet spot)" },
11
11
  "aperture-f11": { description: "DOF נופי עמוק" },
12
12
  "aperture-f16": { description: "Hyperfocal, כוכבי שמש" },
13
13
 
@@ -22,7 +22,7 @@ const map: LocaleCatalogMap = {
22
22
  "iso-400": { description: "טקסטורה קלה, ISO יומיומי" },
23
23
  "iso-800": { description: "גרגירים נראים אך נעימים" },
24
24
  "iso-1600": { label: "ISO 1600 (גרגירים נראים)", description: "טקסטורת אור נמוך אדיטוריאלית" },
25
- "iso-3200": { label: "ISO 3200 (גרגירים כבדים)", description: "מורחק, מראה דוקומנטרי גס" },
25
+ "iso-3200": { label: "ISO 3200 (גרגירים כבדים)", description: "פיתוח push, תחושה דוקומנטרית גסה" },
26
26
  }
27
27
 
28
28
  export default map
@@ -3,29 +3,29 @@ import type { LocaleCatalogMap } from "./types.js"
3
3
  const map: LocaleCatalogMap = {
4
4
  // Aperture — keep f-stop labels (technical units)
5
5
  "aperture-f1-2": { description: "極薄の被写界深度、夢のようなボケ" },
6
- "aperture-f1-4": { description: "強い被写体の分離" },
6
+ "aperture-f1-4": { description: "被写体を背景から大胆に切り離す" },
7
7
  "aperture-f1-8": { description: "クラシックなポートレートの分離" },
8
8
  "aperture-f2-8": { description: "被写体はシャープ、背景は柔らかく" },
9
9
  "aperture-f4": { description: "バランスの取れた日常的な被写界深度" },
10
- "aperture-f5-6": { description: "被写体全体にシャープ" },
10
+ "aperture-f5-6": { description: "被写体全体がシャープ" },
11
11
  "aperture-f8": { description: "スイートスポットのシャープネス" },
12
- "aperture-f11": { description: "深い風景の被写界深度" },
13
- "aperture-f16": { description: "ハイパーフォーカル、太陽の星形" },
12
+ "aperture-f11": { description: "風景向けの深い被写界深度" },
13
+ "aperture-f16": { description: "ハイパーフォーカル、太陽の光条" },
14
14
 
15
15
  // Shutter Speed — keep technical labels
16
- "shutter-1-30": { description: "手持ちブレのほのかな気配" },
16
+ "shutter-1-30": { label: "1/30(手ブレ)", description: "手持ちブレのほのかな気配" },
17
17
  "shutter-1-60": { description: "標準的な日常用シャッター" },
18
18
  "shutter-1-200": { description: "ほとんどの被写体でシャープ" },
19
19
  "shutter-1-500": { description: "素早いアクションでもシャープ" },
20
- "shutter-1-1000": { description: "凍ったスポーツ/野生動物" },
21
- "shutter-long-1s": { description: "ストリークと動きの軌跡" },
20
+ "shutter-1-1000": { label: "1/1000(動きを止める)", description: "動きを止めたスポーツ/野生動物" },
21
+ "shutter-long-1s": { label: "長時間露光(1秒)", description: "光の筋と動きの軌跡" },
22
22
 
23
23
  // ISO — keep ISO numeric labels
24
- "iso-100": { description: "ノイズ最小、細かい粒子" },
24
+ "iso-100": { label: "ISO 100(ノイズなし)", description: "ノイズ最小、細かい粒子" },
25
25
  "iso-400": { description: "わずかな質感、毎日使えるISO" },
26
26
  "iso-800": { description: "目に見えるが心地よい粒子" },
27
- "iso-1600": { description: "エディトリアルな低光量の質感" },
28
- "iso-3200": { description: "プッシュ処理されたざらついたドキュメンタリー感" },
27
+ "iso-1600": { label: "ISO 1600(粒子が見える)", description: "エディトリアルな低光量の質感" },
28
+ "iso-3200": { label: "ISO 3200(強い粒子)", description: "増感処理によるざらついたドキュメンタリー感" },
29
29
  }
30
30
 
31
31
  export default map
@@ -24,22 +24,22 @@ const map: LocaleCatalogMap = {
24
24
  "eye-level": { label: "גובה עיניים", description: "מצלמה בגובה עיני הסובייקט" },
25
25
  "high-angle": { label: "זווית גבוהה", description: "מצלמה מעל הסובייקט מסתכלת למטה" },
26
26
  "low-angle": { label: "זווית נמוכה", description: "מצלמה מתחת לסובייקט מסתכלת למעלה" },
27
- "overhead": { label: "מעל הראש", description: "מבט אלוהי מלמעלה ישירות" },
27
+ "overhead": { label: "מלמעלה", description: "מבט אלוהי מלמעלה ישירות" },
28
28
  "worms-eye-angle": { label: "מבט תולעת", description: "זווית נמוכה קיצונית מהקרקע" },
29
29
  "dutch-angle": { label: "Dutch Angle", description: "אופק מוטה" },
30
- "birds-eye": { label: "מבט ציפור", description: "מבט אווירי גבוה מלמעלה" },
30
+ "birds-eye": { label: "מעוף הציפור", description: "מבט אווירי גבוה מלמעלה" },
31
31
  "slightly-downward": { label: "מעט כלפי מטה", description: "הטיה עדינה מלמעלה, סטייל סלפי" },
32
32
 
33
33
  "single": { label: "Single", description: "צילום נקי של סובייקט אחד" },
34
34
  "two-shot": { label: "Two-Shot", description: "שני סובייקטים בפריים" },
35
35
  "three-shot": { label: "Three-Shot", description: "שלושה סובייקטים בפריים" },
36
- "over-the-shoulder-framing": { label: "מעל הכתף", description: "מעבר לכתף של אחד אל השני" },
36
+ "over-the-shoulder-framing": { label: "מעבר לכתף", description: "מעבר לכתף של אחד אל השני" },
37
37
  "reverse-shot": { label: "Reverse Shot", description: "POV הפוך לצילום הקודם" },
38
38
  "pov-framing": { label: "POV", description: "דרך עיני הסובייקט" },
39
39
  "selfie-framing": { label: "סלפי", description: "פורטרט עצמי בטווח זרוע" },
40
40
  "mirror-selfie": { label: "סלפי במראה", description: "טלפון נראה בהשתקפות מראה" },
41
41
  "gym-mirror-selfie": { label: "סלפי במראה של חדר כושר", description: "זווית 3/4 צד-אחור דרך מראת חדר כושר" },
42
- "through-glass": { label: "דרך זכוכית", description: "ממוסגר דרך לוח זכוכית בקדמה" },
42
+ "through-glass": { label: "דרך זכוכית", description: "ממוסגר דרך לוח זכוכית בחזית" },
43
43
  "top-down-flat-lay": { label: "Top-down Flat Lay", description: "סידור מלמעלה של פריטים על משטח" },
44
44
  "establishing-shot": { label: "Establishing Shot", description: "צילום סביבתי רחב, סובייקט קטן" },
45
45
  "dirty-single": { label: "Dirty Single", description: "Single עם דמות נוספת בקצה" },
@@ -48,23 +48,23 @@ const map: LocaleCatalogMap = {
48
48
  "centered": { label: "במרכז", description: "סובייקט במרכז המוחלט, סימטרי" },
49
49
  "headroom-tight": { label: "Headroom הדוק", description: "ראש הסובייקט קרוב לחלק העליון של הפריים" },
50
50
  "negative-space": { label: "Negative Space", description: "סובייקט בצד עם מרחב ריק" },
51
- "leading-lines": { label: "Leading Lines", description: "קווים מובילים את העין לסובייקט" },
51
+ "leading-lines": { label: "קווים מובילים", description: "קווים מובילים את העין לסובייקט" },
52
52
  "3x3-grid-collage": { label: "קולאז' רשת 3×3", description: "סובייקט ברשת 3×3 של וריאציות" },
53
- "diptych": { label: "Diptych", description: "הרכב דו-פריימי זה לצד זה" },
54
- "triptych": { label: "Triptych", description: "הרכב תלת-פריימי" },
53
+ "diptych": { label: "דיפטיך", description: "קומפוזיציה דו-פריימית זה לצד זה" },
54
+ "triptych": { label: "טריפטיך", description: "קומפוזיציה תלת-פריימית" },
55
55
  "multi-frame-mosaic": { label: "פסיפס רב-פריימי", description: "פנים בנויות מפסיפס של אריחים קטנים" },
56
- "contact-sheet": { label: "Contact Sheet", description: "Contact Sheet של תמונות מצומצמות" },
57
- "magazine-spread": { label: "Magazine Spread", description: "Layout של מגזין דו-עמודי עם טיפוגרפיה" },
56
+ "contact-sheet": { label: "Contact Sheet", description: "Contact Sheet של תמונות ממוזערות" },
57
+ "magazine-spread": { label: "כפולת מגזין", description: "פריסת מגזין דו-עמודית עם טיפוגרפיה" },
58
58
  "cutaway-cross-section": { label: "Cutaway / Cross-Section", description: "חתך אדריכלי עם קירות מקולפים" },
59
59
 
60
- "front-on": { label: "Front-on", description: "סובייקט פונה למצלמה" },
61
- "three-quarter-front": { label: "Three-Quarter Front", description: "מעט מחוץ לציר מהקדמה" },
60
+ "front-on": { label: "חזיתי", description: "סובייקט פונה למצלמה" },
61
+ "three-quarter-front": { label: "שלושת רבעי מלפנים", description: "מעט מחוץ לציר מלפנים" },
62
62
  "profile-left": { label: "פרופיל שמאל", description: "מבט צד, שמאל הסובייקט" },
63
63
  "profile-right": { label: "פרופיל ימין", description: "מבט צד, ימין הסובייקט" },
64
- "three-quarter-back": { label: "Three-Quarter Back", description: "מחוץ לציר מאחור" },
64
+ "three-quarter-back": { label: "שלושת רבעי מאחור", description: "מחוץ לציר מאחור" },
65
65
  "behind": { label: "מאחור", description: "מבט אחורי ישיר" },
66
66
  "side-back-angle": { label: "זווית צד-אחור", description: "מבט 3/4 מאחורי כתף אחת" },
67
- "golden-spiral": { label: "ספירלת הזהב", description: "הרכב על ספירלת יחס Fibonacci" },
67
+ "golden-spiral": { label: "ספירלת הזהב", description: "קומפוזיציה על ספירלת Fibonacci" },
68
68
  "frame-within-frame": { label: "מסגרת בתוך מסגרת", description: "סובייקט ממוסגר על ידי אלמנט אדריכלי פנימי" },
69
69
  "s-curve": { label: "עקומת S", description: "זרימה אלכסונית מתפתלת מנחה את העין" },
70
70
  "diagonal-composition": { label: "אלכסוני", description: "קו אלכסוני חזק חוצה את הפריים" },
@@ -8,12 +8,12 @@ const map: LocaleCatalogMap = {
8
8
  "medium-shot": { label: "ミディアムショット", description: "腰から上の被写体" },
9
9
  "medium-close-up": { label: "ミディアム・クローズアップ", description: "胸から上の被写体" },
10
10
  "close-up": { label: "クローズアップ", description: "顔がフレームを満たす" },
11
- "extreme-close-up": { label: "エクストリーム・クローズアップ", description: "顔の特徴部分のタイトな詳細" },
11
+ "extreme-close-up": { label: "エクストリーム・クローズアップ", description: "顔のパーツに寄ったタイトなディテール" },
12
12
  "ecu-eye": { label: "ECU:目", description: "Sergio Leone風のエクストリーム・クローズアップ、片目に寄った構図" },
13
- "ecu-mouth": { label: "ECU:唇/口", description: "口、唇、歯に寄ったエクストリーム・クローズアップ" },
13
+ "ecu-mouth": { label: "ECU:唇/口", description: "口元に寄ったエクストリーム・クローズアップ" },
14
14
  "ecu-hands": { label: "ECU:手", description: "手に寄ったエクストリーム・クローズアップ" },
15
15
  "big-close-up": { label: "ビッグ・クローズアップ(BCU)", description: "標準のクローズアップよりタイトに、顎から額までの顔のみ" },
16
- "choker": { label: "チョーカーショット", description: "喉のラインで構図、頭と首だけ、親密な強度" },
16
+ "choker": { label: "チョーカーショット", description: "頭と首だけを収めた、親密で強い印象の構図" },
17
17
  "italian-shot": { label: "イタリアンショット/トリニティショット", description: "Sergio Leoneのウエスタン定番:目だけにクロップしたECU" },
18
18
  "insert": { label: "インサート", description: "物体のディテールショット" },
19
19
  "macro": { label: "マクロ", description: "小さな被写体の極端な拡大" },
@@ -26,9 +26,9 @@ const map: LocaleCatalogMap = {
26
26
  "eye-level": { label: "目線の高さ", description: "被写体の目の高さにカメラ" },
27
27
  "high-angle": { label: "ハイアングル", description: "被写体の上から見下ろすカメラ" },
28
28
  "low-angle": { label: "ローアングル", description: "被写体の下から見上げるカメラ" },
29
- "overhead": { label: "オーバーヘッド", description: "真上からの神の視点" },
29
+ "overhead": { label: "真俯瞰", description: "真上からの神の視点" },
30
30
  "worms-eye-angle": { label: "ワームズアイ", description: "地面からの極端なローアングル" },
31
- "dutch-angle": { label: "ダッチアングル", description: "傾けたカントの水平線" },
31
+ "dutch-angle": { label: "ダッチアングル", description: "斜めに傾いた水平線" },
32
32
  "birds-eye": { label: "バーズアイ", description: "高い空中からの俯瞰ビュー" },
33
33
  "slightly-downward": { label: "わずかに下向き", description: "上から軽く傾けた自撮り風" },
34
34
 
@@ -39,9 +39,9 @@ const map: LocaleCatalogMap = {
39
39
  "over-the-shoulder-framing": { label: "オーバー・ザ・ショルダー", description: "1人の肩越しに別の人物を見る" },
40
40
  "reverse-shot": { label: "リバースショット", description: "前のショットの逆視点" },
41
41
  "pov-framing": { label: "POV", description: "被写体の目を通した視点" },
42
- "selfie-framing": { label: "セルフィー", description: "腕を伸ばした自撮り" },
42
+ "selfie-framing": { label: "自撮り", description: "腕を伸ばした自撮り" },
43
43
  "mirror-selfie": { label: "鏡の自撮り", description: "鏡の反射に映るスマホ" },
44
- "gym-mirror-selfie": { label: "ジムの鏡自撮り", description: "ジムの鏡越しに3/4横後ろからの角度" },
44
+ "gym-mirror-selfie": { label: "ジムの鏡自撮り", description: "ジムの鏡越しに捉えた、斜め後方3/4の角度" },
45
45
  "through-glass": { label: "ガラス越し", description: "前景のガラス越しのフレーミング" },
46
46
  "top-down-flat-lay": { label: "トップダウン・フラットレイ", description: "表面に並べられた物の俯瞰配置" },
47
47
  "establishing-shot": { label: "エスタブリッシングショット", description: "被写体は小さく、広い環境ショット" },
@@ -49,7 +49,7 @@ const map: LocaleCatalogMap = {
49
49
 
50
50
  // Composition
51
51
  "rule-of-thirds": { label: "三分割法", description: "三分割の交点に被写体を配置" },
52
- "centered": { label: "中央配置", description: "被写体を中央に置いた左右対称構図" },
52
+ "centered": { label: "日の丸構図", description: "被写体を中央に置いた左右対称構図" },
53
53
  "headroom-tight": { label: "ヘッドルーム・タイト", description: "被写体の頭がフレーム上端近く" },
54
54
  "negative-space": { label: "ネガティブスペース", description: "被写体を片側に寄せて空きを作る" },
55
55
  "leading-lines": { label: "リーディングライン", description: "線が視線を被写体へ導く" },
@@ -64,9 +64,9 @@ const map: LocaleCatalogMap = {
64
64
  // Vantage
65
65
  "front-on": { label: "正面", description: "被写体がカメラに正対する" },
66
66
  "three-quarter-front": { label: "前方3/4", description: "正面からわずかにずれた角度" },
67
- "profile-left": { label: "左プロフィール", description: "被写体の左側の横顔" },
68
- "profile-right": { label: "右プロフィール", description: "被写体の右側の横顔" },
69
- "three-quarter-back": { label: "後方3/4", description: "後ろからのオフアクシス" },
67
+ "profile-left": { label: "横顔(左)", description: "被写体の左側の横顔" },
68
+ "profile-right": { label: "横顔(右)", description: "被写体の右側の横顔" },
69
+ "three-quarter-back": { label: "後方3/4", description: "斜め後ろからのアングル" },
70
70
  "behind": { label: "真後ろ", description: "真後ろからの視点" },
71
71
  "side-back-angle": { label: "サイドバック・アングル", description: "片肩越しの3/4後方ビュー" },
72
72