Claude-skill-registry code-translation

🌐 Code Translation Skill

install
source · Clone the upstream repo
git clone https://github.com/majiayu000/claude-skill-registry
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/majiayu000/claude-skill-registry "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/data/code-translation" ~/.claude/skills/majiayu000-claude-skill-registry-code-translation && rm -rf "$T"
manifest: skills/data/code-translation/SKILL.md
source content

🌐 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 onClick={() => 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

ConceptJavaScriptPythonGo
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

PitfallSolution
Direct syntax translationUse target idioms
Ignoring type systemsAdd proper types
Missing error handlingAdapt error patterns
Breaking async modelMatch 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