mirror of
https://github.com/snapotter-hq/SnapOtter.git
synced 2026-08-03 07:46:42 +02:00
3305 lines
120 KiB
TypeScript
3305 lines
120 KiB
TypeScript
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つのPDF(1ページに1画像)",
|
||
separatePdfMode: "個別のPDF(1画像につき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;
|