dnssweeper-cli
Version:
CLI tool for detecting and analyzing unused DNS records
112 lines • 4.24 kB
JavaScript
;
/**
* 多言語メッセージ管理
*/
Object.defineProperty(exports, "__esModule", { value: true });
exports.getMessages = getMessages;
exports.formatMessage = formatMessage;
const japaneseMessages = {
app: {
title: '🔍 DNSweeper CLI - DNS レコード分析ツール',
analyzing: 'CSVファイルを分析中...',
analysisComplete: '分析完了',
executionTime: '実行時間',
target: '分析対象',
outputFormat: '出力形式',
},
analysis: {
summary: '📊 分析結果サマリー',
totalRecords: '総レコード数:',
processingTime: '処理時間:',
riskDistribution: '🎯 リスク分布:',
deleteRecommended: '削除検討対象:',
noHighRisk: '高リスクレコードは検出されませんでした',
topRiskyRecords: '🔍 高リスクレコード(上位5件):',
detailedResults: '📋 詳細分析結果',
executionComplete: '✅ 実行完了:',
},
riskLevels: {
critical: 'クリティカル',
high: '高リスク',
medium: '中リスク',
low: '低リスク',
safe: '安全',
},
errors: {
analysisFailure: '分析に失敗しました',
fileNotFound: 'ファイルが見つかりません',
invalidFormat: '無効なフォーマットです',
processingError: '処理エラーが発生しました',
},
reasons: {
dangerousPrefix: '危険なプレフィックス「{pattern}」が検出されました',
dangerousSuffix: '危険なサフィックス「{pattern}」が検出されました',
dangerousKeyword: '危険なキーワード「{pattern}」が検出されました',
lastModified: '最終更新から{days}日経過しています',
cnameWarning: 'CNAMEレコードは参照先の変更に注意が必要です',
noSpecialIssues: 'パターンマッチングによる特別な問題は検出されませんでした',
},
};
const englishMessages = {
app: {
title: '🔍 DNSweeper CLI - DNS Record Analysis Tool',
analyzing: 'Analyzing CSV file...',
analysisComplete: 'Analysis complete',
executionTime: 'Execution time',
target: 'Analysis target',
outputFormat: 'Output format',
},
analysis: {
summary: '📊 Analysis Summary',
totalRecords: 'Total records:',
processingTime: 'Processing time:',
riskDistribution: '🎯 Risk Distribution:',
deleteRecommended: 'Deletion candidates:',
noHighRisk: 'No high-risk records detected',
topRiskyRecords: '🔍 Top Risky Records (Top 5):',
detailedResults: '📋 Detailed Analysis Results',
executionComplete: '✅ Execution complete:',
},
riskLevels: {
critical: 'Critical',
high: 'High Risk',
medium: 'Medium Risk',
low: 'Low Risk',
safe: 'Safe',
},
errors: {
analysisFailure: 'Analysis failed',
fileNotFound: 'File not found',
invalidFormat: 'Invalid format',
processingError: 'Processing error occurred',
},
reasons: {
dangerousPrefix: 'Dangerous prefix "{pattern}" detected',
dangerousSuffix: 'Dangerous suffix "{pattern}" detected',
dangerousKeyword: 'Dangerous keyword "{pattern}" detected',
lastModified: 'Last modified {days} days ago',
cnameWarning: 'CNAME record requires attention to reference changes',
noSpecialIssues: 'No special issues detected by pattern matching',
},
};
const messageStore = new Map([
['ja', japaneseMessages],
['en', englishMessages],
]);
/**
* 指定された言語のメッセージを取得
*/
function getMessages(language) {
return messageStore.get(language) || japaneseMessages;
}
/**
* メッセージのプレースホルダーを置換
*/
function formatMessage(message, params) {
let formatted = message;
for (const [key, value] of Object.entries(params)) {
formatted = formatted.replace(new RegExp(`\\{${key}\\}`, 'g'), String(value));
}
return formatted;
}
//# sourceMappingURL=messages.js.map