Windsurf IDE Integration
Windsurf is Codeium's AI-first IDE. With IntlPull's MCP server, you can manage translations using natural language right in your editor.
Quick Start
1. Install the MCP server:
npm install -g @intlpullhq/mcp-server
2. Configure MCP in Windsurf:
Open Settings (Cmd+,) → Extensions → MCP
Or add to your MCP configuration file:
{"mcpServers": {"intlpull": {"command": "npx","args": ["-y", "@intlpullhq/mcp-server"],"env": {"INTLPULL_API_KEY": "ip_live_your_api_key"}}}}
.windsurfrules Configuration
Create a .windsurfrules file in your project root to define your i18n workflow:
When handling internationalization:1. Extract hardcoded strings to translation keys2. Use IntlPull MCP for key management3. Follow the project's naming conventions4. Add descriptions for contextKey naming format: namespace.section.elementExample: checkout.form.submitButtonTranslation files location: ./messages/{lang}.jsonWhen creating translation keys:- Use IntlPull MCP to create keys- Include context descriptions- Set max_length for UI constraintsWhen translating:- Use IntlPull MCP to translate missing keys- Review translations for UI fit- Check pluralization rules for target languages
Using with Cascade
Windsurf's Cascade AI can interact with IntlPull through MCP. Open Cascade and try:
Extract strings from component
"Extract hardcoded strings from this file and create translation keys"
Add a new language
"Add German support to the project and translate all existing strings"
Check coverage
"Show me which translations are missing for French"
Bulk translate
"Translate all untranslated keys to Spanish"
Windsurf Flow Integration
You can create custom Flows for common translation tasks:
i18n Setup Flow
Create a Flow that sets up i18n for a new component:
- Scan component for hardcoded strings
- Generate translation keys with IntlPull
- Update component to use i18n hooks
- Translate to configured target languages
- Pull updated translation files
Tips for Windsurf
Use Cascade for multi-file changes
Cascade can update multiple files at once. Ask it to "add i18n to all components in the checkout folder" for batch operations.
Preview before pushing
Ask Cascade to "show me all changes before pushing to IntlPull" to review key names and values before they're created.
Context-aware translations
Include context in your requests: "Create a button label key - this is for a primary CTA on the pricing page"