UNPKG

aiwf

Version:

AI Workflow Framework for Claude Code with multi-language support (Korean/English)

190 lines (187 loc) โ€ข 10.8 kB
/** * Localized messages for AIWF installer */ export const messages = { ko: { welcome: '\n๐ŸŽ‰ AIWF์— ์˜ค์‹  ๊ฒƒ์„ ํ™˜์˜ํ•ฉ๋‹ˆ๋‹ค!\n', description: '์ด ์„ค์น˜ ํ”„๋กœ๊ทธ๋žจ์€ AIWF AI ํ”„๋กฌํ”„ํŠธ ํ”„๋ ˆ์ž„์›Œํฌ๋ฅผ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค', optimized: 'ํŠน๋ณ„ํžˆ Claude Code ์— ์ตœ์ ํ™” ๋˜์–ด์žˆ์Šต๋‹ˆ๋‹ค.\n', selectLanguage: 'Please select language / ์–ธ์–ด๋ฅผ ์„ ํƒํ•ด์ฃผ์„ธ์š”:', korean: 'ํ•œ๊ตญ์–ด (Korean)', english: 'English', existingDetected: '๊ธฐ์กด AIWF ์„ค์น˜๊ฐ€ ๊ฐ์ง€๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๋ฌด์—‡์„ ํ•˜์‹œ๊ฒ ์Šต๋‹ˆ๊นŒ?', updateOption: '์—…๋ฐ์ดํŠธ (๋ช…๋ น์–ด์™€ ๋ฌธ์„œ๋งŒ ์—…๋ฐ์ดํŠธํ•˜๊ณ  ์ž‘์—… ๋‚ด์šฉ์€ ๋ณด์กด)', reinstallOption: '์™„์ „ ์žฌ์„ค์น˜ (๋ชจ๋“  ๋‚ด์šฉ์„ ์ƒˆ๋กœ ์„ค์น˜, ๊ธฐ์กด ํ”„๋กœ์ ํŠธ ๋ฎ์–ด์“ฐ๊ธฐ)', skipOption: '์„ค์น˜ ๊ฑด๋„ˆ๋›ฐ๊ธฐ', cancelOption: '์ทจ์†Œ', projectDetected: '๊ธฐ์กด ํ”„๋กœ์ ํŠธ๊ฐ€ ๊ฐ์ง€๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ํ”„๋กœ์ ํŠธ ํŒŒ์ผ์„ ์–ด๋–ป๊ฒŒ ์ฒ˜๋ฆฌํ•˜์‹œ๊ฒ ์Šต๋‹ˆ๊นŒ?', preserveProject: 'ํ”„๋กœ์ ํŠธ ๋ณด์กด (๊ธฐ์กด ํ”„๋กœ์ ํŠธ ํŒŒ์ผ ์œ ์ง€)', overwriteProject: '๋ฎ์–ด์“ฐ๊ธฐ (์ƒˆ๋กœ ์„ค์น˜ํ•˜๊ณ  ๊ธฐ์กด ํ”„๋กœ์ ํŠธ ์‚ญ์ œ)', checkingProject: '๊ธฐ์กด ํ”„๋กœ์ ํŠธ ํ™•์ธ ์ค‘...', projectFound: '๊ธฐ์กด ํ”„๋กœ์ ํŠธ๊ฐ€ ๋ฐœ๊ฒฌ๋˜์—ˆ์Šต๋‹ˆ๋‹ค:', projectPreserved: '๐Ÿ’พ ํ”„๋กœ์ ํŠธ๊ฐ€ ๋ณด์กด๋˜์—ˆ์Šต๋‹ˆ๋‹ค.', projectOverwritten: '๐Ÿ”„ ํ”„๋กœ์ ํŠธ๊ฐ€ ์ƒˆ๋กœ ์„ค์น˜๋˜์—ˆ์Šต๋‹ˆ๋‹ค.', installCancelled: '\n์„ค์น˜๊ฐ€ ์ทจ์†Œ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.', backingUp: '๊ธฐ์กด ๋ช…๋ น์–ด ๋ฐ ๋ฌธ์„œ ๋ฐฑ์—… ์ค‘...', fetching: 'GitHub์—์„œ AIWF ํ”„๋ ˆ์ž„์›Œํฌ๋ฅผ ๊ฐ€์ ธ์˜ค๋Š” ์ค‘...', downloading: 'AIWF ํ”„๋ ˆ์ž„์›Œํฌ ํŒŒ์ผ์„ ๋‹ค์šด๋กœ๋“œํ•˜๋Š” ์ค‘...', updatingDocs: '๋ฌธ์„œ๋ฅผ ์—…๋ฐ์ดํŠธํ•˜๋Š” ์ค‘...', downloadingCommands: 'AIWF ๋ช…๋ น์–ด๋ฅผ ์ƒˆ๋กœ ๋‹ค์šด๋กœ๋“œํ•˜๋Š” ์ค‘...', updateSuccess: 'โœ… AIWF ํ”„๋ ˆ์ž„์›Œํฌ๊ฐ€ ์„ฑ๊ณต์ ์œผ๋กœ ์—…๋ฐ์ดํŠธ๋˜์—ˆ์Šต๋‹ˆ๋‹ค!', installSuccess: 'โœ… AIWF ํ”„๋ ˆ์ž„์›Œํฌ๊ฐ€ ์„ฑ๊ณต์ ์œผ๋กœ ์„ค์น˜๋˜์—ˆ์Šต๋‹ˆ๋‹ค!', enjoy: '\nEnjoy AIWF! ๐Ÿš€\n', backupComplete: '{count}๊ฐœ ํŒŒ์ผ ๋ฐฑ์—… ์™„๋ฃŒ (*.bak)', noFilesToBackup: '๋ฐฑ์—…ํ•  ๊ธฐ์กด ํŒŒ์ผ์ด ์—†์Šต๋‹ˆ๋‹ค', backupFailed: '๋ฐฑ์—… ์‹คํŒจ', downloadingFile: '{path} ๋‹ค์šด๋กœ๋“œ ์ค‘...', downloadingTemplates: 'ํ…œํ”Œ๋ฆฟ ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ ๋‹ค์šด๋กœ๋“œ ์ค‘...', templatesNotFound: 'ํ…œํ”Œ๋ฆฟ ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ ์ฐพ์„ ์ˆ˜ ์—†์–ด ๊ฑด๋„ˆ๋œ๋‹ˆ๋‹ค...', deletingOldCommands: '๊ธฐ์กด AIWF ๋ช…๋ น์–ด ํด๋”๋ฅผ ์‚ญ์ œํ•˜๋Š” ์ค‘...', commandsNotFound: '๋ช…๋ น์–ด ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ ์ฐพ์„ ์ˆ˜ ์—†์–ด ๊ฑด๋„ˆ๋œ๋‹ˆ๋‹ค...', downloadingRulesGlobal: 'rules/global ํด๋”๋ฅผ ๋‹ค์šด๋กœ๋“œ ์ค‘...', rulesGlobalNotFound: 'rules/global ํด๋”๋ฅผ ์ฐพ์„ ์ˆ˜ ์—†์–ด ๊ฑด๋„ˆ๋œ๋‹ˆ๋‹ค...', downloadingRulesManual: 'rules/manual ํด๋”๋ฅผ ๋‹ค์šด๋กœ๋“œ ์ค‘...', rulesManualNotFound: 'rules/manual ํด๋”๋ฅผ ์ฐพ์„ ์ˆ˜ ์—†์–ด ๊ฑด๋„ˆ๋œ๋‹ˆ๋‹ค...', updateHistory: '๐Ÿ”„ ์—…๋ฐ์ดํŠธ ๋‚ด์—ญ:', updatedCommands: '๋‚ด์˜ ๋ช…๋ น์–ด', updatedDocs: '๋ฌธ์„œ (CLAUDE.md ํŒŒ์ผ)', workPreserved: '๐Ÿ’พ ์ž‘์—… ๋‚ด์šฉ์€ ๋ณด์กด๋˜์—ˆ์Šต๋‹ˆ๋‹ค:', allFilesPreserved: '๋ชจ๋“  ์ž‘์—…, ์Šคํ”„๋ฆฐํŠธ, ๋ฐ ํ”„๋กœ์ ํŠธ ํŒŒ์ผ์ด ๋ณ€๊ฒฝ๋˜์ง€ ์•Š์Œ', backupCreated: '๋ฐฑ์—…์€ *.bak ํŒŒ์ผ๋กœ ๋งŒ๋“ค์–ด์ง', structureCreated: '๐Ÿ“ ์ƒ์„ฑ๋œ ๊ตฌ์กฐ:', aiwfRoot: 'ํ”„๋กœ์ ํŠธ ๊ด€๋ฆฌ ๋ฃจํŠธ', claudeCommands: 'Claude ์‚ฌ์šฉ์ž ๋ช…๋ น์–ด', nextSteps: '๐Ÿš€ ๋‹ค์Œ ๋‹จ๊ณ„:', nextStep1: 'Claude Code์—์„œ ์ด ํ”„๋กœ์ ํŠธ๋ฅผ ์—ฝ๋‹ˆ๋‹ค', nextStep2: '/aiwf_<command> ๋ช…๋ น์–ด๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํ”„๋กœ์ ํŠธ๋ฅผ ๊ด€๋ฆฌํ•˜์„ธ์š”', nextStep3: '/aiwf_initialize๋ฅผ ์‹คํ–‰ํ•˜์—ฌ ํ”„๋กœ์ ํŠธ๋ฅผ ์„ค์ •ํ•˜์„ธ์š”', gettingStarted: 'โœจ ์‹œ์ž‘ํ•˜๋ ค๋ฉด:', startStep1: '์ƒˆ ํ„ฐ๋ฏธ๋„์„ ์—ด๊ฑฐ๋‚˜ ์‰˜ ํ”„๋กœํ•„์„ ์†Œ์‹ฑํ•˜์„ธ์š” (์˜ˆ: source ~/.zshrc)', startStep2: '๋‹ค์Œ์„ ์‹คํ–‰ํ•˜์„ธ์š”: claude ๋ฅผ ์‹คํ–‰ํ•˜์—ฌ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ๋ช…๋ น์–ด๋ฅผ ํ™•์ธํ•˜์„ธ์š”.', checkDocs: '์ž์„ธํ•œ ๋‚ด์šฉ์€ .aiwf ๋””๋ ‰ํ† ๋ฆฌ์˜ ๋ฌธ์„œ๋ฅผ ํ™•์ธํ•˜์„ธ์š”.', updateFailed: '์—…๋ฐ์ดํŠธ ์‹คํŒจ', installFailed: '์„ค์น˜ ์‹คํŒจ', noBackupFound: '๋ณต์›ํ•  ๋ฐฑ์—… ํด๋”๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค.', restoringFromBackup: '๋ฐฑ์—…์—์„œ ๋ณต์› ์ค‘...', restoreSuccess: '์„ฑ๊ณต์ ์œผ๋กœ ๋ณต์›๋˜์—ˆ์Šต๋‹ˆ๋‹ค.', restoreFailed: '๋ณต์›์— ์‹คํŒจํ–ˆ์Šต๋‹ˆ๋‹ค.', cannotRestore: 'ํŒŒ์ผ์„ ๋ณต์›ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ์ˆ˜๋™ ํ™•์ธ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.', checkingInstallation: 'AIWF ์„ค์น˜ ์ƒํƒœ๋ฅผ ํ™•์ธํ•˜๋Š” ์ค‘...', creatingDirectories: 'AIWF ๋””๋ ‰ํ† ๋ฆฌ ๊ตฌ์กฐ๋ฅผ ์ƒ์„ฑํ•˜๋Š” ์ค‘...', restoringBackup: '๋ฐฑ์—…์—์„œ ํŒŒ์ผ์„ ๋ณต์›ํ•˜๋Š” ์ค‘...', backupRestored: '{count}๊ฐœ ํŒŒ์ผ์ด ๋ณต์›๋˜์—ˆ์Šต๋‹ˆ๋‹ค', checkingExistingTools: '๊ธฐ์กด ๋„๊ตฌ ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ ํ™•์ธํ•˜๋Š” ์ค‘...', foundExistingCursor: 'Cursor ๊ทœ์น™ ํŒŒ์ผ์ด ๋ฐœ๊ฒฌ๋˜์—ˆ์Šต๋‹ˆ๋‹ค', foundExistingWindsurf: 'Windsurf ๊ทœ์น™ ํŒŒ์ผ์ด ๋ฐœ๊ฒฌ๋˜์—ˆ์Šต๋‹ˆ๋‹ค', backingUpToolFiles: '๊ธฐ์กด ๋„๊ตฌ ํŒŒ์ผ์„ ๋ฐฑ์—…ํ•˜๋Š” ์ค‘...', toolBackupCreated: '๋„๊ตฌ ํŒŒ์ผ ๋ฐฑ์—…์ด ์ƒ์„ฑ๋˜์—ˆ์Šต๋‹ˆ๋‹ค', installingToolRules: '๋„๊ตฌ ๊ทœ์น™์„ ์„ค์น˜ํ•˜๋Š” ์ค‘...', toolRulesInstalled: '๋„๊ตฌ ๊ทœ์น™์ด ์„ฑ๊ณต์ ์œผ๋กœ ์„ค์น˜๋˜์—ˆ์Šต๋‹ˆ๋‹ค', // ์„ค์น˜ ์˜ต์…˜ ๊ด€๋ จ installationOptions: 'AIWF ์„ค์น˜ ์˜ต์…˜์„ ์„ ํƒํ•˜์„ธ์š”:', aiwfDocs: 'AIWF ๋ฌธ์„œ ํด๋” (.aiwf/docs)', claudeCodeCommands: 'Claude Code ๋ช…๋ น์–ด ๋ฐ ์—์ด์ „ํŠธ', windsurfRules: 'Windsurf ๊ทœ์น™ ํŒŒ์ผ', cursorRules: 'Cursor ๊ทœ์น™ ํŒŒ์ผ', selectAll: '๋ชจ๋“  ์˜ต์…˜ ์„ ํƒ', installSelected: '์„ ํƒํ•œ ํ•ญ๋ชฉ๋“ค์„ ์„ค์น˜ํ•˜์‹œ๊ฒ ์Šต๋‹ˆ๊นŒ?', installingOption: '์„ค์น˜ ์ค‘: ', optionInstalled: '์™„๋ฃŒ: ', noOptionsSelected: '์„ ํƒ๋œ ์˜ต์…˜์ด ์—†์Šต๋‹ˆ๋‹ค.', }, en: { welcome: '\n๐ŸŽ‰ Welcome to AIWF!\n', description: 'This installer sets up the AIWF AI prompt framework', optimized: 'Specially optimized for Claude Code.\n', selectLanguage: 'Please select language / ์–ธ์–ด๋ฅผ ์„ ํƒํ•ด์ฃผ์„ธ์š”:', korean: 'ํ•œ๊ตญ์–ด (Korean)', english: 'English', existingDetected: 'Existing AIWF installation detected. What would you like to do?', updateOption: 'Update (Update commands and docs only, preserve work content)', reinstallOption: 'Complete reinstall (Install everything fresh, overwrite existing project)', skipOption: 'Skip installation', cancelOption: 'Cancel', projectDetected: 'Existing project detected. How would you like to handle project files?', preserveProject: 'Preserve project (Keep existing project files)', overwriteProject: 'Overwrite (Fresh install and remove existing project)', checkingProject: 'Checking for existing project...', projectFound: 'Existing project found:', projectPreserved: '๐Ÿ’พ Project has been preserved.', projectOverwritten: '๐Ÿ”„ Project has been freshly installed.', installCancelled: '\nInstallation cancelled.', backingUp: 'Backing up existing commands and documents...', fetching: 'Fetching AIWF framework from GitHub...', downloading: 'Downloading AIWF framework files...', updatingDocs: 'Updating documentation...', downloadingCommands: 'Downloading AIWF commands...', updateSuccess: 'โœ… AIWF framework updated successfully!', installSuccess: 'โœ… AIWF framework installed successfully!', enjoy: '\nEnjoy AIWF! ๐Ÿš€\n', backupComplete: '{count} files backed up (*.bak)', noFilesToBackup: 'No existing files to backup', backupFailed: 'Backup failed', downloadingFile: 'Downloading {path}...', downloadingTemplates: 'Downloading template directories...', templatesNotFound: 'Template directories not found, skipping...', deletingOldCommands: 'Deleting existing AIWF commands folder...', commandsNotFound: 'Commands directory not found, skipping...', downloadingRulesGlobal: 'Downloading rules/global folder...', rulesGlobalNotFound: 'rules/global folder not found, skipping...', downloadingRulesManual: 'Downloading rules/manual folder...', rulesManualNotFound: 'rules/manual folder not found, skipping...', updateHistory: '๐Ÿ”„ Update History:', updatedCommands: '/ commands', updatedDocs: 'Documentation (CLAUDE.md files)', workPreserved: '๐Ÿ’พ Work preserved:', allFilesPreserved: 'All work, sprints, and project files unchanged', backupCreated: 'Backups created as *.bak files', structureCreated: '๐Ÿ“ Structure created:', aiwfRoot: 'Project management root', claudeCommands: 'Claude user commands', nextSteps: '๐Ÿš€ Next steps:', nextStep1: 'Open this project in Claude Code', nextStep2: 'Use /aiwf_<command> commands to manage your project', nextStep3: 'Run /aiwf_initialize to set up your project', gettingStarted: 'โœจ Getting started:', startStep1: 'Open a new terminal or source your shell profile (e.g. source ~/.zshrc)', startStep2: 'Run: claude to see available commands.', checkDocs: 'For more details, check the documentation in the .aiwf directory.', updateFailed: 'Update failed', installFailed: 'Installation failed', noBackupFound: 'No backup folder found to restore.', restoringFromBackup: 'Restoring from backup...', restoreSuccess: 'Successfully restored.', restoreFailed: 'Restore failed.', cannotRestore: 'Cannot restore file. Manual verification required.', checkingInstallation: 'Checking AIWF installation status...', creatingDirectories: 'Creating AIWF directory structure...', restoringBackup: 'Restoring files from backup...', backupRestored: '{count} files restored', checkingExistingTools: 'Checking existing tool directories...', foundExistingCursor: 'Found existing Cursor rules', foundExistingWindsurf: 'Found existing Windsurf rules', backingUpToolFiles: 'Backing up existing tool files...', toolBackupCreated: 'Tool files backup created', installingToolRules: 'Installing tool rules...', toolRulesInstalled: 'Tool rules installed successfully', // Installation options installationOptions: 'Select AIWF installation options:', aiwfDocs: 'AIWF Documentation folder (.aiwf/docs)', claudeCodeCommands: 'Claude Code commands and agents', windsurfRules: 'Windsurf rules files', cursorRules: 'Cursor rules files', selectAll: 'Select all options', installSelected: 'Install selected items?', installingOption: 'Installing: ', optionInstalled: 'Completed: ', noOptionsSelected: 'No options selected.', } }; /** * Get messages for a specific language * @param {string} language - Language code ('ko' or 'en') * @returns {Object} Messages object for the specified language */ export function getMessages(language) { return messages[language] || messages.en; }