Translation Guide
Reskin Translation Guide
Section titled “Reskin Translation Guide”Thank you for your interest in contributing to Reskin! By providing a translation, you help bring the power of Reskin to a global audience.
Prerequisites
Section titled “Prerequisites”Before starting your translation work, please ensure you meet the following requirements:
- 
GitHub Account: You must have a GitHub account to fork the repository and submit a Pull Request. 
- 
Native Fluency: You should be a native or near-native speaker of the language you are translating to ensure accuracy and natural flow. 
How to Translate
Section titled “How to Translate”The Reskin localization system (i18n) is designed for simplicity. All user-facing text is stored in separate, structured JSON files.
- Fork the Repository
Start by forking the main iamnotmega/reskin repository on GitHub and clone it to your local machine.
When forking, make sure the “Copy the main branch only” option is unchecked. Once you have cloned your fork, run git checkout dev to switch to the dev branch.
- Locate the Language Folder
Navigate to the source directory containing the language files in your forked repository:
cd /src/locales- Create the New Translation File
Create a new file in the /src/locales folder. The filename MUST be the two-letter ISO 639-1 language code followed by a .json extension (e.g., German should be de.json, Turkish should be tr.json). This standardized naming is required to ensure system consistency and maintainability. If you don’t know the country code for the language you are translating, please find it in this article.
- Copy the English Contents
Copy ALL the content from the source file (en.json) and paste them into your new language file.
- Update the Metadata (_META)
Edit the “_META” section at the very top of your new file to provide necessary documentation:
  "_META": {    "version": "1.5.0", // Replace with the version of Reskin in your fork (check `package-lock.json`, `package.json`, `Cargo.toml` or `tauri.conf.json` to find the version)    "translators": ["YOUR_GITHUB_USERNAME"], // Replace with your name/username    "lastEdited": "2025/10/18",               // Replace with the date you finished (should be in DD/MM/YYYY (European) format)    "language": "Language Name"       // Replace with the full name of the language (e.g., "Türkçe")  },- Translate the Strings
Go through the entire file and replace the strings of text in the file with the correct language equivalent.
- Perform Final Review
- 
Check your translated file carefully: 
- 
Ensure all entries are still valid JSON (no trailing commas, correct quote usage). 
- 
Verify all original keys have a corresponding translated string. 
- Commit and Push
Commit your new <language-code>.json file with a clear commit message. Then, push the changes to your forked repository.
- Create a Pull Request (PR)
On GitHub, create a Pull Request targeting the dev branch of the main iamnotmega/reskin repository.
- Merge and Release
The pull request will be reviewed to verify the quality of the translation, and merge your work into dev. Your translation will then be included in the next official Reskin release!
Technical Reference
Section titled “Technical Reference”Handling Variables
Section titled “Handling Variables”Some strings contain variables (e.g., {selectedFile.name}). You MUST keep these variables intact within the translated string.
Example:
English: "status.applying": "Applying {selectedFile.name} → {destPath} ..."
Translation (Estonian): "status.applying": "Rakendatakse faili {selectedFile.name} → {destPath} ..."
The _META Section
Section titled “The _META Section”Please ensure the language field reflects the native name of the language, as this is what is displayed to the user in the settings menu.