The palette now follows Oxide's design system (docs.oxide.computer): a cool neutral scale at hue 260 with almost no chroma, opaque strokes, and Oxide's green as the only accent. The accent-color option is gone: selection, the cursor row, focus rings and the active-panel line all read green. The file panel's header strip now steps toward the list, one shade per row (session strip, path bar, column headers), derived by color-mix so every theme, AMOLED included, follows on its own. Everything is square: every rounded utility and the radius tokens are gone, and checkboxes, radios, selects, number spinners and scrollbars are restyled to match (square scrollbars are always visible on macOS, the cost of styling them). Co-Authored-By: Claude <noreply@anthropic.com>
307 lines
12 KiB
TypeScript
307 lines
12 KiB
TypeScript
// Japanese translations. Fall back to English for missing keys.
|
||
// TODO(i18n): AI draft — needs native-speaker review.
|
||
export const ja = {
|
||
common: {
|
||
cancel: "キャンセル",
|
||
save: "保存",
|
||
close: "閉じる",
|
||
delete: "削除",
|
||
rename: "名前を変更",
|
||
create: "作成",
|
||
apply: "適用",
|
||
choose: "選択…",
|
||
connect: "接続",
|
||
local: "ローカル",
|
||
},
|
||
app: {
|
||
notConnectedTitle: "アプリに接続されていません",
|
||
notConnectedBody: "このページは通常のブラウザで動作しています。デスクトップアプリを起動して使用してください。",
|
||
managerOpen: "接続マネージャーが開いています。",
|
||
showConnections: "接続を表示",
|
||
},
|
||
tabBar: {
|
||
connections: "接続",
|
||
manageConnections: "接続を管理",
|
||
newTab: "新しいタブ ({mod}T)",
|
||
closeTab: "タブを閉じる ({mod}W)",
|
||
options: "設定",
|
||
update: "アップデートあり",
|
||
updating: "更新中",
|
||
restartToUpdate: "再起動して適用",
|
||
updateTooltip: "アップデートがあります: miniSCP {version}",
|
||
},
|
||
options: {
|
||
title: "設定",
|
||
sections: {
|
||
appearance: "外観",
|
||
transfers: "転送",
|
||
editor: "エディタ",
|
||
fileList: "ファイル一覧",
|
||
about: "情報",
|
||
},
|
||
columns: "表示する列",
|
||
language: "言語",
|
||
system: "システム",
|
||
theme: { label: "テーマ", system: "システム", light: "ライト", dark: "ダーク" },
|
||
tone: { label: "トーン", dark: "ダーク", darker: "AMOLED" },
|
||
interface: { label: "インターフェース", smaller: "縮小", larger: "拡大", reset: "100%に戻す" },
|
||
speedUnit: { label: "速度の単位" },
|
||
transfers: { label: "転送", single: "1件ずつ", multi: "複数" },
|
||
atOnce: "同時数",
|
||
editor: { label: "エディタ", builtin: "内蔵", custom: "カスタム" },
|
||
systemDefault: "システムの既定",
|
||
resetDefault: "既定に戻す",
|
||
finishedTransfers: { label: "完了した転送", autoClear: "自動クリア", keep: "保持" },
|
||
},
|
||
kinds: {
|
||
folder: "フォルダ",
|
||
symlink: "シンボリックリンク",
|
||
file: "ファイル",
|
||
image: "画像",
|
||
audio: "オーディオ",
|
||
video: "動画",
|
||
archive: "アーカイブ",
|
||
code: "コード",
|
||
document: "ドキュメント",
|
||
},
|
||
columns: {
|
||
name: "名前",
|
||
size: "サイズ",
|
||
mtime: "更新日時",
|
||
kind: "種類",
|
||
rights: "権限",
|
||
owner: "所有者",
|
||
group: "グループ",
|
||
},
|
||
panel: {
|
||
choosePanel: "このパネルに表示する内容を選択",
|
||
copy: "送信",
|
||
copyToRight: "右のパネルへ送信 (F5)",
|
||
copyToLeft: "左のパネルへ送信 (F5)",
|
||
edit: "編集",
|
||
editFile: "ファイルを編集 (F4)",
|
||
rename: "名前を変更 (F2)",
|
||
newFolder: "新規フォルダ (F7)",
|
||
newFile: "新規ファイル",
|
||
permissions: "アクセス権",
|
||
delete: "削除",
|
||
deleteHint: "削除 (F8 / Del)",
|
||
parentDir: "親フォルダ (Backspace)",
|
||
refresh: "更新",
|
||
clearFilter: "フィルターをクリア (Esc)",
|
||
sshConfig: "~/.ssh/config",
|
||
connectingTo: "{name} に接続中…",
|
||
emptyDir: "空のフォルダ",
|
||
noMatches: "一致なし",
|
||
matches: { other: "{count} 件一致 · Esc" },
|
||
},
|
||
connMgr: {
|
||
title: "接続",
|
||
importWinscp: "WinSCP からインポート…",
|
||
importWinscpHint: "WinSCP.ini エクスポートからセッションをインポート",
|
||
newConnection: "接続",
|
||
newConnectionHint: "新規接続",
|
||
newStack: "グループ",
|
||
newStackHint: "新規グループ",
|
||
expand: "展開",
|
||
collapse: "折りたたむ",
|
||
renameStack: "グループ名を変更",
|
||
deleteStack: "グループを削除",
|
||
openStack: "グループをタブで開く",
|
||
empty: "空",
|
||
connectionsHeader: "接続",
|
||
noneTitle: "保存された接続はまだありません。",
|
||
noneBody: "作成するか、WinSCP セッションをインポートしてください。",
|
||
name: "名前",
|
||
namePlaceholder: "マイサーバー",
|
||
host: "ホスト",
|
||
port: "ポート",
|
||
stack: "グループ",
|
||
stackNone: "(なし)",
|
||
username: "ユーザー名",
|
||
remotePath: "リモートパス(任意)",
|
||
remotePathPlaceholder: "ホームディレクトリ",
|
||
auth: "認証",
|
||
authPassword: "パスワード",
|
||
authKey: "秘密鍵",
|
||
password: "パスワード",
|
||
privateKeyFile: "秘密鍵ファイル",
|
||
passphrase: "パスフレーズ(任意)",
|
||
localDir: "ローカルディレクトリ(任意)",
|
||
localDirPlaceholder: "~/projects/my-server",
|
||
localDirHint: "もう一方のパネルがローカルで未操作のとき、ここが開きます。",
|
||
more: "詳細…",
|
||
less: "閉じる…",
|
||
selectPrompt: "接続を選択するか、新しく作成してください。",
|
||
newStackTitle: "新規グループ",
|
||
newStackPrompt: "グループ名",
|
||
renameStackTitle: "グループ名を変更",
|
||
deleteStackTitle: "グループを削除",
|
||
deleteStackBody: 'グループ "{name}" を削除しますか?含まれる接続は残り、グループ解除されます。',
|
||
deleteConnectionTitle: "接続を削除",
|
||
deleteConnectionBody: '"{name}" を削除しますか?',
|
||
},
|
||
editor: {
|
||
noFileTitle: "編集するファイルがありません",
|
||
noFileBody: "このウィンドウはエディタコンテキストなしで開かれました。アプリからファイルを開いてください。",
|
||
wrap: "折り返し",
|
||
wrapHint: "長い行を折り返す — 行番号を非表示 ({alt}Z)",
|
||
findHint: "検索 ({mod}F)",
|
||
findPlaceholder: "ファイル内を検索",
|
||
prevMatch: "前の一致 (⇧↵)",
|
||
nextMatch: "次の一致 (↵)",
|
||
closeHint: "閉じる (Esc)",
|
||
disconnected: "{name} から切断されました — 保存は失敗しますが、テキストはこのウィンドウに保持されます。",
|
||
cantOpen: "{name} を開けません",
|
||
closeWindow: "ウィンドウを閉じる",
|
||
shortcuts: "{mod}S 保存 · {mod}F 検索 · {mod}W 閉じる",
|
||
lines: { other: "{count} 行" },
|
||
close: "閉じる",
|
||
save: "保存",
|
||
saveChangesTitle: '"{name}" への変更を保存しますか?',
|
||
saveChangesBody: "保存しないと変更は失われます。",
|
||
dontSave: "保存しない",
|
||
countLabel: "{total} 件中 {current} 件目",
|
||
noMatches: "一致なし",
|
||
},
|
||
transfer: {
|
||
summary: "{active} 件実行中 · {finished} 件完了",
|
||
clearFinished: "完了分をクリア",
|
||
cancel: "キャンセル",
|
||
dismiss: "閉じる",
|
||
showDetails: "転送の詳細を表示",
|
||
copying: "{name} をコピー中 · {percent}%{speed}",
|
||
queued: "{count} 件待機中",
|
||
failed: { other: "{count} 件の転送が失敗" },
|
||
finished: "転送が完了しました",
|
||
ready: "準備完了",
|
||
items: "{count} 項目",
|
||
selected: "{count} 件選択中",
|
||
queuedState: "待機中",
|
||
scanning: "スキャン中…",
|
||
failedState: "失敗",
|
||
cancelled: "キャンセル済み",
|
||
completedFiles: { other: "{count} 個のファイル · {size}" },
|
||
left: "残り {eta}",
|
||
},
|
||
dialogs: {
|
||
chmodTitle: "アクセス権",
|
||
chmodItems: "{count} 項目",
|
||
read: "読み取り",
|
||
write: "書き込み",
|
||
execute: "実行",
|
||
roleOwner: "所有者",
|
||
roleGroup: "グループ",
|
||
roleOthers: "その他",
|
||
octal: "8進数",
|
||
mergeFolder: "フォルダを結合",
|
||
replace: "置き換える",
|
||
merge: "結合",
|
||
mergeAll: "すべて結合",
|
||
replaceAll: "すべて置き換える",
|
||
skip: "スキップ",
|
||
skipAll: "すべてスキップ",
|
||
ofTotal: "{total} 件中 {index} 件目",
|
||
overwriteDirBody: "コピー先に同名のフォルダが既にあります。結合すると中のファイルが置き換わる可能性があります。",
|
||
overwriteFileBody: "コピー先に同名のファイルが既にあります。",
|
||
source: "コピー元",
|
||
destination: "コピー先",
|
||
newer: "新しい",
|
||
},
|
||
toasts: {
|
||
movedToTrash: '"{name}" をゴミ箱に移動しました',
|
||
editingExternal: "{name} を編集中 — 保存すると自動でアップロードされます",
|
||
nothingToCopy: "コピーする項目がありません(シンボリックリンクはスキップされます)",
|
||
nothingToCopyAllSkipped: "コピーする項目がありません — 競合する項目はすべてスキップされました",
|
||
sameFolder: "両方のパネルが同じフォルダを表示しています",
|
||
sameFile: '"{name}" をスキップしました — 同じファイルです',
|
||
typeMismatch: '"{name}" をスキップしました — 別の種類の項目があります',
|
||
transferFailed: '転送 "{name}" が失敗しました: {error}',
|
||
unknownError: "不明なエラー",
|
||
saved: "{name} を保存しました",
|
||
disconnectedReason: "{title}: 切断されました ({reason})",
|
||
imported: { other: "{count} 件の接続をインポートしました" },
|
||
importedIntoStacks: { other: "({count} 件の新規グループに)" },
|
||
importedSkipped: "({skipped} 件スキップ)",
|
||
leftoverTitle: "残った編集済みファイル",
|
||
leftoverMore: "、他 {count} 件",
|
||
leftoverBody: {
|
||
other: "前回のセッションで {count} 件の一時編集ファイルが残っています({names})。クリアしますか?",
|
||
},
|
||
leftoverClear: "クリア",
|
||
},
|
||
fileActions: {
|
||
deleteTitle: "削除",
|
||
deleteBody: "{what} を削除しますか?フォルダは再帰的に削除されます。この操作は取り消せません。",
|
||
deleteConfirm: "削除",
|
||
renameTitle: '"{name}" の名前を変更',
|
||
renameConfirm: "名前を変更",
|
||
newFolderTitle: "新規フォルダ",
|
||
newFolderPlaceholder: "フォルダ名",
|
||
newFileTitle: "新規ファイル",
|
||
newFilePlaceholder: "ファイル名",
|
||
createConfirm: "作成",
|
||
itemsCount: "{count} 項目",
|
||
},
|
||
menu: {
|
||
about: "{app} について",
|
||
settings: "設定…",
|
||
checkForUpdates: "アップデートを確認…",
|
||
quit: "終了",
|
||
file: "ファイル",
|
||
newTab: "新しいタブ",
|
||
closeTab: "タブを閉じる",
|
||
newFolder: "新規フォルダ",
|
||
newFile: "新規ファイル",
|
||
editFile: "ファイルを編集",
|
||
connect: "接続",
|
||
connectionManager: "接続マネージャー…",
|
||
edit: "編集",
|
||
view: "表示",
|
||
refresh: "更新",
|
||
window: "ウィンドウ",
|
||
},
|
||
ctx: {
|
||
size: "サイズ",
|
||
modified: "更新日時",
|
||
kind: "種類",
|
||
rights: "権限",
|
||
owner: "所有者",
|
||
group: "グループ",
|
||
revealFinder: "Finder で表示",
|
||
revealExplorer: "エクスプローラーで表示",
|
||
revealFileManager: "ファイルマネージャーで表示",
|
||
moveToTrash: "ゴミ箱に移動",
|
||
moveToRecycleBin: "ごみ箱に移動",
|
||
newFolder: "新規フォルダ",
|
||
newFile: "新規ファイル",
|
||
refresh: "更新",
|
||
open: "開く",
|
||
openDefault: "既定のアプリで開く",
|
||
edit: "編集",
|
||
copyToOther: "もう一方のパネルへ送信",
|
||
rename: "名前を変更",
|
||
permissions: "アクセス権",
|
||
copyPath: "パスをコピー",
|
||
delete: "削除",
|
||
columns: "列",
|
||
tabNew: "新しいタブ",
|
||
tabClose: "タブを閉じる",
|
||
tabCloseOthers: "他のタブを閉じる",
|
||
tabCloseRight: "右側のタブを閉じる",
|
||
tabDisconnect: "切断",
|
||
trashTooltip: "ここからゴミ箱に入れた項目は Finder の「戻す」を利用できません",
|
||
},
|
||
errors: {
|
||
sshAgentUnavailable: "ssh-agent が利用できません(SSH_AUTH_SOCK が未設定)",
|
||
identityFileNotFound: "認証鍵ファイルが見つかりません: {path}",
|
||
sessionNotConnected: 'セッション "{id}" は接続されていません',
|
||
localCannotDisconnect: "ローカルセッションは切断できません",
|
||
notADirectory: '"{path}" は存在し、フォルダではありません',
|
||
sameFileTransfer: '"{name}": コピー元とコピー先が同じファイルです',
|
||
sameFileNoName: "コピー元とコピー先が同じファイルです",
|
||
folderOntoItself: "フォルダをそれ自身の上にコピーすることはできません",
|
||
folderIntoItself: "フォルダをそれ自身の中にコピーすることはできません",
|
||
},
|
||
} as const;
|