🌐 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
function add(a, b) {
return a + b;
}
const user = {
name: 'John',
age: 30
};
// 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
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
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
// React
function Counter() {
const [count, setCount] = useState(0);
return (
<button => setCount(count + 1)}>
Count: {count}
</button>
);
}
<!-- Vue 3 -->
<template>
<button @click="count++">
Count: {{ count }}
</button>
</template>
<script setup>
import { ref } from 'vue';
const count = ref(0);
</script>
📊 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
🔗 Related Skills
migration-assistant - Full project migration
legacy-modernization - Modernize old code
refactoring - Improve structure