# 🌐 Code Translation Skill
---
name: code-translation
description: Translate code between programming languages while preserving logic and idioms
---
## 🎯 Purpose
แปลง code ระหว่างภาษา programming ต่างๆ โดยรักษา logic และใช้ idioms ที่เหมาะสมกับภาษาปลายทาง
## 📋 When to Use
- Port code to new language
- Convert legacy code
- Learn new language syntax
- Compare implementations
- Migrate projects
## 🔧 Translation Pairs
### JavaScript ↔ TypeScript
```javascript
// JavaScript
function add(a, b) {
return a + b;
}
const user = {
name: 'John',
age: 30
};
```
```typescript
// TypeScript
function add(a: number, b: number): number {
return a + b;
}
interface User {
name: string;
age: number;
}
const user: User = {
name: 'John',
age: 30
};
```
### Python ↔ JavaScript
```python
# Python
def greet(name):
return f"Hello, {name}!"
numbers = [1, 2, 3, 4, 5]
squares = [x**2 for x in numbers]
filtered = list(filter(lambda x: x > 10, squares))
```
```javascript
// JavaScript
function greet(name) {
return `Hello, ${name}!`;
}
const numbers = [1, 2, 3, 4, 5];
const squares = numbers.map(x => x ** 2);
const filtered = squares.filter(x => x > 10);
```
### React ↔ Vue
```jsx
// React
function Counter() {
const [count, setCount] = useState(0);
return (
);
}
```
```vue
```
## 📊 Translation Table
| Concept | JavaScript | Python | Go |
|---------|------------|--------|-----|
| Variables | `let/const` | `=` | `var/:=` |
| Functions | `function/=>` | `def` | `func` |
| Arrays | `[]` | `[]` | `[]type` |
| Objects | `{}` | `dict/class` | `struct` |
| Async | `async/await` | `async/await` | goroutines |
| Classes | `class` | `class` | `struct+methods` |
## 📝 Translation Process
```
1. UNDERSTAND source code
- Logic flow
- Data structures
- Dependencies
2. IDENTIFY equivalents
- Language constructs
- Standard library
- Idioms
3. TRANSLATE structure
- Maintain logic
- Adapt syntax
- Use target idioms
4. ADAPT patterns
- Error handling
- Async patterns
- Type systems
5. VERIFY
- Same output
- Same behavior
- No logic changes
```
## ⚠️ Common Pitfalls
| Pitfall | Solution |
|---------|----------|
| Direct syntax translation | Use target idioms |
| Ignoring type systems | Add proper types |
| Missing error handling | Adapt error patterns |
| Breaking async model | Match async patterns |
## ✅ Translation Checklist
- [ ] Logic preserved
- [ ] Idioms used correctly
- [ ] Types correct (if typed)
- [ ] Error handling adapted
- [ ] Dependencies mapped
- [ ] Tests still pass
- [ ] Performance acceptable
## 🔗 Related Skills
- `migration-assistant` - Full project migration
- `legacy-modernization` - Modernize old code
- `refactoring` - Improve structure