Files
SnapOtter/packages/shared/src/i18n/ja.ts
T

3305 lines
120 KiB
TypeScript
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
import type { TranslationKeys } from "./en.js";
export const ja: TranslationKeys = {
common: {
upload: "パソコンからアップロード",
process: "処理",
download: "ダウンロード",
cancel: "キャンセル",
save: "保存",
delete: "削除",
settings: "設定",
search: "ツールを検索...",
dropFiles: "ここにファイルをドロップするかアップロードボタンをクリック",
loading: "読み込み中...",
error: "エラーが発生しました",
confirm: "確認",
close: "閉じる",
back: "戻る",
next: "次へ",
clear: "クリア",
copy: "コピー",
copied: "コピーしました!",
noResults: "結果が見つかりません",
showLess: "折りたたむ",
showMore: "あと{count}件を表示",
experimental: "実験的",
enabled: "有効",
disabled: "無効",
rename: "名前変更",
edit: "編集",
actions: "操作",
create: "作成",
or: "または",
goHome: "ホームへ",
somethingWentWrong: "問題が発生しました",
unexpectedError: "予期しないエラーが発生しました。",
retry: "再試行",
privacyPolicy: "プライバシーポリシー",
pageNotFound: "Page not found",
pageNotFoundDescription: "The page you are looking for does not exist or has been moved.",
},
categories: {
essentials: "基本ツール",
optimization: "最適化",
adjustments: "調整",
watermark: "ウォーターマークとオーバーレイ",
utilities: "ユーティリティ",
layout: "レイアウトと構図",
format: "フォーマットと変換",
video: "Video",
audio: "Audio",
documents: "PDF & Documents",
data: "Data Files",
ai: "AIツール",
},
modalities: {
image: "Image",
video: "Video",
audio: "Audio",
documentsAndFiles: "Documents & Files",
},
tools: {
resize: {
name: "リサイズ",
description: "ピクセル、パーセント、SNSプリセットでリサイズ",
},
crop: {
name: "クロップ",
description: "自由クロップ、アスペクト比プリセット、シェイプクロップ",
},
rotate: { name: "回転と反転", description: "画像の回転、反転、傾き補正" },
convert: { name: "変換", description: "画像フォーマット間の変換" },
compress: { name: "圧縮", description: "品質またはターゲットサイズでファイルサイズを削減" },
"optimize-for-web": {
name: "Web最適化",
description: "フォーマット変換、品質調整、ライブプレビューでWeb向けに画像を最適化",
},
"strip-metadata": {
name: "メタデータ削除",
description: "EXIF、GPS、カメラ情報を削除",
},
"edit-metadata": {
name: "メタデータ編集",
description: "EXIF、IPTC、XMP、GPS、キーワード、日付を編集",
},
"bulk-rename": { name: "一括リネーム", description: "パターンで複数ファイルを一括リネーム" },
"image-to-pdf": {
name: "画像からPDF",
description: "複数の画像をPDFドキュメントに結合",
},
"pdf-to-image": { name: "PDFから画像", description: "PDFページを画像に変換" },
favicon: {
name: "Faviconジェネレーター",
description: "すべてのFaviconとアプリアイコンサイズを生成",
},
"adjust-colors": {
name: "色調整",
description: "明るさ、コントラスト、露出、彩度、色温度、シャープネス、エフェクト",
},
sharpening: {
name: "シャープニング",
description: "アダプティブ、アンシャープマスク、ハイパスシャープニング(プリセット付き)",
},
"replace-color": {
name: "色の置換と反転",
description: "特定の色を置換または反転",
},
"color-blindness": {
name: "色覚シミュレーション",
description: "さまざまな色覚特性での画像の見え方をシミュレート",
},
"remove-background": {
name: "背景除去",
description: "AIによる背景除去",
},
upscale: { name: "画像アップスケール", description: "AI超解像エンハンスメント" },
"erase-object": { name: "オブジェクト消去", description: "AIで不要なオブジェクトを除去" },
ocr: {
name: "OCR / テキスト抽出",
description: "AIで画像からテキストを高精度に抽出",
},
"ocr-pdf": {
name: "PDF OCR",
description: "AI搭載のOCRでPDF文書からテキストを抽出",
},
"blur-faces": {
name: "顔/個人情報ぼかし",
description: "顔と機密情報を自動検出してぼかし",
},
"enhance-faces": {
name: "顔エンハンスメント",
description: "AIで顔を修復・エンハンス",
},
"smart-crop": {
name: "スマートクロップ",
description: "被写体、顔、トリミングベースのスマートクロップ",
},
"image-enhancement": {
name: "画像エンハンスメント",
description: "ワンクリックで露出、コントラスト、カラー、シャープネスをスマート補正",
},
"noise-removal": {
name: "ノイズ除去",
description: "AIによるノイズ・粒子除去",
},
"red-eye-removal": {
name: "赤目補正",
description: "AIによるフラッシュ写真の赤目検出と補正",
},
"restore-photo": {
name: "写真修復",
description: "AIで古い写真の傷、破れ、ダメージを修復",
},
"content-aware-resize": {
name: "コンテンツ認識リサイズ",
description: "重要なコンテンツを保護しながらインテリジェントにリサイズ",
},
"ai-canvas-expand": {
name: "AIキャンバス拡張",
description: "AIフィルでキャンバスを拡張",
},
colorize: {
name: "AIカラー化",
description: "AIディープラーニングモデルで白黒写真をフルカラーに変換",
},
"passport-photo": {
name: "証明写真",
description: "顔自動検出付き、政府規格準拠のパスポート、ビザ、身分証写真を作成",
},
"transcribe-audio": {
name: "音声文字起こし",
description: "AI搭載の文字起こしで音声をテキストに変換",
},
"auto-subtitles": {
name: "自動字幕",
description: "動画の音声トラックから字幕ファイルを生成",
},
"transparency-fixer": {
name: "PNG透過修正",
description: "偽の透過PNGをワンクリックで修正",
},
"background-replace": {
name: "背景置換",
description: "画像の背景を単色に置き換えます",
},
"blur-background": {
name: "背景ぼかし",
description: "被写体を鮮明に保ちながら背景をぼかします",
},
"watermark-text": {
name: "テキストウォーターマーク",
description: "テキストウォーターマークを追加",
},
"watermark-image": {
name: "画像ウォーターマーク",
description: "ロゴをウォーターマークとして重ねる",
},
"text-overlay": {
name: "テキストオーバーレイ",
description: "画像にスタイル付きテキストを追加",
},
compose: { name: "画像合成", description: "位置と不透明度で画像をレイヤー合成" },
"meme-generator": {
name: "Memeジェネレーター",
description:
"人気テンプレートまたは自分の画像でMemeを作成。クラシックなImpactスタイルのテキストで、フォント、色、位置をカスタマイズ可能。",
},
info: { name: "画像情報", description: "すべてのメタデータと画像プロパティを表示" },
compare: { name: "画像比較", description: "2枚の画像を並べて比較" },
"find-duplicates": {
name: "重複検出",
description: "重複および類似画像を検出",
},
"color-palette": {
name: "カラーパレット",
description: "画像からドミナントカラーを抽出",
},
"qr-generate": {
name: "QRコードジェネレーター",
description: "カスタムカラー、パターン、ロゴ付きのQRコードを生成",
},
"html-to-image": {
name: "HTML to Image",
description: "Capture webpages as high-quality images",
},
"barcode-read": {
name: "バーコードリーダー",
description: "画像からQRコード、バーコード、二次元コードをスキャン",
},
collage: {
name: "コラージュ / グリッド",
description: "25以上のテンプレートで画像を美しいグリッドコラージュに合成",
},
stitch: {
name: "画像結合",
description: "画像を横並び、縦並び、またはグリッドで結合",
},
split: {
name: "画像分割",
description: "グリッドまたはピクセルサイズで画像を分割(ライブプレビュー付き)",
},
border: {
name: "ボーダーとフレーム",
description: "ボーダー、パディング、角丸、シャドウをワンクリックプリセットで追加",
},
beautify: {
name: "スクリーンショット美化",
description:
"スクリーンショットにグラデーション背景、デバイスフレーム、シャドウ、SNSサイズを追加",
},
"circle-crop": {
name: "Circle Crop",
description: "Crop image to a centered circle with transparent corners",
},
duotone: {
name: "Duotone",
description: "Apply a two-color duotone effect with custom shadow and highlight colors",
},
"image-pad": {
name: "Image Pad",
description: "Pad image to a target aspect ratio with a solid color background",
},
pixelate: {
name: "Pixelate",
description: "Apply a pixelation effect to the full image or a specific region",
},
vignette: {
name: "Vignette",
description: "Add a vignette effect with adjustable strength and color",
},
"gif-webp": {
name: "GIF/WebP Converter",
description: "Convert animated GIF to WebP and vice versa, preserving all frames",
},
histogram: {
name: "Histogram",
description: "Generate an RGB histogram chart from an image",
},
"lqip-placeholder": {
name: "LQIP Placeholder",
description: "Generate a tiny low-quality image placeholder with base64 data URI",
},
"sprite-sheet": {
name: "Sprite Sheet",
description: "Combine multiple images into a single sprite sheet grid",
},
"svg-to-raster": {
name: "SVGからラスター",
description: "SVGをPNG、JPEG、WebP、AVIF、TIFF、GIF、HEIFにカスタムスケール・DPIで変換",
},
vectorize: {
name: "画像からSVG",
description: "画像をスケーラブルベクターグラフィックスに変換",
},
"gif-tools": {
name: "GIFツール",
description: "アニメーションGIFのリサイズ、最適化、速度変更、逆再生、フレーム抽出、回転",
},
"image-to-base64": {
name: "画像からBase64",
description: "画像をBase64文字列に変換してHTML、CSS等に埋め込み",
},
"barcode-generate": {
name: "Barcode Generator",
description: "Generate barcodes in Code 128, EAN-13, UPC-A, Code 39, ITF-14, and Data Matrix",
},
"chart-maker": {
name: "Chart Maker",
description: "Create bar, line, or pie charts from CSV or JSON data",
},
"convert-video": {
name: "Convert Video",
description: "Convert videos between MP4, MOV, and WebM",
},
"compress-video": {
name: "Compress Video",
description: "Shrink video file size with quality control",
},
"trim-video": {
name: "Trim Video",
description: "Cut a clip out of a video",
},
"mute-video": {
name: "Mute Video",
description: "Remove the audio track from a video",
},
"video-to-gif": {
name: "Video to GIF",
description: "Turn a video clip into an animated GIF",
},
"resize-video": {
name: "Resize Video",
description: "Scale a video to a new resolution or preset size",
},
"crop-video": {
name: "Crop Video",
description: "Crop a region out of a video",
},
"rotate-video": {
name: "Rotate Video",
description: "Rotate or flip a video",
},
"change-fps": {
name: "Change FPS",
description: "Change the frame rate of a video",
},
"video-color": {
name: "Video Color",
description: "Adjust brightness, contrast, saturation, and gamma",
},
"video-speed": {
name: "Video Speed",
description: "Speed up or slow down a video",
},
"reverse-video": {
name: "Reverse Video",
description: "Play a video clip backwards",
},
"video-loudnorm": {
name: "Normalize Audio",
description: "Normalize video audio volume to broadcast standard",
},
"aspect-pad": {
name: "Aspect Pad",
description: "Add solid-color bars to fit a target aspect ratio",
},
"blur-pad": {
name: "Blur Pad",
description: "Fill bars with a blurred copy of the video",
},
"watermark-video": {
name: "Watermark Video",
description: "Burn a text watermark onto video frames",
},
"stabilize-video": {
name: "Stabilize Video",
description: "Reduce camera shake with two-pass stabilization",
},
"gif-to-video": {
name: "GIF to Video",
description: "Convert an animated GIF into an MP4 or WebM video",
},
"video-to-webp": {
name: "Video to WebP",
description: "Convert a video clip into an animated WebP image",
},
"video-to-frames": {
name: "Video to Frames",
description: "Extract frames from a video as a ZIP of images",
},
"merge-videos": {
name: "Merge Videos",
description: "Join multiple video clips into one file",
},
"replace-audio": {
name: "Replace Audio",
description: "Swap the audio track of a video with another file",
},
"burn-subtitles": {
name: "Burn Subtitles",
description: "Permanently render subtitles onto video frames",
},
"embed-subtitles": {
name: "Embed Subtitles",
description: "Mux a subtitle track into the video container",
},
"extract-subtitles": {
name: "Extract Subtitles",
description: "Pull the subtitle track out of a video as an SRT file",
},
"images-to-video": {
name: "Images to Video",
description: "Turn a set of images into a slideshow video",
},
"video-metadata": {
name: "Clean Video Metadata",
description: "Strip metadata from a video and report what was found",
},
"convert-audio": {
name: "Convert Audio",
description: "Convert audio between MP3, WAV, OGG, and more",
},
"trim-audio": {
name: "Trim Audio",
description: "Cut a section out of an audio file",
},
"extract-audio": {
name: "Extract Audio",
description: "Pull the audio track out of a video",
},
"volume-adjust": {
name: "Volume Adjust",
description: "Increase or decrease audio volume by a fixed gain",
},
"normalize-audio": {
name: "Normalize Audio",
description: "Even out loudness to broadcast standard levels",
},
"fade-audio": {
name: "Fade Audio",
description: "Add fade-in and fade-out effects to audio",
},
"reverse-audio": {
name: "Reverse Audio",
description: "Play audio backwards",
},
"audio-speed": {
name: "Audio Speed",
description: "Speed up or slow down audio playback",
},
"pitch-shift": {
name: "Pitch Shift",
description: "Raise or lower pitch by semitones without changing speed",
},
"audio-channels": {
name: "Audio Channels",
description: "Convert between mono, stereo, or swap left and right channels",
},
"silence-removal": {
name: "Silence Removal",
description: "Strip silent sections from audio",
},
"noise-reduction": {
name: "Noise Reduction",
description: "Reduce background noise with FFT-based denoising",
},
"merge-audio": {
name: "Merge Audio",
description: "Combine multiple audio files into one",
},
"split-audio": {
name: "Split Audio",
description: "Split audio by time, equal parts, or silence detection",
},
"ringtone-maker": {
name: "Ringtone Maker",
description: "Create a ringtone clip from any audio file",
},
"waveform-image": {
name: "Waveform Image",
description: "Generate a waveform visualization as a PNG image",
},
"audio-metadata": {
name: "Audio Metadata",
description: "View, edit, or strip audio tags (ID3)",
},
"merge-pdf": {
name: "Merge PDFs",
description: "Combine multiple PDFs into one",
},
"split-pdf": {
name: "Split PDF",
description: "Extract pages or split into parts",
},
"compress-pdf": {
name: "Compress PDF",
description: "Shrink PDF file size",
},
"rotate-pdf": {
name: "Rotate PDF",
description: "Rotate pages in a PDF",
},
"convert-document": {
name: "Convert Document",
description: "Convert between Word, OpenDocument, RTF, and plain text formats",
},
"convert-presentation": {
name: "Convert Presentation",
description: "Convert between PowerPoint and OpenDocument presentation formats",
},
"convert-spreadsheet": {
name: "Convert Spreadsheet",
description:
"Convert between Excel, OpenDocument, and CSV formats. Multi-sheet workbooks export the first sheet to CSV.",
},
"excel-to-pdf": {
name: "Excel to PDF",
description: "Convert spreadsheets to PDF. Wide sheets may paginate across multiple pages.",
},
"word-to-pdf": {
name: "Word to PDF",
description: "Convert Word documents to PDF",
},
"extract-pages": {
name: "Extract Pages",
description: "Pull selected pages into a new PDF",
},
"remove-pages": {
name: "Remove Pages",
description: "Delete specific pages from a PDF",
},
"organize-pdf": {
name: "Organize PDF",
description: "Reorder pages with an explicit page order",
},
"protect-pdf": {
name: "Protect PDF",
description: "Add password protection (AES-256 encryption)",
},
"unlock-pdf": {
name: "Unlock PDF",
description: "Remove password protection from a PDF",
},
"repair-pdf": {
name: "Repair PDF",
description: "Attempt to repair a damaged or corrupted PDF",
},
"linearize-pdf": {
name: "Web-Optimize PDF",
description: "Linearize a PDF for fast web viewing",
},
"grayscale-pdf": {
name: "Grayscale PDF",
description: "Convert all colors to grayscale",
},
"pdfa-convert": {
name: "PDF/A Convert",
description: "Convert to archival PDF/A-2",
},
"crop-pdf": {
name: "Crop PDF",
description: "Crop all pages with a uniform margin",
},
"nup-pdf": {
name: "N-up PDF",
description: "Arrange multiple pages per sheet",
},
"booklet-pdf": {
name: "Booklet PDF",
description: "Arrange pages for folding into a booklet",
},
"watermark-pdf": {
name: "Watermark PDF",
description: "Add a text watermark to every page",
},
"pdf-page-numbers": {
name: "PDF Page Numbers",
description: "Add page numbers to every page",
},
"flatten-pdf": {
name: "Flatten PDF",
description: "Bake forms and annotations into page content",
},
"redact-pdf": {
name: "Redact PDF",
description: "Permanently remove text occurrences (verified true redaction)",
},
"pdf-to-text": {
name: "PDF to Text",
description: "Extract plain text from a PDF",
},
"pdf-to-word": {
name: "PDF to Word",
description: "Best for text-based PDFs; scanned pages need OCR",
},
"pdf-metadata": {
name: "PDF Metadata",
description: "Read and write PDF document metadata",
},
"powerpoint-to-pdf": {
name: "PowerPoint to PDF",
description: "Convert presentations to PDF",
},
"html-to-pdf": {
name: "HTML to PDF",
description: "Convert an HTML file to PDF. Remote resources are disabled for privacy.",
},
"markdown-to-docx": {
name: "Markdown to Word",
description: "Convert a Markdown file to a Word document (DOCX)",
},
"markdown-to-html": {
name: "Markdown to HTML",
description:
"Convert a Markdown file to a standalone HTML page. Remote images in the source are left as-is in the output.",
},
"markdown-to-pdf": {
name: "Markdown to PDF",
description:
"Convert a Markdown file to a styled PDF. Remote resources are disabled for privacy.",
},
"epub-convert": {
name: "Convert EPUB",
description:
"Convert an EPUB to PDF, DOCX, HTML, or Markdown. Remote resources inside the book are not fetched.",
},
"to-epub": {
name: "Convert to EPUB",
description: "Convert Word, Markdown, HTML, or plain text files to EPUB",
},
"csv-excel": {
name: "CSV to Excel",
description: "Convert between CSV and Excel (XLSX), both directions",
},
"csv-json": {
name: "CSV to JSON",
description: "Convert between CSV and JSON, both directions",
},
"json-xml": {
name: "JSON to XML",
description: "Convert between JSON and XML, both directions",
},
"split-csv": {
name: "Split CSV",
description: "Split a CSV into smaller files by row count",
},
"merge-csvs": {
name: "Merge CSVs",
description: "Combine multiple CSV or TSV files with matching columns into one",
},
"yaml-json": {
name: "YAML / JSON",
description: "Convert between YAML and JSON, both directions",
},
"xml-to-csv": {
name: "XML to CSV",
description: "Extract repeating elements from XML into a CSV table",
},
"create-zip": {
name: "Create ZIP",
description: "Bundle multiple files into a single ZIP archive",
},
"extract-zip": {
name: "Extract ZIP",
description:
"Safely extract files from a ZIP archive with bomb protection. Single-file archives return the file directly.",
},
pipeline: { name: "Pipelineビルダー", description: "複数のツールをワークフローに連結" },
processing: { canceled: "Processing canceled" },
mediaPlayer: {
unsupported: "Your browser does not support this media format.",
},
documentView: {
loadFailed: "Failed to load document.",
previousPage: "Previous page",
nextPage: "Next page",
},
},
toolSettings: {
compress: {
compressionMode: "圧縮モード",
targetSize: "ターゲットサイズ",
quality: "品質",
smallestFile: "最小ファイル",
bestQuality: "最高品質",
submit: "圧縮",
submitBatch: "圧縮({count}ファイル)",
progressLabel: "圧縮中",
original: "元:{size} KB",
processed: "処理後:{size} KB",
saved: "削減:{percent}%",
},
resize: {
customSize: "カスタムサイズ",
scale: "スケール",
presets: "プリセット",
contentAware: "コンテンツ認識",
widthPx: "幅(px",
heightPx: "高さ(px",
fitMode: "フィットモード",
cropToFit: "クロップして合わせる",
fitInside: "内側に合わせる",
stretch: "ストレッチ",
limitToOriginalSize: "元のサイズに制限",
limitToOriginalSizeHint: "画像がターゲットより小さい場合、拡大せずそのまま維持します",
scalePercent: "スケール(%",
resizeToSquare: "正方形にリサイズ",
protectFaces: "顔を保護",
smoothing: "スムージング",
edgeSensitivity: "エッジ感度",
submit: "リサイズ",
submitBatch: "リサイズ({count}ファイル)",
progressLabel: "リサイズ中",
},
crop: {
aspectRatio: "アスペクト比",
custom: "カスタム",
positionAndSize: "位置とサイズ",
ruleOfThirds: "三分割法",
leftOffsetPx: "左オフセット(px",
topOffsetPx: "上オフセット(px",
submit: "クロップ",
submitBatch: "クロップ({count}ファイル)",
progressLabel: "クロップ中",
},
rotate: {
rotate: "回転",
angle: "角度",
straighten: "傾き補正",
flip: "反転",
horizontal: "水平",
vertical: "垂直",
resetAllChanges: "すべてリセット",
submit: "適用",
submitBatch: "適用({count}ファイル)",
progressLabel: "適用中",
},
convert: {
targetFormat: "変換先フォーマット",
sourceFormat: "元フォーマット",
quality: "品質",
submit: "変換",
submitBatch: "変換({count}ファイル)",
progressLabel: "変換中",
},
"optimize-for-web": {
outputFormat: "出力フォーマット",
quality: "品質",
smallestFile: "最小ファイル",
bestQuality: "最高品質",
maxDimensions: "最大サイズ",
maxWidth: "最大幅",
maxHeight: "最大高さ",
stripMetadata: "メタデータ削除",
sizeComparison: "サイズ比較",
optimized: "最適化後:",
smaller: "{percent}%縮小",
larger: "{percent}%増加",
submit: "処理してダウンロード",
submitBatch: "処理してダウンロード({count}ファイル)",
progressLabel: "最適化中",
},
"strip-metadata": {
currentMetadata: "現在のメタデータ",
readingMetadata: "メタデータを読み取り中...",
noMetadataFound: "この画像にメタデータは見つかりませんでした。",
removeAllMetadata: "すべてのメタデータを削除",
selectSpecific: "または特定のメタデータを選択:",
stripExif: "EXIF削除(カメラ情報、日付、露出)",
stripGps: "GPS削除(位置データ)",
stripIcc: "ICC削除(カラープロファイル)",
stripXmp: "XMP削除(拡張メタデータ)",
locationFound: "位置情報あり",
locationWarning:
"この画像には正確な位置情報が含まれています。共有前にGPSデータの削除をご検討ください。",
metadataSections: "{count}個のメタデータセクションが見つかりました",
metadataSectionsPlural: "{count}個のメタデータセクションが見つかりました",
metadataRemoved: "削除されたメタデータ:{size} KB",
submit: "メタデータ削除",
progressLabel: "メタデータを削除中",
},
"edit-metadata": {
readingMetadata: "メタデータを読み取り中...",
couldNotReadMetadata: "メタデータを読み取れませんでした。フィールドは空白から開始します。",
basicInfo: "基本情報",
description: "説明",
artist: "アーティスト",
copyright: "著作権",
software: "ソフトウェア",
iptc: "IPTC",
title: "タイトル",
headline: "見出し",
city: "市区町村",
stateProvince: "都道府県",
country: "国",
dateAndTime: "日付と時刻",
editDates: "日付を編集",
shiftAllDates: "全日付を一括シフト",
dateModified: "更新日",
dateTaken: "撮影日",
shiftHint: "すべての日付フィールドをオフセットでシフト(タイムゾーン修正に便利)",
direction: "方向",
forward: "+ 先へ",
backward: "- 前へ",
hoursMinutes: "時:分",
locationGps: "位置情報(GPS",
locationDataFound: "位置データあり",
noGpsData: "GPSデータなし。以下で座標を追加してください。",
latitude: "緯度",
longitude: "経度",
altitudeMeters: "高度(メートル)",
removeAllGpsData: "すべてのGPSデータを削除",
keywords: "キーワード",
addKeywordPlaceholder: "キーワードを入力してEnter",
addToExisting: "既存に追加",
replaceAll: "すべて置換",
allMetadata: "すべてのメタデータ",
templates: "テンプレート",
templateNamePlaceholder: "テンプレート名",
uploadPrompt: "画像をアップロードしてメタデータを編集してください。",
changes: "{count}件の変更:",
modified: "{count}件を変更",
removed: "{count}件を削除",
gpsCleared: "GPSをクリア",
gpsAdded: "GPSを追加",
datesShifted: "日付をシフト",
submit: "メタデータ適用",
progressLabel: "メタデータを書き込み中",
},
"bulk-rename": {
pattern: "パターン",
patternHint: "変数:{{index}}、{{padded}}、{{original}}",
startIndex: "開始インデックス",
preview: "プレビュー",
andMore: "...他{count}件",
renaming: "リネーム中...",
submit: "{count}ファイルをリネーム",
zipDownloaded: "ZIPのダウンロードが完了しました",
},
"image-to-pdf": {
imageCount: "{count}枚の画像が{mode}に変換されます",
imageCountPlural: "{count}枚の画像が{mode}に変換されます",
singlePdfMode: "1つのPDF1ページに1画像)",
separatePdfMode: "個別のPDF1画像につき1つ)",
combineAllImages: "すべての画像を1つのPDFにまとめる",
pageSize: "ページサイズ",
orientation: "向き",
portrait: "縦向き",
landscape: "横向き",
margin: "余白",
targetSizeLabel: "ターゲットファイルサイズ(任意)",
targetSizePlaceholder: "例:2",
targetSizeHint: "空欄で最高品質",
targetSizeMet: "目標達成",
targetSizeNotMet: "目標に達しませんでした。最低品質まで圧縮しました。",
targetSizeTooSmall: "目標は50KB以上必要です",
jpegQualityLabel: "使用されたJPEG品質",
noImage: "画像なし",
submitCollate: "PDF作成({count}ページ)",
submitSeparate: "{count}個のPDFを作成",
downloadPdf: "PDFをダウンロード",
downloadZip: "ZIPをダウンロード",
progressLabel: "PDFを作成中",
uploadingImages: "画像をアップロード中...",
processingPages: "{count}ページを処理中...",
},
"pdf-to-image": {
dropPdf: "PDFをここにドロップまたはクリックして選択",
readingPdf: "PDFを読み取り中...",
pageCount: "{count}ページ",
pageCountPlural: "{count}ページ",
outputFormat: "出力フォーマット",
quality: "品質",
resolutionDpi: "解像度(DPI",
dpiScreen: "スクリーン",
dpiStandard: "標準",
dpiPrint: "印刷",
dpiHighQuality: "高品質",
colorMode: "カラーモード",
colorModeColor: "カラー",
colorModeGrayscale: "グレースケール",
colorModeBw: "白黒",
pages: "ページ",
allPages: "すべてのページ",
pagesHint: "例:1-3、5、8-10{count}ページのドキュメント)",
converting: "変換中...",
submit: "{count}ページを変換",
submitPlural: "{count}ページを変換",
downloadAllZip: "一括ダウンロード(ZIP",
},
favicon: {
uploadHint:
"正方形の画像(512x512以上推奨)をアップロードして、すべてのFaviconとアプリアイコンサイズを生成します。",
multipleHint: "{count}枚の画像はそれぞれZIP内に個別フォルダで格納されます。",
generatedSizes: "生成サイズ(画像ごと)",
plusManifest: "+ manifest.json + HTMLスニペット",
submit: "Favicon生成({count}枚)",
submitPlural: "Favicon生成({count}枚)",
downloadZip: "Favicon ZIPをダウンロード",
progressLabel: "Faviconを生成中",
},
"adjust-colors": {
light: "ライト",
brightness: "明るさ",
contrast: "コントラスト",
exposure: "露出",
color: "カラー",
saturation: "彩度",
temperature: "色温度",
temperatureHint: "寒色 / 暖色",
tint: "ティント",
tintHint: "グリーン / マゼンタ",
hue: "色相",
detail: "ディテール",
sharpness: "シャープネス",
effects: "エフェクト",
none: "なし",
grayscale: "グレースケール",
sepia: "セピア",
invert: "反転",
colorChannels: "カラーチャンネル",
channelModified: "変更済み",
red: "赤",
green: "緑",
blue: "青",
resetAll: "すべてリセット",
submit: "適用",
submitBatch: "適用({count}ファイル)",
progressLabel: "色を調整中",
},
sharpening: {
method: "方式",
adaptive: "アダプティブ",
unsharpMask: "アンシャープマスク",
highPass: "ハイパス",
presets: "プリセット",
textureAmount: "テクスチャ量",
amount: "量",
strength: "強度",
noiseReduction: "ノイズ低減",
off: "オフ",
lightDenoise: "弱",
mediumDenoise: "中",
strongDenoise: "強",
advancedControls: "詳細設定",
radius: "半径",
flatProtection: "フラット保護",
detailThreshold: "ディテールしきい値",
haloLimitLight: "ハロー制限(明部)",
haloLimitDark: "ハロー制限(暗部)",
threshold: "しきい値",
kernelSize: "カーネルサイズ",
submit: "シャープ化",
submitBatch: "シャープ化({count}ファイル)",
progressLabel: "シャープニング中",
},
"replace-color": {
sourceColor: "元の色(置換対象)",
targetColor: "置換先の色",
makeTransparent: "透明に置換",
tolerance: "許容範囲",
exactMatch: "完全一致",
wideRange: "広範囲",
submit: "色を置換",
submitBatch: "色を置換({count}ファイル)",
progressLabel: "色を置換中",
},
"color-blindness": {
simulationType: "シミュレーションタイプ",
redGreen: "赤緑色覚異常",
blueYellow: "青黄色覚異常",
monochromatic: "全色覚異常",
submit: "シミュレート",
submitBatch: "シミュレート({count}ファイル)",
progressLabel: "色覚をシミュレート中",
},
"remove-background": {
subject: "被写体",
people: "人物",
products: "製品",
general: "汎用",
passportIdPhoto: "証明写真",
quality: "品質",
fast: "高速",
hd: "HD",
max: "最高",
ultra: "ウルトラ",
background: "背景",
transparent: "透明",
bgColor: "カラー",
gradient: "グラデーション",
image: "画像",
gradientDirection: "方向",
chooseBackgroundImage: "背景画像を選択",
effectsSection: "エフェクト",
effectsActive: "有効",
blurBackground: "背景ぼかし",
intensity: "強度",
addShadow: "シャドウ追加",
opacity: "不透明度",
outputFormat: "Output Format",
edgeSmoothing: "Edge Smoothing",
edgeSmoothingOff: "Off",
edgeSmoothingLight: "Light",
edgeSmoothingMedium: "Medium",
edgeSmoothingStrong: "Strong",
colorDecontamination: "Color Decontamination",
rendering: "レンダリング中...",
submit: "背景を除去",
submitBatch: "背景を除去({count}ファイル)",
progressLabel: "背景を除去中",
},
upscale: {
scaleFactor: "拡大倍率",
quality: "品質",
enhanceFaces: "顔をエンハンス",
noiseReduction: "ノイズ低減",
noiseReductionHint:
"粒子やノイズを平滑化します。値が高いほどノイズ除去が強くなりますが、ディテールが柔らかくなる場合があります。",
outputFormat: "出力フォーマット",
submit: "{scale}倍に拡大",
submitBatch: "{scale}倍に拡大({count}ファイル)",
progressLabel: "画像をアップスケール中",
progressLabelBatch: "{count}枚の画像をアップスケール中",
},
"erase-object": {
brushSize: "ブラシサイズ",
fine: "細い",
wide: "太い",
undo: "元に戻す",
clear: "クリア",
outputFormat: "出力フォーマット",
quality: "品質",
paintHint: "除去したいオブジェクトの上を塗ってください。Ctrl+Zで元に戻せます。",
submit: "消去",
submitBatch: "すべて消去({count}",
progressLabel: "オブジェクトを消去中",
},
ocr: {
quality: "品質",
enhanceBeforeScanning: "スキャン前にエンハンス",
enhanceHint:
"スキャン前に自動で傾き補正、コントラスト強化、ノイズ除去、アップスケールを行い、認識精度を向上させます。",
language: "言語",
autoDetect: "自動検出",
extractedText: "抽出テキスト",
noTextDetected: "この画像ではテキストが検出されませんでした",
characters: "{count}文字",
submit: "テキスト抽出",
submitBatch: "テキスト抽出({count}ファイル)",
progressLabel: "テキストを抽出中",
},
"ocr-pdf": {
quality: "品質",
language: "言語",
autoDetect: "自動検出",
pages: "ページ",
pagesPlaceholder: "all, 1-3, 5",
pagesHint: "ページ番号または範囲を入力(例: 1-3, 5, 8-10)。最大50ページ。",
submit: "テキスト抽出",
submitBatch: "テキスト抽出({count}ファイル)",
progressLabel: "PDFからテキストを抽出中",
},
"blur-faces": {
blurRadius: "ぼかし半径",
blurLight: "弱",
blurHeavy: "強",
detectionSensitivity: "検出感度",
moreFaces: "多く検出",
fewerFaces: "少なく検出",
submit: "顔をぼかす",
progressLabel: "顔をぼかし中",
},
"enhance-faces": {
quality: "品質",
enhancementStrength: "エンハンス強度",
onlyCenterFace: "中心の顔のみ",
detectionSensitivity: "検出感度",
submit: "顔をエンハンス",
submitBatch: "顔をエンハンス({count}ファイル)",
progressLabel: "顔をエンハンス中",
},
"smart-crop": {
subjectFocus: "被写体フォーカス",
faceFocus: "顔フォーカス",
autoTrim: "自動トリム",
customSize: "カスタムサイズ",
socialPresets: "SNSプリセット",
detectionStrategy: "検出ストラテジー",
detectionStrategyHint:
"アテンションは視覚的に最も顕著な領域を検出します。エントロピーは最もディテールと情報量が多い領域を検出します。",
attention: "アテンション",
entropy: "エントロピー",
padding: "パディング",
paddingHint: "フォーカス領域周囲の余白",
outputQuality: "出力品質",
outputQualityHint: "JPEGとWebP出力用。PNGは常にロスレスです。",
subjectDescription:
"顕著性分析で最も興味深い領域を検出し、ターゲットサイズにクロップします。",
framing: "フレーミング",
facePadding: "顔の余白",
facePaddingHint: "検出された顔の周囲の余白",
fewerFalsePositives: "誤検出を減らす",
faceDescription:
"AI顔検出で顔を適切にフレーミングします。顔が検出されない場合は被写体フォーカスにフォールバックします。",
trimTolerance: "許容値",
trimDescription:
"ボーダーピクセルがエッジカラーとどの程度異なっていてもトリムされるか。値が高いほど積極的にトリムします。",
padToSquare: "正方形にパディング",
targetSizePx: "ターゲットサイズ(px",
padColor: "パディング色",
trimHint:
"被写体周囲の単色ボーダーを除去します。「正方形にパディング」を有効にするとEC用画像に最適です。",
submitSubject: "スマートクロップ",
submitFace: "顔クロップ",
submitTrim: "ボーダートリム",
},
imageEnhancement: {
enhancementMode: "エンハンスモード",
auto: "自動",
portrait: "ポートレート",
landscape: "風景",
lowLight: "低照度",
food: "料理",
document: "文書",
intensity: "強度",
deepEnhance: "ディープエンハンス(AI",
deepEnhanceDescription: "AIでノイズとアーティファクトを除去",
deepEnhanceRequires: "アップスケール&エンハンスバンドルが必要",
analyzingImage: "画像を解析中...",
detectedIssues: "検出された問題",
imageLooksGood: "画像は良好です。強度スライダーで微調整してください。",
issueUnderexposed: "露出不足",
issueOverexposed: "露出過多",
issueLowContrast: "低コントラスト",
issueColorCast: "色かぶり",
issueDesaturated: "彩度不足",
issueSoftFocus: "ソフトフォーカス",
issueNoisy: "ノイズあり",
submit: "エンハンス",
submitDeep: "ディープエンハンス",
submitBatch: "エンハンス({count}ファイル)",
submitDeepBatch: "ディープエンハンス({count}ファイル)",
progressLabel: "画像をエンハンス中",
progressLabelBatch: "{count}枚の画像をエンハンス中",
},
"noise-removal": {
denoisingTier: "ノイズ除去レベル",
quick: "クイック",
balanced: "バランス",
quality: "高品質",
maximum: "最高",
quickDesc: "高速、軽量",
balancedDesc: "良好な品質、適度な速度",
qualityDesc: "AI駆動、低速",
maximumDesc: "最良AIモデル、最低速",
strength: "強度",
subtle: "弱",
aggressive: "強",
detailPreservation: "ディテール保持",
smooth: "スムーズ",
sharp: "シャープ",
colorNoise: "カラーノイズ",
heavy: "強い",
outputFormat: "出力フォーマット",
gifAiWarning:
"GIFファイルのAIノイズ除去は最初のフレームのみ処理します。アニメーションGIFにはクイックまたはバランスレベルをご使用ください。",
submit: "ノイズ除去",
submitBatch: "ノイズ除去({count}ファイル)",
progressLabel: "ノイズを除去中",
progressLabelBatch: "{count}枚の画像のノイズを除去中",
},
"red-eye-removal": {
sensitivity: "感度",
strict: "厳格",
aggressive: "積極的",
correctionStrength: "補正強度",
subtle: "弱",
dark: "暗め",
outputFormat: "出力フォーマット",
quality: "品質",
submit: "赤目補正",
submitBatch: "赤目補正({count}ファイル)",
progressLabel: "赤目を補正中",
progressLabelBatch: "{count}枚の画像の赤目を補正中",
},
"restore-photo": {
scratchRemoval: "傷の修復",
scratchRemovalDesc: "傷、破れ、しみを検出して修復",
faceEnhancement: "顔エンハンスメント",
faceEnhancementDesc: "CodeFormer AIで劣化した顔を修復",
faceFidelity: "顔の忠実度",
enhanced: "エンハンス",
faithful: "忠実",
noiseReduction: "ノイズ低減",
noiseReductionDesc: "古い写真の粒子やノイズを除去",
denoiseStrength: "ノイズ除去強度",
autoColorize: "自動カラー化",
autoColorizeDesc: "DDColor AIで白黒写真をカラー化",
colorizeStrength: "カラー化強度",
vivid: "鮮やか",
submit: "写真を修復",
submitBatch: "写真を修復({count}",
progressLabel: "写真を修復中",
progressLabelBatch: "{count}枚の写真を修復中",
},
"content-aware-resize": {
widthPx: "幅(px",
heightPx: "高さ(px",
resizeToSquare: "正方形にリサイズ",
protectFaces: "顔を保護",
protectFacesHint: "顔検出を使用して顔領域を検出し、シーム除去から保護します",
smoothing: "スムージング",
edgeSensitivity: "エッジ感度",
submit: "リサイズ",
submitBatch: "リサイズ({count}ファイル)",
progressLabel: "コンテンツ認識リサイズ中",
},
"ai-canvas-expand": {
quality: "品質",
fast: "高速",
balanced: "バランス",
highQuality: "高品質",
fastDesc: "クイックプレビュー、AI処理少なめ",
balancedDesc: "良好な品質、適度な速度",
highQualityDesc: "最高の結果、低速",
extendToAspectRatio: "アスペクト比に拡張",
extendByPixels: "拡張ピクセル数",
top: "上",
right: "右",
bottom: "下",
left: "左",
newSize: "新しいサイズ:{width} x {height}",
submit: "キャンバス拡張",
submitBatch: "拡張({count}ファイル)",
progressLabel: "キャンバスを拡張中",
},
colorize: {
aiModel: "AIモデル",
fast: "高速",
fastDesc: "素早い結果",
balanced: "バランス",
balancedDesc: "最良の利用可能モデル",
best: "最高",
bestDesc: "最高品質",
colorIntensity: "カラー強度",
grayscaleLabel: "グレースケール",
subtleLabel: "控えめ",
naturalLabel: "自然",
vividLabel: "鮮やか",
intensityHint: "低い値ほど落ち着いたヴィンテージ風の色合いになります。",
strength: "カラー化強度",
submit: "カラー化",
submitBatch: "カラー化({count}ファイル)",
progressLabel: "カラー化中",
progressLabelBatch: "{count}枚の画像をカラー化中",
},
"passport-photo": {
country: "国",
searchCountries: "国を検索...",
noCountriesFound: "国が見つかりません",
customDimensions: "カスタムサイズ",
documentType: "書類タイプ",
dimensionsMm: "サイズ(mm",
dpi: "DPI",
pixelsPerInch: "ピクセル/インチ",
backgroundColor: "背景色",
maxFileSize: "最大ファイルサイズ",
noLimit: "制限なし",
customKb: "カスタムKB...",
uploadPortrait: "顔写真をアップロード",
uploadHint: "左パネルに画像をドロップまたはアップロードして証明写真をプレビュー",
analyzingPhoto: "写真を解析中",
detectingLandmarks: "顔のランドマークを検出し背景を除去中...",
generatePassportPhoto: "証明写真を生成",
generating: "生成中...",
downloadPhoto: "写真をダウンロード",
faceCentered: "顔が中心",
headLevel: "頭が水平",
lookingStraight: "正面を向いている",
faceSize: "顔のサイズ",
whatYouSee: "表示されている通りにダウンロードされます",
dragToAdjust: "ドラッグで調整",
scrollToZoom: "スクロールでズーム",
photoGenerated: "写真が生成されました。左パネルからダウンロードしてください。",
},
"transcribe-audio": {
language: "言語",
autoDetect: "自動検出",
outputFormat: "出力形式",
plainText: "プレーンテキスト",
submit: "文字起こし",
submitBatch: "文字起こし ({count}ファイル)",
progressLabel: "音声を文字起こし中",
},
"auto-subtitles": {
language: "言語",
autoDetect: "自動検出",
format: "字幕形式",
submit: "字幕を生成",
submitBatch: "字幕を生成 ({count}ファイル)",
progressLabel: "字幕を生成中",
},
"transparency-fixer": {
description: "偽の透過背景のPNGをアップロードすると、ワンクリックで修正します。",
removeWatermark: "ウォーターマーク除去",
removeWatermarkHelp: "半透明ウォーターマークを検出して除去",
requiresEraser: "オブジェクト消去バンドルが必要",
advanced: "詳細",
defringe: "フリンジ除去",
outputFormat: "出力フォーマット",
submit: "透過を修正",
submitBatch: "透過を修正({count}ファイル)",
progressLabel: "透過を修正中",
},
"background-replace": {
color: "背景色",
submit: "背景を置換",
submitBatch: "背景を置換 ({count} ファイル)",
progressLabel: "背景を置換中",
},
"blur-background": {
intensity: "ぼかし強度",
submit: "背景をぼかす",
submitBatch: "背景をぼかす ({count} ファイル)",
progressLabel: "背景をぼかし中",
},
"watermark-text": {
watermarkText: "ウォーターマークテキスト",
fontSize: "フォントサイズ",
color: "色",
opacity: "不透明度",
position: "位置",
rotation: "回転",
center: "中央",
topLeft: "左上",
topRight: "右上",
bottomLeft: "左下",
bottomRight: "右下",
tiled: "タイル",
submit: "ウォーターマーク追加",
submitBatch: "ウォーターマーク追加({count}ファイル)",
progressLabel: "ウォーターマークを追加中",
},
"watermark-image": {
uploadWatermark: "ウォーターマーク画像をアップロード",
position: "位置",
opacity: "不透明度",
scale: "スケール",
submit: "ウォーターマーク適用",
submitBatch: "ウォーターマーク適用({count}ファイル)",
},
"text-overlay": {
text: "テキスト",
fontSize: "フォントサイズ",
color: "色",
position: "位置",
top: "上",
center: "中央",
bottom: "下",
backgroundBox: "背景ボックス",
backgroundColor: "背景色",
shadow: "シャドウ",
submit: "テキスト追加",
submitBatch: "テキスト追加({count}ファイル)",
progressLabel: "テキストオーバーレイを追加中",
download: "Download",
defaultText: "Your Text Here",
},
compose: {
uploadOverlay: "オーバーレイ画像をアップロード",
xPosition: "X位置",
yPosition: "Y位置",
opacity: "不透明度",
blendMode: "ブレンドモード",
submit: "合成",
},
"meme-generator": {
selectTemplate:
"ギャラリーからテンプレートを選ぶか、自分の画像をアップロードして開始します。",
chooseLayout: "カスタム画像のテキストレイアウトを選択してください。",
textContent: "テキスト内容",
textStyle: "テキストスタイル",
font: "フォント",
fontSize: "フォントサイズ",
textColor: "テキスト色",
strokeColor: "ストローク色",
allCaps: "全大文字",
generate: "Meme生成",
generating: "生成中...",
downloadMeme: "Memeをダウンロード",
backToGallery: "ギャラリーに戻る",
},
info: {
loadingInfo: "情報を読み込み中...",
filename: "ファイル名",
fileSize: "ファイルサイズ",
dimensions: "サイズ",
format: "フォーマット",
channels: "チャンネル",
colorSpace: "色空間",
density: "密度",
bitDepth: "ビット深度",
progressive: "プログレッシブ",
pages: "ページ数",
hasAlpha: "Alpha",
hasProfile: "プロファイル",
hasExif: "EXIF",
hasIcc: "ICC",
hasXmp: "XMP",
readInfo: "Read Info",
reading: "Reading...",
channelStats: "Channel Stats",
yes: "Yes",
no: "No",
na: "N/A",
failedToRead: "Failed to read info",
},
compare: {
uploadSecondImage: "2枚目の画像をアップロード",
similarity: "類似度:{percent}%",
submit: "比較",
downloadDiff: "差分をダウンロード",
},
"find-duplicates": {
preset: "プリセット",
exact: "完全一致",
similar: "類似",
loose: "緩い",
exactDesc: "ピクセル単位で同一のコピー、異なるフォーマットの同一画像。",
similarDesc: "リサイズ、再圧縮、軽微な編集が加えられたコピー。",
looseDesc: "視覚的に関連する画像、軽いクロップ、異なる露出。",
threshold: "しきい値",
submit: "重複スキャン",
scanning: "スキャン中...",
},
"color-palette": {
submit: "パレット抽出",
extracting: "抽出中...",
dominantColors: "ドミナントカラー",
clickToCopy: "クリックでコピー",
},
"qr-generate": {
contentType: "コンテンツタイプ",
url: "URL",
text: "テキスト",
wifi: "WiFi",
vcard: "vCard",
email: "メール",
phone: "電話",
sms: "SMS",
styling: "スタイリング",
dotStyle: "ドットスタイル",
cornerSquareStyle: "コーナースクエアスタイル",
cornerDotStyle: "コーナードットスタイル",
foregroundColor: "前景色",
bgColor: "背景色",
logo: "ロゴ",
downloadFormat: "ダウンロードフォーマット",
submit: "QRコード生成",
download: "QRコードをダウンロード",
},
"html-to-image": {
modeUrl: "URL",
modeHtml: "HTML File",
htmlFile: "HTML File",
url: "URL",
urlPlaceholder: "https://snapotter.com",
format: "Output Format",
quality: "Quality",
devicePreset: "Device",
viewportWidth: "Width",
viewportHeight: "Height",
fullPage: "Full Page",
submit: "Capture",
download: "Download Screenshot",
capturing: "Capturing webpage...",
errorTimeout: "Page took too long to load",
errorBlocked: "This URL cannot be captured",
errorUnavailable: "Screenshot service is not available",
errorFailed: "Failed to capture the page",
placeholder: "Enter a URL and click Capture",
presets: {
desktop: "Desktop",
tablet: "Tablet",
mobile: "Mobile",
custom: "Custom",
},
},
"barcode-read": {
submit: "バーコードスキャン",
submitBatch: "スキャン({count}ファイル)",
scanning: "スキャン中...",
noBarcodesFound: "バーコードが見つかりません",
barcodesFound: "{count}個のバーコードが見つかりました",
barcodesFoundPlural: "{count}個のバーコードが見つかりました",
},
collage: {
template: "テンプレート",
aspectRatio: "アスペクト比",
gap: "間隔",
cornerRadius: "角丸",
backgroundColor: "背景色",
outputFormat: "出力フォーマット",
quality: "品質",
submit: "コラージュ作成",
downloadCollage: "コラージュをダウンロード",
},
stitch: {
direction: "方向",
horizontal: "横並び",
vertical: "縦並び",
grid: "グリッド",
gridColumns: "グリッド列数",
resizeMode: "リサイズモード",
fit: "フィット",
original: "オリジナル",
stretchMode: "ストレッチ",
cropMode: "クロップ",
alignment: "配置",
start: "先頭",
center: "中央",
end: "末尾",
gap: "間隔",
border: "ボーダー",
cornerRadius: "角丸",
backgroundColor: "背景色",
outputFormat: "出力フォーマット",
quality: "品質",
submit: "画像を結合",
},
split: {
modeGrid: "グリッド",
modeTileSize: "タイルサイズ",
presets: "プリセット",
columns: "列数",
rows: "行数",
tileWidth: "タイル幅",
tileHeight: "タイル高さ",
outputFormat: "出力フォーマット",
quality: "品質",
submit: "画像を分割",
downloadAll: "一括ダウンロード(ZIP",
},
border: {
presets: "プリセット",
borderWidth: "ボーダー幅",
borderColor: "ボーダー色",
padding: "パディング",
paddingColor: "パディング色",
cornerRadius: "角丸",
shadow: "シャドウ",
shadowBlur: "シャドウぼかし",
shadowOffsetX: "シャドウオフセットX",
shadowOffsetY: "シャドウオフセットY",
shadowColor: "シャドウ色",
shadowOpacity: "シャドウ不透明度",
submit: "ボーダー追加",
submitBatch: "ボーダー追加({count}ファイル)",
progressLabel: "ボーダーを追加中",
},
beautify: {
preset: "プリセット",
backgroundType: "背景タイプ",
solidColor: "単色",
linearGradient: "線形グラデーション",
radialGradient: "放射グラデーション",
customImage: "カスタム画像",
gradientAngle: "グラデーション角度",
padding: "パディング",
borderRadius: "角丸半径",
shadowPreset: "シャドウプリセット",
deviceFrame: "デバイスフレーム",
submit: "美化",
submitBatch: "美化({count}ファイル)",
progressLabel: "スクリーンショットを美化中",
},
"circle-crop": {
submit: "Circle Crop",
submitBatch: "Circle Crop ({count} files)",
progressLabel: "Cropping to circle",
},
duotone: {
shadow: "Shadow Color",
highlight: "Highlight Color",
submit: "Apply Duotone",
submitBatch: "Apply Duotone ({count} files)",
progressLabel: "Applying duotone",
},
"image-pad": {
target: "Target Ratio",
color: "Background Color",
submit: "Pad Image",
submitBatch: "Pad Image ({count} files)",
progressLabel: "Padding image",
},
pixelate: {
blockSize: "Block Size",
submit: "Pixelate",
submitBatch: "Pixelate ({count} files)",
progressLabel: "Pixelating",
},
vignette: {
strength: "Strength",
color: "Vignette Color",
submit: "Apply Vignette",
submitBatch: "Apply Vignette ({count} files)",
progressLabel: "Applying vignette",
},
"gif-webp": {
submit: "Convert",
submitBatch: "Convert ({count} files)",
progressLabel: "Converting animation",
},
histogram: {
submit: "Generate Histogram",
submitBatch: "Generate Histogram ({count} files)",
progressLabel: "Generating histogram",
},
"lqip-placeholder": {
width: "Width",
blur: "Blur",
submit: "Generate Placeholder",
submitBatch: "Generate Placeholder ({count} files)",
progressLabel: "Generating placeholder",
},
"sprite-sheet": {
columns: "Columns",
padding: "Padding",
background: "Background Color",
submit: "Create Sprite Sheet",
submitBatch: "Create Sprite Sheet",
progressLabel: "Creating sprite sheet",
},
"svg-to-raster": {
outputFormat: "出力フォーマット",
sizing: "サイズ設定",
scaleMode: "スケール",
customMode: "カスタム",
scalePresets: "スケールプリセット",
dpiPresets: "DPIプリセット",
customWidth: "幅(px",
customHeight: "高さ(px",
background: "背景",
bgTransparent: "透明",
bgColor: "カラー",
quality: "品質",
submit: "SVG変換",
submitBatch: "変換({count}ファイル)",
progressLabel: "SVGを変換中",
},
vectorize: {
preset: "プリセット",
logo: "ロゴ",
illustration: "イラスト",
photo: "写真",
sketch: "スケッチ",
customPreset: "カスタム",
colorMode: "カラーモード",
bw: "白黒",
colorModeColor: "カラー",
threshold: "しきい値",
colorPrecision: "色精度",
layerDifference: "レイヤー差分",
filterSpeckle: "スペックル除去",
pathMode: "パスモード",
cornerThreshold: "コーナーしきい値",
invertColors: "色を反転",
submit: "ベクター化",
submitBatch: "ベクター化({count}ファイル)",
progressLabel: "ベクター化中",
},
"gif-tools": {
mode: "モード",
resize: "リサイズ",
optimize: "最適化",
speed: "速度",
reverse: "逆再生",
extract: "抽出",
rotateMode: "回転",
pixel: "ピクセル",
percentage: "パーセント",
colors: "色数",
dither: "ディザ",
effort: "処理強度",
speedFactor: "速度倍率",
loopControl: "ループ制御",
infinite: "無限",
once: "1回",
customLoop: "カスタム",
loopCount: "ループ回数",
extractSingle: "単一",
extractRange: "範囲",
extractAll: "すべて",
frameNumber: "フレーム番号",
frameStart: "開始フレーム",
frameEnd: "終了フレーム",
extractFormat: "フォーマット",
submit: "GIF処理",
submitBatch: "処理({count}ファイル)",
progressLabel: "GIFを処理中",
},
"image-to-base64": {
outputFormat: "出力フォーマット",
keepOriginal: "元のフォーマットを維持",
quality: "品質",
maxWidth: "最大幅",
maxHeight: "最大高さ",
submit: "Base64に変換",
submitBatch: "変換({count}ファイル)",
copyBase64: "Base64をコピー",
copyDataUri: "Data URIをコピー",
copyImgTag: "<img>タグをコピー",
copyCssUrl: "CSS url()をコピー",
},
"barcode-generate": {
text: "Text",
type: "Barcode Type",
scale: "Scale",
includeText: "Include Text",
submit: "Generate Barcode",
download: "Download Barcode",
},
"chart-maker": {
kind: "Chart Type",
title: "Title",
width: "Width",
height: "Height",
submit: "Create Chart",
submitBatch: "Create Chart ({count} files)",
progressLabel: "Creating chart",
},
"enhance-faces-standalone": {
model: "モデル",
fast: "高速",
balanced: "バランス",
best: "最高",
},
"convert-video": {
format: "Output format",
quality: "Quality",
high: "High",
balanced: "Balanced",
small: "Smallest",
submit: "Convert",
submitBatch: "Convert ({count} files)",
progressLabel: "Converting",
},
"compress-video": {
quality: "Compression",
light: "Light",
balanced: "Balanced",
strong: "Strong",
resolution: "Resolution",
original: "Original",
submit: "Compress",
submitBatch: "Compress ({count} files)",
progressLabel: "Compressing",
},
"trim-video": {
start: "Start (seconds)",
end: "End (seconds)",
precise: "Frame-accurate (re-encodes)",
submit: "Trim",
submitBatch: "Trim ({count} files)",
progressLabel: "Trimming",
},
"mute-video": {
submit: "Remove audio",
submitBatch: "Remove audio ({count} files)",
progressLabel: "Muting",
},
"video-to-gif": {
fps: "Frames per second",
width: "Width (px)",
start: "Start (seconds)",
duration: "Duration (seconds)",
submit: "Create GIF",
submitBatch: "Create GIFs ({count} files)",
progressLabel: "Creating GIF",
},
"resize-video": {
preset: "Preset",
width: "Width (px)",
height: "Height (px)",
hint: "Leave one dimension empty to keep aspect ratio",
submit: "Resize",
submitBatch: "Resize ({count} files)",
progressLabel: "Resizing",
},
"crop-video": {
width: "Width (px)",
height: "Height (px)",
x: "X offset",
y: "Y offset",
submit: "Crop",
submitBatch: "Crop ({count} files)",
progressLabel: "Cropping",
},
"rotate-video": {
transform: "Transform",
cw90: "Rotate 90 clockwise",
ccw90: "Rotate 90 counter-clockwise",
rotate180: "Rotate 180",
hflip: "Flip horizontal",
vflip: "Flip vertical",
submit: "Rotate",
submitBatch: "Rotate ({count} files)",
progressLabel: "Rotating",
},
"change-fps": {
fps: "Frames per second",
submit: "Change FPS",
submitBatch: "Change FPS ({count} files)",
progressLabel: "Changing FPS",
},
"video-color": {
brightness: "Brightness",
contrast: "Contrast",
saturation: "Saturation",
gamma: "Gamma",
submit: "Apply",
submitBatch: "Apply ({count} files)",
progressLabel: "Adjusting color",
},
"video-speed": {
factor: "Speed factor",
keepPitch: "Keep original pitch",
submit: "Change speed",
submitBatch: "Change speed ({count} files)",
progressLabel: "Changing speed",
},
"reverse-video": {
hint: "Limited to clips up to 5 minutes",
submit: "Reverse",
submitBatch: "Reverse ({count} files)",
progressLabel: "Reversing",
},
"video-loudnorm": {
hint: "Normalizes audio to EBU R128 broadcast standard",
submit: "Normalize",
submitBatch: "Normalize ({count} files)",
progressLabel: "Normalizing",
},
"aspect-pad": {
target: "Target ratio",
color: "Background color",
colorHint: "Hex color, e.g. #000000",
submit: "Pad",
submitBatch: "Pad ({count} files)",
progressLabel: "Padding",
},
"blur-pad": {
target: "Target ratio",
blur: "Blur strength",
submit: "Pad",
submitBatch: "Pad ({count} files)",
progressLabel: "Padding",
},
"watermark-video": {
text: "Watermark text",
position: "Position",
fontSize: "Font size",
opacity: "Opacity",
color: "Color",
colorHint: "Hex color, e.g. #ffffff",
submit: "Watermark",
submitBatch: "Watermark ({count} files)",
progressLabel: "Watermarking",
},
"stabilize-video": {
smoothing: "Smoothing",
hint: "Runs two passes and takes longer than most tools",
submit: "Stabilize",
submitBatch: "Stabilize ({count} files)",
progressLabel: "Stabilizing",
},
"gif-to-video": {
format: "Output format",
submit: "Convert",
submitBatch: "Convert ({count} files)",
progressLabel: "Converting",
},
"video-to-webp": {
fps: "Frames per second",
width: "Width (px)",
quality: "Quality",
loop: "Loop animation",
submit: "Convert",
submitBatch: "Convert ({count} files)",
progressLabel: "Converting",
},
"video-to-frames": {
mode: "Extraction mode",
modeAll: "All frames",
modeNth: "Every Nth frame",
modeTimestamps: "Specific timestamps",
n: "Take every Nth frame",
timestamps: "Timestamps (seconds)",
timestampsHint: "Comma-separated, e.g. 0.5, 2, 4.5",
format: "Image format",
submit: "Extract Frames",
submitBatch: "Extract Frames ({count} files)",
progressLabel: "Extracting frames",
},
"merge-videos": {
hint: "Files are joined in upload order",
submit: "Merge",
submitBatch: "Merge ({count} files)",
progressLabel: "Merging",
},
"replace-audio": {
hint: "Upload the video first, then the audio",
submit: "Replace Audio",
submitBatch: "Replace Audio ({count} files)",
progressLabel: "Replacing audio",
},
"burn-subtitles": {
fontSize: "Font size",
hint: "Upload a video and a subtitle file (.srt or .vtt)",
submit: "Burn Subtitles",
submitBatch: "Burn Subtitles ({count} files)",
progressLabel: "Burning subtitles",
},
"embed-subtitles": {
language: "Language code",
languageHint: "Three-letter ISO 639-2 code, e.g. eng, spa, fra",
submit: "Embed Subtitles",
submitBatch: "Embed Subtitles ({count} files)",
progressLabel: "Embedding subtitles",
},
"extract-subtitles": {
submit: "Extract Subtitles",
submitBatch: "Extract Subtitles ({count} files)",
progressLabel: "Extracting subtitles",
},
"images-to-video": {
secondsPerImage: "Seconds per image",
resolution: "Resolution",
fps: "Frames per second",
submit: "Create Video",
submitBatch: "Create Video ({count} files)",
progressLabel: "Creating slideshow",
},
"video-metadata": {
hint: "Metadata report appears in the result",
submit: "Strip Metadata",
submitBatch: "Strip Metadata ({count} files)",
progressLabel: "Stripping metadata",
},
"convert-audio": {
format: "Output format",
bitrate: "Bitrate (kbps)",
submit: "Convert",
submitBatch: "Convert ({count} files)",
progressLabel: "Converting",
},
"trim-audio": {
start: "Start (seconds)",
end: "End (seconds)",
submit: "Trim",
submitBatch: "Trim ({count} files)",
progressLabel: "Trimming",
},
"extract-audio": {
format: "Output format",
submit: "Extract",
submitBatch: "Extract ({count} files)",
progressLabel: "Extracting",
},
"volume-adjust": {
"gain-db": "Gain (dB)",
submit: "Adjust Volume",
submitBatch: "Adjust Volume ({count} files)",
progressLabel: "Adjusting volume",
},
"normalize-audio": {
hint: "EBU R128 loudness normalization",
submit: "Normalize",
submitBatch: "Normalize ({count} files)",
progressLabel: "Normalizing",
},
"fade-audio": {
"fade-in-s": "Fade in (seconds)",
"fade-out-s": "Fade out (seconds)",
submit: "Apply Fade",
submitBatch: "Apply Fade ({count} files)",
progressLabel: "Applying fade",
},
"reverse-audio": {
submit: "Reverse",
submitBatch: "Reverse ({count} files)",
progressLabel: "Reversing",
},
"audio-speed": {
factor: "Speed factor",
submit: "Change Speed",
submitBatch: "Change Speed ({count} files)",
progressLabel: "Changing speed",
},
"pitch-shift": {
semitones: "Semitones",
hint: "0 semitones is not allowed",
submit: "Shift Pitch",
submitBatch: "Shift Pitch ({count} files)",
progressLabel: "Shifting pitch",
},
"audio-channels": {
mode: "Channel mode",
"stereo-to-mono": "Stereo to mono",
"mono-to-stereo": "Mono to stereo",
swap: "Swap left/right",
submit: "Convert Channels",
submitBatch: "Convert Channels ({count} files)",
progressLabel: "Converting channels",
},
"silence-removal": {
"threshold-db": "Silence threshold (dB)",
"min-silence-s": "Minimum silence duration (seconds)",
submit: "Remove Silence",
submitBatch: "Remove Silence ({count} files)",
progressLabel: "Removing silence",
},
"noise-reduction": {
strength: "Strength",
light: "Light",
medium: "Medium",
strong: "Strong",
submit: "Reduce Noise",
submitBatch: "Reduce Noise ({count} files)",
progressLabel: "Reducing noise",
},
"merge-audio": {
format: "Output format",
mp3: "MP3",
wav: "WAV",
flac: "FLAC",
m4a: "M4A",
"order-hint": "Files will be joined in upload order",
submit: "Merge Audio",
submitBatch: "Merge Audio ({count} files)",
progressLabel: "Merging audio",
},
"split-audio": {
mode: "Split mode",
time: "By time",
parts: "Equal parts",
silence: "By silence",
"segment-s": "Segment length (seconds)",
"num-parts": "Number of parts",
"threshold-db": "Silence threshold (dB)",
"min-silence-s": "Minimum silence duration (seconds)",
submit: "Split Audio",
submitBatch: "Split Audio ({count} files)",
progressLabel: "Splitting audio",
},
"ringtone-maker": {
"start-s": "Start time (seconds)",
"duration-s": "Duration (seconds)",
"max-hint": "Maximum 30 seconds",
submit: "Create Ringtone",
submitBatch: "Create Ringtone ({count} files)",
progressLabel: "Creating ringtone",
},
"waveform-image": {
width: "Width (px)",
height: "Height (px)",
color: "Waveform color",
submit: "Generate Waveform",
submitBatch: "Generate Waveform ({count} files)",
progressLabel: "Generating waveform",
},
"audio-metadata": {
strip: "Strip all metadata",
title: "Title",
artist: "Artist",
album: "Album",
submit: "Apply Metadata",
submitBatch: "Apply Metadata ({count} files)",
progressLabel: "Applying metadata",
},
"merge-pdf": {
addFiles: "Add PDFs to merge",
needTwo: "At least two PDFs are required",
orderHint: "{count} PDFs will merge in this order",
submit: "Merge",
submitBatch: "Merge ({count} files)",
progressLabel: "Merging",
},
"split-pdf": {
mode: "Split mode",
range: "Page range",
rangeHint: "e.g. 1-3, 5, 7-z",
everyN: "Pages per part",
submit: "Split",
submitBatch: "Split ({count} files)",
progressLabel: "Splitting",
},
"compress-pdf": {
preset: "Quality preset",
screen: "Screen (smallest)",
ebook: "Ebook (balanced)",
printer: "Printer (best quality)",
submit: "Compress",
submitBatch: "Compress ({count} files)",
progressLabel: "Compressing",
},
"rotate-pdf": {
angle: "Rotation angle",
range: "Page range",
rangeHint: "e.g. 1-3, 5, 1-z (all pages)",
submit: "Rotate",
submitBatch: "Rotate ({count} files)",
progressLabel: "Rotating",
},
"convert-document": {
format: "Output format",
submit: "Convert",
submitBatch: "Convert ({count} files)",
progressLabel: "Converting",
},
"convert-presentation": {
format: "Output format",
submit: "Convert",
submitBatch: "Convert ({count} files)",
progressLabel: "Converting",
},
"convert-spreadsheet": {
format: "Output format",
hint: "Multi-sheet workbooks export the first sheet to CSV.",
submit: "Convert",
submitBatch: "Convert ({count} files)",
progressLabel: "Converting",
},
"excel-to-pdf": {
submit: "Convert to PDF",
submitBatch: "Convert ({count} files)",
progressLabel: "Converting",
},
"powerpoint-to-pdf": {
submit: "Convert to PDF",
submitBatch: "Convert ({count} files)",
progressLabel: "Converting",
},
"word-to-pdf": {
submit: "Convert to PDF",
submitBatch: "Convert ({count} files)",
progressLabel: "Converting",
},
"extract-pages": {
range: "Page range",
rangeHint: "e.g. 1-3, 5, 7-z",
submit: "Extract",
submitBatch: "Extract ({count} files)",
progressLabel: "Extracting",
},
"remove-pages": {
pages: "Pages to remove",
pagesHint: "e.g. 2, 4-6, z (last page)",
submit: "Remove",
submitBatch: "Remove ({count} files)",
progressLabel: "Removing",
},
"organize-pdf": {
order: "Page order",
orderHint: "e.g. 3,1,2 or 1-z (identity)",
submit: "Reorder",
submitBatch: "Reorder ({count} files)",
progressLabel: "Reordering",
},
"protect-pdf": {
userPassword: "User password",
ownerPassword: "Owner password (optional)",
ownerPasswordHint: "Defaults to user password if empty",
submit: "Protect",
submitBatch: "Protect ({count} files)",
progressLabel: "Encrypting",
},
"unlock-pdf": {
password: "Password",
submit: "Unlock",
submitBatch: "Unlock ({count} files)",
progressLabel: "Decrypting",
},
"repair-pdf": {
submit: "Repair",
submitBatch: "Repair ({count} files)",
progressLabel: "Repairing",
},
"linearize-pdf": {
submit: "Optimize",
submitBatch: "Optimize ({count} files)",
progressLabel: "Linearizing",
},
"grayscale-pdf": {
submit: "Convert",
submitBatch: "Convert ({count} files)",
progressLabel: "Converting",
},
"pdfa-convert": {
submit: "Convert",
submitBatch: "Convert ({count} files)",
progressLabel: "Converting",
},
"crop-pdf": {
margin: "Margin (points)",
submit: "Crop",
submitBatch: "Crop ({count} files)",
progressLabel: "Cropping",
},
"nup-pdf": {
perSheet: "Pages per sheet",
submit: "Arrange",
submitBatch: "Arrange ({count} files)",
progressLabel: "Arranging",
},
"booklet-pdf": {
perSheet: "Pages per sheet",
submit: "Create Booklet",
submitBatch: "Create Booklet ({count} files)",
progressLabel: "Creating booklet",
},
"watermark-pdf": {
text: "Watermark text",
position: "Position",
fontSize: "Font size",
opacity: "Opacity",
rotation: "Rotation",
submit: "Watermark",
submitBatch: "Watermark ({count} files)",
progressLabel: "Watermarking",
},
"pdf-page-numbers": {
position: "Position",
fontSize: "Font size",
submit: "Add Numbers",
submitBatch: "Add Numbers ({count} files)",
progressLabel: "Numbering",
},
"flatten-pdf": {
submit: "Flatten",
submitBatch: "Flatten ({count} files)",
progressLabel: "Flattening",
},
"redact-pdf": {
terms: "Terms to redact",
termsHint: "One term per line (max 50)",
caseSensitive: "Case sensitive",
submit: "Redact",
submitBatch: "Redact ({count} files)",
progressLabel: "Redacting",
},
"pdf-to-text": {
submit: "Extract Text",
submitBatch: "Extract Text ({count} files)",
progressLabel: "Extracting",
},
"pdf-to-word": {
hint: "Best for text-based PDFs; scanned pages need OCR",
submit: "Convert to Word",
submitBatch: "Convert to Word ({count} files)",
progressLabel: "Converting",
},
"pdf-metadata": {
title: "Title",
author: "Author",
subject: "Subject",
keywords: "Keywords",
submit: "Set Metadata",
submitBatch: "Set Metadata ({count} files)",
progressLabel: "Setting metadata",
},
"html-to-pdf": {
hint: "Remote resources are disabled for privacy.",
submit: "Convert to PDF",
submitBatch: "Convert to PDF ({count} files)",
progressLabel: "Converting",
},
"markdown-to-docx": {
submit: "Convert to DOCX",
submitBatch: "Convert ({count} files)",
progressLabel: "Converting",
},
"markdown-to-html": {
hint: "Remote images in the source are left as-is in the output.",
submit: "Convert to HTML",
submitBatch: "Convert ({count} files)",
progressLabel: "Converting",
},
"markdown-to-pdf": {
hint: "Remote resources are disabled for privacy.",
submit: "Convert to PDF",
submitBatch: "Convert to PDF ({count} files)",
progressLabel: "Converting",
},
"epub-convert": {
format: "Output format",
hint: "Remote resources inside the book are not fetched.",
submit: "Convert",
submitBatch: "Convert ({count} files)",
progressLabel: "Converting",
},
"to-epub": {
submit: "Convert to EPUB",
submitBatch: "Convert ({count} files)",
progressLabel: "Converting",
},
"csv-excel": {
sheet: "Worksheet number",
submit: "Convert",
submitBatch: "Convert ({count} files)",
progressLabel: "Converting",
},
"csv-json": {
pretty: "Pretty print",
submit: "Convert",
submitBatch: "Convert ({count} files)",
progressLabel: "Converting",
},
"json-xml": {
pretty: "Pretty print",
submit: "Convert",
submitBatch: "Convert ({count} files)",
progressLabel: "Converting",
},
"split-csv": {
rowsPerFile: "Rows per file",
keepHeader: "Keep header in each file",
submit: "Split",
submitBatch: "Split ({count} files)",
progressLabel: "Splitting",
},
"merge-csvs": {
submit: "Merge",
submitBatch: "Merge ({count} files)",
progressLabel: "Merging",
},
"yaml-json": {
submit: "Convert",
submitBatch: "Convert ({count} files)",
progressLabel: "Converting",
},
"xml-to-csv": {
submit: "Convert",
submitBatch: "Convert ({count} files)",
progressLabel: "Converting",
},
"create-zip": {
submit: "Create ZIP",
submitBatch: "Create ZIP ({count} files)",
progressLabel: "Zipping",
},
"extract-zip": {
submit: "Extract",
submitBatch: "Extract ({count} files)",
progressLabel: "Extracting",
},
},
urlImport: {
title: "URLからインポート",
placeholder: "画像URLを貼り付け(1行に1つ)...",
importButton: "URLをインポート",
addButton: "{count}ファイルを追加",
adding: "追加中...",
retryButton: "再試行",
cancelButton: "キャンセル",
readyCount: "{count}件準備完了",
failedStatus: "失敗",
},
comparison: {
original: "オリジナル",
processed: "処理後",
before: "ビフォー",
after: "アフター",
savings: "削減量",
},
toolPage: {
emptyPrompt: "画像をドロップまたはアップロードして開始",
filesCount: "ファイル({count}",
addMore: "+ 追加",
clearAll: "すべてクリア",
acceptDescription: "{exts}ファイルのみ",
notFound: "ツールが見つかりません",
configureAndGenerate: "設定を行い、生成してください。",
processingFailed: "このファイルの処理に失敗しました",
conversionComplete: "変換完了",
cannotPreviewDownload:
"{type}ファイルはブラウザでプレビューできません。ダウンロードボタンでファイルを保存してください。",
generatingPreview: "プレビューを生成中...",
cannotPreviewWillProcess:
"{ext}ファイルはブラウザでプレビューできません。ツールは通常通りこのファイルを処理します。",
previousImage: "前の画像",
nextImage: "次の画像",
imageCounter: "{current} / {total}",
settingsLabel: "設定",
downloadAllZip: "一括ダウンロード(ZIP",
hideSettings: "設定を隠す",
imageArea: "画像エリア",
},
homePage: {
generatingPreview: "プレビューを生成中...",
loadingPreview: "プレビューを読み込み中...",
changeFile: "ファイルを変更",
quickActions: "クイックアクション",
allTools: "すべてのツール",
},
fullscreenGrid: {
searchPlaceholder: "ツールを検索...",
hideDetails: "詳細を隠す",
showDetails: "詳細を表示",
switchToSidebar: "サイドバー表示に切り替え",
sidebarButton: "サイドバー",
noToolsFound: "ツールが見つかりません",
tryDifferent: "別の検索キーワードをお試しください",
},
editor: {
menu: {
file: {
label: "ファイル",
new: "新規",
open: "開く",
save: "保存",
exportAs: "書き出し...",
quickExportPng: "PNGで書き出し",
close: "閉じる",
},
edit: {
label: "編集",
undo: "元に戻す",
redo: "やり直し",
cut: "切り取り",
copy: "コピー",
copyMerged: "結合コピー",
paste: "貼り付け",
pasteInPlace: "同じ位置に貼り付け",
delete: "削除",
freeTransform: "自由変形",
transform: {
label: "変形",
scale: "拡大縮小",
rotate: "回転",
skew: "傾斜",
flipHorizontal: "水平反転",
flipVertical: "垂直反転",
},
},
image: {
label: "画像",
imageSize: "画像サイズ...",
canvasSize: "キャンバスサイズ...",
rotation: {
label: "画像の回転",
cw90: "時計回り90°",
ccw90: "反時計回り90°",
r180: "180°",
flipHorizontal: "水平反転",
flipVertical: "垂直反転",
},
trim: "トリム",
adjustments: {
label: "調整",
brightnessContrast: "明るさ/コントラスト",
hueSaturation: "色相/彩度",
colorBalance: "カラーバランス",
levels: "レベル",
curves: "トーンカーブ",
},
},
layer: {
label: "レイヤー",
newLayer: "新規レイヤー",
duplicateLayer: "レイヤーを複製",
deleteLayer: "レイヤーを削除",
arrange: {
label: "順序",
bringToFront: "最前面へ",
bringForward: "前面へ",
sendBackward: "背面へ",
sendToBack: "最背面へ",
},
mergeDown: "下のレイヤーと結合",
flattenImage: "画像を統合",
},
select: {
label: "選択",
all: "すべて選択",
deselect: "選択解除",
inverse: "選択の反転",
colorRange: "色域指定...",
},
filter: {
label: "フィルター",
blur: {
label: "ぼかし",
gaussian: "ガウスぼかし",
motion: "モーションぼかし",
radial: "放射ぼかし",
surface: "表面ぼかし",
},
sharpen: {
label: "シャープ",
sharpen: "シャープ",
unsharpMask: "アンシャープマスク",
},
noise: {
label: "ノイズ",
addNoise: "ノイズを追加",
reduceNoise: "ノイズを軽減",
},
pixelate: {
label: "ピクセレート",
pixelate: "ピクセレート",
mosaic: "モザイク",
},
stylize: {
label: "スタイライズ",
emboss: "エンボス",
solarize: "ソラリゼーション",
posterize: "ポスタリゼーション",
},
grayscale: "グレースケール",
sepia: "セピア",
invert: "階調の反転",
},
view: {
label: "表示",
zoomIn: "拡大",
zoomOut: "縮小",
fitOnScreen: "画面に合わせる",
actualPixels: "実際のサイズ",
rulers: "定規",
grid: "グリッド",
guides: "ガイド",
snap: "スナップ",
panels: "パネル",
},
},
menuBar: {
backTitle: "SnapOtterに戻る",
},
welcome: {
ariaLabel: "画像ドロップゾーン",
heading: "画像エディター",
dropDescription: "ここに画像をドロップして開始",
openImageButton: "画像を開く",
newDocumentButton: "新規ドキュメント",
pasteHint: "またはクリップボードから貼り付け(Ctrl+V)",
},
mobile: {
heading: "デスクトップ推奨",
description:
"画像エディターはデスクトップ画面で最適に動作します。フルな編集体験には、より大きなディスプレイのデバイスでお使いください。",
},
errors: {
serverDecodeFailed: "サーバーでのデコードに失敗しました",
},
shapes: {
shape: "Shape",
fill: "Fill",
stroke: "Stroke",
strokeWidth: "Width",
cornerRadius: "Radius",
sides: "Sides",
points: "Points",
dashStyle: "Dash",
solid: "Solid",
dashed: "Dashed",
dotted: "Dotted",
none: "None",
opacity: "Opacity",
rectangle: "Rectangle",
ellipse: "Ellipse",
line: "Line",
arrow: "Arrow",
polygon: "Polygon",
star: "Star",
},
},
settings: {
heading: "設定",
nav: {
general: "一般",
systemSettings: "システム設定",
security: "セキュリティ",
people: "メンバー",
teams: "チーム",
roles: "ロール",
auditLog: "監査ログ",
usage: "Usage",
apiKeys: "APIキー",
aiFeatures: "AI機能",
tools: "ツール",
productAnalytics: "プロダクト分析",
about: "SnapOtterについて",
},
general: {
heading: "一般",
description: "ユーザー設定と表示設定。",
loading: "読み込み中...",
logOut: "ログアウト",
defaultToolViewLabel: "デフォルトツール表示",
defaultToolViewDescription: "ホームページでのツールの表示方法",
sidebarOption: "サイドバー",
fullscreenGridOption: "フルスクリーングリッド",
appVersionLabel: "アプリバージョン",
appVersionDescription: "SnapOtterの現在のバージョン",
saveButton: "設定を保存",
saveSuccess: "設定を保存しました。",
saveFailed: "設定の保存に失敗しました。",
},
system: {
heading: "システム設定",
description: "サーバー側の構成と制限。",
fileUploadLimitLabel: "ファイルアップロード制限(MB)",
fileUploadLimitDescription: "1回のアップロードの最大ファイルサイズ",
defaultThemeLabel: "デフォルトテーマ",
defaultThemeDescription: "新しいセッションに適用されるテーマ",
lightOption: "ライト",
darkOption: "ダーク",
systemOption: "システムに合わせる",
languageLabel: "言語",
languageDescription: "インターフェースの言語",
loginAttemptLimitLabel: "ログイン試行制限",
loginAttemptLimitDescription: "ロックアウトまでの1分あたりの最大ログイン失敗回数",
fileManagementHeading: "ファイル管理",
maxFileAgeLabel: "ファイル最大保持時間(時間)",
maxFileAgeDescription: "処理済みファイルが自動クリーンアップまで保持される時間",
startupCleanupLabel: "起動時クリーンアップ",
startupCleanupDescription: "サーバー起動時に古い一時ファイルをクリーンアップ",
saveButton: "設定を保存",
saveSuccess: "設定を保存しました。",
saveFailed: "設定の保存に失敗しました。",
limitsAndResources: "制限とリソース",
maxFileSize: "最大ファイルサイズ",
maxBatchSize: "最大バッチサイズ",
concurrentJobs: "同時実行ジョブ数",
workerThreads: "ワーカースレッド数",
maxPipelineSteps: "最大Pipelineステップ数",
processingTimeout: "処理タイムアウト",
rateLimitPerMin: "レート制限(リクエスト/分)",
unlimited: "無制限",
auto: "自動",
envOverride: "環境変数で設定済み",
maxCanvasPixels: "最大キャンバスピクセル",
maxSvgSize: "最大SVGサイズ",
maxSplitGrid: "最大分割グリッド",
maxPdfPages: "最大PDFページ数",
sessionDuration: "セッション期間",
supportBundleButton: "Download Support Bundle",
supportBundleDescription:
"Download a diagnostic zip with redacted config, logs, and job data for troubleshooting.",
supportBundleFailed: "Failed to download support bundle.",
},
security: {
heading: "セキュリティ",
description: "パスワードと認証の設定。",
changePasswordHeading: "パスワード変更",
currentPasswordPlaceholder: "現在のパスワード",
newPasswordPlaceholder: "新しいパスワード",
confirmPasswordPlaceholder: "新しいパスワードの確認",
passwordsMismatch: "パスワードが一致しません",
passwordTooShort: "パスワードは4文字以上必要です",
changeSuccess: "パスワードを変更しました",
changeFailed: "パスワードの変更に失敗しました",
currentPasswordIncorrect: "現在のパスワードが正しくありません",
changePasswordButton: "パスワード変更",
loginAttemptLimitNote: "ログイン試行制限はシステム設定で構成できます。",
},
people: {
heading: "メンバー",
description: "ワークスペースのメンバーと権限を管理",
userCount: "{count}人のユーザー",
userCountPlural: "{count}人のユーザー",
searchPlaceholder: "メンバーを検索...",
addMembersButton: "メンバー追加",
newMemberHeading: "新しいメンバー",
usernamePlaceholder: "ユーザー名",
passwordPlaceholder: "パスワード",
roleUserOption: "ユーザー",
roleEditorOption: "エディター",
roleAdminOption: "管理者",
roleUserDescription: "基本ツールへのアクセス",
roleEditorDescription: "全ファイルとPipeline",
roleAdminDescription: "フルアクセス",
noDescription: "説明なし",
defaultTeamOption: "デフォルト",
createButton: "作成",
cancelButton: "キャンセル",
createSuccess: "ユーザーを作成しました",
createFailed: "ユーザーの作成に失敗しました",
userLimitReached: "ユーザー上限に達しました(最大{max})",
deleteConfirm: "ユーザー「{username}」を削除しますか?この操作は取り消せません。",
deleteSuccess: "ユーザー「{username}」を削除しました",
deleteFailed: "ユーザーの削除に失敗しました",
editHeading: "{username}を編集",
updateSuccess: "ユーザーを更新しました",
updateFailed: "ユーザーの更新に失敗しました",
cannotRemoveOwnAdmin: "自分の管理者ロールは削除できません",
resetPasswordHeading: "{username}のパスワードをリセット",
newPasswordLabel: "新しいパスワード(8文字以上)",
resetPasswordButton: "パスワードリセット",
resetPasswordWarning: "このユーザーのすべてのセッションとAPIキーが無効になります。",
resetSuccess: "パスワードをリセットしました",
resetFailed: "パスワードのリセットに失敗しました",
tableHeaderUser: "ユーザー",
tableHeaderRole: "ロール",
tableHeaderTeam: "チーム",
noSearchResults: "検索に一致するメンバーがいません。",
noUsersFound: "ユーザーが見つかりません。",
authBadgeLocalOidc: "ローカル + OIDC",
authBadgeOidc: "OIDC",
editRoleTeamAction: "ロール/チームを編集",
resetPasswordAction: "パスワードリセット",
deleteUserAction: "ユーザー削除",
saveButton: "保存",
copyPasswordButton: "パスワードをコピー",
passwordCopied: "コピーしました!",
copyPasswordWarning:
"今すぐこのパスワードをコピーしてください。ユーザー作成後は表示できません。",
},
teams: {
heading: "チーム",
description: "メンバーをチームに整理して管理を効率化。",
createButton: "新規チーム作成",
newTeamHeading: "新しいチーム",
teamNamePlaceholder: "チーム名",
createSubmitButton: "作成",
cancelButton: "キャンセル",
createSuccess: "チームを作成しました",
createFailed: "チームの作成に失敗しました",
duplicateTeamError: "同じ名前のチームが既にあります",
renameSuccess: "チーム名を変更しました",
renameFailed: "チーム名の変更に失敗しました",
deleteConfirm: "チーム「{name}」を削除しますか?メンバーは未割り当てになります。",
deleteSuccess: "チーム「{name}」を削除しました",
deleteFailed: "チームの削除に失敗しました",
cannotDeleteDefault: "デフォルトチームまたはメンバーのいるチームは削除できません",
tableHeaderTeamName: "チーム名",
tableHeaderMembers: "メンバー",
emptyState: "チームが見つかりません。",
renameSaveButton: "保存",
renameCancelButton: "キャンセル",
renameAction: "名前変更",
deleteAction: "削除",
totalMembers: "合計メンバー数",
nameRequired: "チーム名は必須です",
nameTooLong: "チーム名は50文字以内にしてください",
duplicateName: "同じ名前のチームが既にあります",
},
roles: {
heading: "ロール",
description: "ロールと権限を管理。ビルトインロールは変更できません。",
createButton: "カスタムロール作成",
newRoleHeading: "新しいロール",
roleNamePlaceholder: "ロール名",
descriptionPlaceholder: "説明(任意)",
permissionsLabel: "権限",
createSubmitButton: "作成",
cancelButton: "キャンセル",
createSuccess: "ロールを作成しました",
createFailed: "ロールの作成に失敗しました",
duplicateRoleError: "同じ名前のロールが既にあります",
editHeading: "ロールを編集:{name}",
editSaveButton: "保存",
editCancelButton: "キャンセル",
updateSuccess: "ロールを更新しました",
updateFailed: "ロールの更新に失敗しました",
deleteConfirm: "ロール「{name}」を削除しますか?{count}人のユーザーの再割り当てが必要です。",
deleteConfirmSimple: "ロール「{name}」を削除しますか?",
deleteSuccess: "ロール「{name}」を削除しました",
deleteFailed: "ロールの削除に失敗しました",
emptyState: "ロールが見つかりません。",
builtInBadge: "ビルトイン",
userCountBadge: "{count}人",
editRoleTitle: "ロールを編集",
deleteRoleTitle: "ロールを削除",
permGroup: {
tools: "ツール",
files: "ファイル",
apiKeys: "APIキー",
pipelines: "Pipeline",
settings: "設定",
users: "ユーザー",
teams: "チーム",
system: "システム",
},
},
auditLog: {
heading: "監査ログ",
allActionsFilter: "すべてのアクション",
emptyState: "監査ログエントリーはありません。",
tableHeaderTime: "時刻",
tableHeaderUser: "ユーザー",
tableHeaderAction: "アクション",
tableHeaderTarget: "対象",
paginationInfo: "{page}/{totalPages}ページ(全{total}件)",
previousButton: "前へ",
nextButton: "次へ",
justNow: "たった今",
minutesAgo: "{mins}分前",
hoursAgo: "{hrs}時間前",
daysAgo: "{days}日前",
},
usage: {
heading: "Usage",
description: "Local usage statistics from jobs and file storage.",
periodLabel: "Period",
days7: "7 days",
days30: "30 days",
days90: "90 days",
jobsPerDayHeading: "Jobs per day",
topToolsHeading: "Top tools",
perUserHeading: "Per-user volume",
durationsHeading: "Duration percentiles",
noData: "No data for this period.",
dayColumn: "Day",
totalColumn: "Total",
completedColumn: "Completed",
failedColumn: "Failed",
toolColumn: "Tool",
runsColumn: "Runs",
userColumn: "User",
bytesInColumn: "Bytes in",
poolColumn: "Pool",
p50Column: "p50",
p95Column: "p95",
storageHeading: "Library storage",
storageFiles: "{count} files",
unknownUser: "(unknown)",
},
apiKeys: {
heading: "APIキー",
description: "SnapOtterへのプログラムアクセス用APIキーを管理。",
keyNamePlaceholder: "キー名(任意)",
generateButton: "APIキーを生成",
removeScopingLabel: "権限スコープを解除",
restrictPermissionsLabel: "権限を制限(任意)",
expiresLabel: "有効期限:",
clearButton: "クリア",
copyTitle: "コピー",
keyWarning: "このキーは安全に保管してください。再表示されません。",
existingKeysHeading: "既存のキー",
createdPrefix: "{date}に作成",
scopedPrefix: "スコープ:",
expiresPrefix: "{date}に期限切れ",
deleteKeyTitle: "キーを削除",
deleteConfirm: "このAPIキーを削除しますか?このキーを使用するすべての連携が停止します。",
emptyState: "まだAPIキーがありません。1つ生成して開始しましょう。",
},
tools: {
heading: "ツール",
description:
"個別のツールを有効または無効にします。無効なツールはすべてのユーザーに非表示になります。",
restartBanner: "変更を反映するには再起動が必要です。",
searchPlaceholder: "ツールを検索...",
noSearchResults: "検索に一致するツールがありません。",
loadFailedError:
"ツール設定の読み込みに失敗しました。データ損失を防ぐため、保存は無効になっています。",
saveButton: "ツール設定を保存",
disabledCount: "{count}個のツールが無効",
},
experimental: {
label: "実験的ツールを有効化",
description: "開発中のツールを表示します。不安定な場合があります。",
},
fileManagement: {
title: "ファイル管理",
maxAge: "ファイル最大保持時間(時間)",
maxAgeDescription: "処理済みファイルが自動クリーンアップまで保持される時間",
startupCleanup: "起動時クリーンアップ",
startupCleanupDescription: "サーバー起動時に古い一時ファイルをクリーンアップ",
},
analytics: {
heading: "プロダクト分析",
description: "匿名の使用データを共有してSnapOtterの改善にご協力ください。",
privacyNote: "画像がお使いのマシンから外に出ることはありません。",
disabledByAdmin: "プロダクト分析はサーバー管理者によって無効化されています。",
enabledLabel: "分析が有効",
disabledLabel: "分析が無効",
learnMore: "詳しく見る",
},
aiFeatures: {
title: "AI Features",
description: "Manage AI model bundles for advanced image processing.",
installAll: "Install All",
diskUsage: "Disk usage:",
installed: "Installed",
notInstalled: "Not installed",
queued: "Queued",
install: "Install",
repair: "Repair",
uninstall: "Uninstall",
installing: "Installing...",
importBundle: "Import Bundle",
importDescription: "Upload a .tar.gz bundle archive exported from another installation.",
importButton: "Import from file",
importing: "Importing...",
importSuccess: "Bundle imported successfully.",
importError: "Bundle import failed: {error}",
},
about: {
heading: "SnapOtterについて",
appName: "SnapOtter",
appDescription:
"セルフホスト型、プライバシー第一の画像処理スイート。70+のツールを搭載。リサイズ、圧縮、変換、ウォーターマーク追加など、画像ワークフローをクラウドにデータを送ることなく自動化できます。",
versionLabel: "バージョン:",
linksHeading: "リンク",
githubLink: "GitHubリポジトリ",
docsLink: "ドキュメント",
apiRefLink: "APIリファレンス(Swagger",
licenseLabel: "License:",
licenseDescription:
"SnapOtter is open-source software licensed under the GNU Affero General Public License v3 (AGPLv3).",
},
},
auth: {
login: "ログイン",
logout: "ログアウト",
username: "ユーザー名",
password: "パスワード",
loginButton: "ログイン",
loggingIn: "ログイン中...",
invalidCredentials: "ユーザー名またはパスワードが無効です",
connectionError: "接続エラー",
signInWith: "{provider}でサインイン",
signInWithSso: "SSOでサインイン",
or: "または",
methodLocal: "ローカル",
methodOidc: "OIDC",
methodBoth: "ローカル + OIDC",
oidcAuthFailed: "認証に失敗しました。もう一度お試しください。",
oidcProviderUnreachable: "IDプロバイダーに接続できません。しばらく後にお試しください。",
oidcSessionExpired: "ログインセッションの有効期限が切れました。もう一度お試しください。",
oidcUserNotAuthorized:
"お使いのアカウントにはこのアプリケーションへのアクセス権がありません。管理者にお問い合わせください。",
oidcUserLimitReached: "ユーザー上限に達しました。管理者にお問い合わせください。",
oidcGenericError: "認証エラー。もう一度お試しください。",
passwordManagedByProvider: "パスワードはIDプロバイダーで管理されています。",
enterUsername: "ユーザー名を入力",
enterPassword: "パスワードを入力",
heroTitle: "あなたの画像は、あなたのもの。",
heroSubtitle: "必要なすべての画像ツールがここに。",
rotatingPhrases: [
"登録不要。アカウント不要。",
"クラウドへのアップロードは一切なし。",
"100%ローカル処理。",
"無料。ずっと無料。",
"制限なし。隠れた上限なし。",
"完全オフラインで動作。",
"バッチ処理も無制限。",
"70+の画像ツールを搭載。",
"15のAIモデル。あなたのハードウェアで。",
"Sharp搭載で超高速処理。",
"エアギャップ環境にも対応。",
"Dockerコンテナ1つで完結。",
"オープンソース。いつまでも。",
"すべてのピクセルがあなたのハードウェアに。",
"あなたのサーバー。あなたのルール。",
"docker pullひとつでデプロイ完了。",
"セルフホストという選択肢。",
"リサイズも圧縮も変換もローカルで。",
"無料の画像エディター。透かしなし。",
"バッチ画像処理を無制限で。",
"背景除去もオフラインで。",
"セルフホスト型Canva代替。",
"APIキー不要。",
"設計段階からGDPR準拠。",
"インターネットなしでも動作。",
],
},
changePassword: {
title: "パスワードを変更してください",
description:
"続行するには新しいパスワードの設定が必要です。8文字以上で大文字、小文字、数字を含めてください。",
usernameLabel: "ユーザー名",
currentPasswordLabel: "現在のパスワード",
currentPasswordPlaceholder: "現在のパスワードを入力",
newPasswordLabel: "新しいパスワード",
generateButton: "強力なパスワードを生成",
newPasswordPlaceholder: "8文字以上",
confirmPasswordLabel: "新しいパスワードの確認",
confirmPasswordPlaceholder: "新しいパスワードを再入力",
passwordsMismatch: "パスワードが一致しません",
failedError: "パスワードの変更に失敗しました",
connectionError: "接続エラー",
changingButton: "変更中...",
changeButton: "パスワード変更",
sidebarTitle: "あと少しです",
sidebarDescription: "強力なパスワードを設定してアカウントを保護すれば、準備完了です。",
},
automate: {
title: "自動化",
invalidPipelineFile: "有効なSnapOtter Pipelineファイルではありません",
newerVersion: "このPipelineは新しいバージョンのSnapOtterで作成されました",
missingName: "Pipelineファイルに名前がありません",
noSteps: "Pipelineファイルにステップがありません",
importFailed: "インポートに失敗しました",
couldNotRead: "Pipelineファイルを読み取れませんでした",
fileCount: "{count}ファイル",
fileCountPlural: "{count}ファイル",
importFromLibrary: "ライブラリからインポート",
addButton: "+ 追加",
libraryButton: "ライブラリ",
clearButton: "クリア",
processingFailed: "このファイルの処理に失敗しました",
processingMultiple: "{count}ファイルを処理中...",
processingPipeline: "Pipelineを処理中...",
processButton: "処理",
processButtonMultiple: "処理({count}",
processAllButton: "すべて処理({count}",
addTool: "ツール追加",
toolPalette: "ツールパレット",
clickToAdd: "クリックでPipelineに追加",
savedLabel: "保存済み",
importButton: "インポート",
noSavedPipelines: "保存されたPipelineはありません",
stepCount: "{count}ステップ)",
stepCountPlural: "{count}ステップ)",
exportPipeline: "Pipelineをエクスポート",
deletePipeline: "Pipelineを削除",
moreCount: "+{count}件",
pipelineBuilder: "Pipelineビルダー",
addToolsPrompt: "パレットからツールを追加して開始",
stepsConfigured: "{count}ステップ構成済み",
stepsConfiguredPlural: "{count}ステップ構成済み",
noFilesLoaded: "ファイルが読み込まれていません",
downloadZip: "ZIPをダウンロード",
saveButton: "保存",
pipelineNamePlaceholder: "Pipeline名",
descriptionPlaceholder: "説明",
savingIndicator: "...",
cancelButton: "キャンセル",
preview: "プレビュー",
previousImage: "前の画像",
nextImage: "次の画像",
imageCounter: "{current} / {total}",
imageArea: "画像エリア",
templateSocialMedia: "SNS向け最適化",
templatePrivacyClean: "プライバシークリーン",
templateWebOptimization: "Web最適化",
templateProfilePicture: "プロフィール画像",
templateWatermarkBatch: "一括ウォーターマーク",
createNew: "新しい自動化を作成",
savedAutomations: "保存済みの自動化",
templates: "テンプレート",
addStep: "ステップ追加",
removeStep: "削除",
moveUp: "上へ移動",
moveDown: "下へ移動",
savePipeline: "Pipelineを保存",
runPipeline: "処理",
pipelineName: "Pipeline名",
pipelineDescription: "説明(任意)",
noStepsPrompt: "ステップを追加して自動化を構築",
noStepsHeading: "No steps yet",
searchToolsPlaceholder: "Search tools...",
step: "ステップ",
},
nav: {
tools: "ツール",
reader: "リーダー",
automate: "自動化",
editor: "エディター",
files: "ファイル",
help: "ヘルプ",
settings: "設定",
grid: "グリッド",
},
files: {
myFiles: "My Files",
recentTab: "Recent",
uploadTab: "Upload Files",
fileDetailsAriaLabel: "File Details",
fileDetailsHeading: "File Details",
searchPlaceholder: "Search files...",
selectedCount: "{count} selected",
fileCount: "{count} files",
fileCountSingular: "{count} file",
noFilesFound: "No files found",
selectFilePrompt: "Select a file to view details",
openFile: "Open File",
openInPipeline: "Open in Pipeline",
name: "Name",
format: "Format",
size: "Size",
dimensions: "Dimensions",
version: "Version",
toolsUsed: "Tools Used",
none: "None",
delete: "Delete",
pipeline: "Pipeline",
download: "Download",
},
dropzone: {
unsupportedFileType: "このツールではサポートされていないファイルタイプです",
urlFetchFailed: "URLから画像を取得できませんでした",
ariaLabel: "ファイルドロップゾーン",
dropPrompt: "ここに画像をドロップ",
browseOrPaste: "クリックでファイルを参照、またはクリップボードから貼り付け",
uploadButton: "アップロード",
defaultFormats: "PNG、JPG、WebP、HEIC、RAW、PSD、65以上のフォーマット",
orSeparator: "または",
urlPlaceholder: "画像URLを貼り付け...",
urlLoadingIndicator: "...",
addUrlButton: "追加",
importMultipleUrls: "複数のURLをインポート...",
filesSelected: "{count}ファイルを選択済み",
},
reviewPanel: {
processedResultAlt: "処理結果",
sizeLabel: "サイズ:{size}",
typeLabel: "タイプ:{type}",
processedLabel: "処理時間:{time}",
undoButton: "元に戻す",
downloadButton: "ダウンロード",
openInEditor: "エディターで開く",
reviewHeading: "レビュー",
continueEditing: "編集を続行",
},
features: {
notEnabledTitle: "機能が無効です",
notEnabledDescription:
"この機能は有効になっていません。管理者に設定からの有効化をご依頼ください。",
requiresDownload: "この機能には追加ダウンロードが必要です(約{size})",
retryButton: "再試行",
queued: "インストール待ちです...",
enableButton: "{name}を有効化",
repairRequired: "Repair Required",
repairDescription: "Some model files are missing or corrupted. Repair will re-download them.",
repairButton: "Repair {name}",
lessThanMinute: "残り1分未満",
oneMinuteLeft: "約1分",
minutesLeft: "約{mins}分",
progressMessages: [
"もうすぐです...たぶん...",
"良いものには時間がかかります...",
"お湯が沸くのを待つよりは速いです...",
"その忍耐力、尊敬します...",
"見た目以上にがんばっています...",
"ここからが本番です、信じてください...",
"裏で大事な仕事をしています...",
"これが見えているなら、ちゃんと動いています...",
"すごいものを準備中...",
"きっと待つ価値がありますよ...",
"ハラハラ感も体験のうち...",
"あなたのPCに新しい技を教えています...",
"あなたのスーパーパワーを設定中...",
"あなたの画像が後で感謝するはず...",
"ローディング中...おしゃれに...",
"コーヒータイムにちょうどいい待ち時間...",
"ローマも一日にしてならず...",
"しっ...天才が仕事中です...",
"あなたの写真がこの先の仕上がりに嫉妬中...",
"ドリームチームを結成中...",
"すごいものを開封中...",
"始めるか考え中...冗談です...",
"どんでん返し:実はちゃんと動いてます...",
"クリエイティブエンジンをウォーミングアップ中...",
"イマジネーションをロード中...",
"スクリーンセーバーじゃないですよ...",
"偉大なアートにはインストール時間が必要...",
"未来のあなたが今のあなたに感謝するでしょう...",
"賢いファイルを取得中...",
"お楽しみはこれからです...",
],
},
help: {
heading: "ヘルプ",
gettingStarted: {
heading: "はじめに",
description:
"サイドバーからツールを選択するか検索してください。ページに画像をドラッグするか、アップロードエリアをクリックして画像をアップロードします。設定を調整して結果をダウンロードしてください。",
},
keyboardShortcuts: {
heading: "キーボードショートカット",
focusSearchBar: "検索バーにフォーカス",
goToTools: "ツールへ移動",
toggleTheme: "テーマ切り替え",
goToResize: "リサイズへ移動",
goToCrop: "クロップへ移動",
goToCompress: "圧縮へ移動",
goToConvert: "変換へ移動",
goToRemoveBackground: "背景除去へ移動",
goToWatermarkText: "テキストウォーターマークへ移動",
goToStripMetadata: "メタデータ削除へ移動",
goToImageInfo: "画像情報へ移動",
},
resources: {
heading: "リソース",
githubLink: "GitHubリポジトリ",
reportIssueLink: "問題を報告",
docsLink: "ドキュメント",
apiRefLink: "APIリファレンス(Swagger",
},
versionLabel: "SnapOtter v{version}",
},
errors: {
generic: "エラーが発生しました",
offline: "オフラインです",
reconnecting: "サーバーに再接続中...",
connected: "接続しました",
processingFailed: "このファイルの処理に失敗しました",
timeout:
"リクエストがタイムアウトしました。サーバーが過負荷の可能性があります。再試行してください。",
networkError: "ネットワークエラー。接続を確認してください。",
invalidCredentials: "ユーザー名またはパスワードが無効です",
connectionError: "接続エラー",
},
analytics: {
consentTitle: "SnapOtterの改善にご協力ください",
consentDescription:
"匿名の使用データはバグ修正や本当に必要なツールの開発に役立ちます。画像やファイルがお使いのマシンから外に出ることはありません。",
consentChangeable: "設定からいつでもオフにできます。",
acceptButton: "はい、協力します",
declineButton: "今はしない",
settingsTitle: "プロダクト分析",
settingsDescription: "匿名の使用データを共有してSnapOtterの改善にご協力ください。",
settingsPrivacy: "画像がお使いのマシンから外に出ることはありません。",
settingsDisabledByAdmin: "プロダクト分析はサーバー管理者によって無効化されています。",
learnMore: "詳しく見る",
},
sidebar: {
tools: "ツール",
grid: "グリッド",
automate: "自動化",
editor: "エディター",
files: "ファイル",
help: "ヘルプ",
settings: "設定",
},
toolCard: {
addToFavourites: "お気に入りに追加",
},
appLayout: {
mobileNavTools: "ツール",
mobileNavAutomate: "自動化",
mobileNavEditor: "エディター",
mobileNavFiles: "ファイル",
mobileNavSettings: "設定",
},
a11y: {
skipToContent: "Skip to main content",
openSidebar: "Open sidebar",
closeSidebar: "Close sidebar",
closeSettings: "Close settings",
closeHelp: "Close help",
closeDialog: "Close dialog",
zoomIn: "Zoom in",
zoomOut: "Zoom out",
fitToView: "Fit to view",
actualSize: "Actual size",
previousImage: "Previous image",
nextImage: "Next image",
imageArea: "Image area",
imageViewer: "Image viewer",
fileDropZone: "File drop zone",
imageDropZone: "Image drop zone",
beforeAfterSlider: "Before/after comparison slider",
imageControls: "Image controls",
zoomControls: "Zoom controls",
dragToReorder: "Drag to reorder",
whiteBackground: "White background",
blackBackground: "Black background",
expandPanel: "Expand panel",
collapsePanel: "Collapse panel",
swapDimensions: "Swap dimensions",
applyCrop: "Apply crop",
cancelCrop: "Cancel crop",
fontFamily: "Font family",
textColor: "Text color",
flipHorizontal: "Flip horizontal",
flipVertical: "Flip vertical",
hexColorValue: "Hex color value",
backgroundColor: "Background color",
foregroundColor: "Foreground color",
swapColors: "Swap foreground and background colors",
resetColors: "Reset to default black and white",
foregroundHex: "Foreground color hex value",
undo: "Undo",
redo: "Redo",
layers: "Layers",
addLayer: "Add layer",
deleteLayer: "Delete layer",
cancelOperation: "Cancel operation",
fill: "Fill",
fileDetails: "File details",
language: "Language",
selected: "Selected",
deleteKey: "Delete key",
editRole: "Edit role",
deleteRole: "Delete role",
notInstalled: "Not installed",
queued: "Queued for install",
installing: "Installing",
imageNOfTotal: "Image {n} of {total}",
processingComplete: "Image processed successfully",
processingFailed: "Processing failed",
settingsDialog: "Settings",
helpDialog: "Help",
navigationMenu: "Navigation",
},
} as const;
export default ja;