Welcome to the itch.io community translation project!
The website was originally built as an English only project, but in the past week I've built tooling and started extracting strings for translation. We're using the same system we used for the desktop app. (If you were an approved translator on that project then your account is ready to go.) The website has a lot of text so this is going to be an ongoing project (both extracting and translating). Here's how you can participate:
Quick start:
- Join the translations channel on our discord (optional)
- add yourself to the translator role to be notified of updates to translations
- Go to Weblate, create an account
- Read the Markup guide to learn how the translation syntax works
- Follow these rules before suggesting a new translation string
- ALWAYS use every {{variable}} that appears in the source translation, double check there are no typos
- ALWAYS use every <tag> that appears in the source translation string. Ensure you use a proper closing </tag>
- Failure to follow these guidelines may result in breaking the translation test suite and blocking translations from being processed. Just as a reminder
- Reminder: The string "0 notifications" and "No notifications" are different. If you see a variable for plural version of 0 count, you must use the variable. Don't change the phrasing of the string.
- Follow these rules before suggesting a new translation string
- If a language you want to translate isn't available yet, ask us to add it in this thread or on discord
- If you'd like to be an Approved Translator, someone who can save translations and review others, contact us in our Discord or in this thread with the language you'd like to work on.
- You can apply to be an approved translator here:
https://docs.google.com/forms/d/e/1FAIpQLSfn1y7YmC0toFenwnJ0tYWESbGJXiyYTeUUYk-cKXPBzYJJvg/viewform- Note: We currently aren't checking this form at the moment. Please follow up on Discord if you wish to be an approved translator
- You can apply to be an approved translator here:
- You can enable a language on itch.io from your accounts settings page.
How to help with translating
- We use web-based software called Weblate to help us manage translations. You can join it here https://weblate.itch.ovh/projects/itchio/
- itch.io's translations are split in a few components:
- Website User Interface: https://weblate.itch.ovh/projects/itchio/itchio/
- Project tags and classifications https://weblate.itch.ovh/projects/itchio/tags/
- Note: We currently aren't displaying these on the site, but you can start translating them now for when we launch that functionality
- The itch.io desktop app https://weblate.itch.ovh/projects/itchio/itch/
- Longer documents https://weblate.itch.ovh/projects/itchio/documents/
- Note: These are for pages that contain large blocks of informational text. They use markdown syntax
- Read the markup syntax guide before working on translations: https://github.com/itchio/itchio-i18n#translations-markup-guide
- Follow these rules before suggesting a new translation string:
- ALWAYS use every {{variable}} that appears in the source translation, double check there are no typos
- Note: The string "0 notifications" and "No notifications" are different. If you see a variable for plural version of 0 count, you must use the variable. Don't change the phrasing of the string.
- Note: The string "0 notifications" and "No notifications" are different. If you see a variable for plural version of 0 count, you must use the variable. Don't change the phrasing of the string.
- ALWAYS use every <tag> that appears in the source translation string. Ensure you use a proper closing </tag>. Failure to do so will break the functionality of the page for those using the translation.
- Failure to follow these rules will break the test suite. Translations will not be merged back into the website until the test suite is fixed: https://github.com/itchio/itchio-i18n/actions
- ALWAYS use every {{variable}} that appears in the source translation, double check there are no typos
- Follow these rules before suggesting a new translation string:
- If you're trying to work on a language that isn't there yet, you'll need to request it to be added by an approved translator or admin. You can ask in the Discord channel.
- To start translating, you can click the Translate button next to your language of choice
- For many strings, we provide context screenshots. You can see them on the right of the translation page
- You can use the Translation Memory and Machine Translation features to help you put together a translation
- You can leave comments on text, and vote on suggestions
- Weblate has many features to help organize translation projects. We recommend taking some time to click around to learn how the user interface works.
- Anyone can make a suggestion on Weblate, but only approved translators can save the translation to be merged back into the website.
- Ideally, approved translators are fluent in the language they are applying for. You should have a record of submitting strings before you request to be an approved translator. Don't apply if you haven't actually contributed anything yet.
- If you come across English text that doesn't translate well, please tell us so we can work out a solution. Try to avoid using bad grammar. Many times we can rework the source text to be easier to translate.
- Try to use a neutral tone when translating.
Debugging translations
- You can force itch.io to use a translation by appending ?locale=LANGUAGE_CODE to any page. (eg. https://itch.io?locale=ru)
- You can use ?locale=debug to show all translations keys. This can help you find where a particular string is located in Weblate
Testing translations
Since we're at an early stage with translations we aren't turning it on for anyone by default. You can, however, opt-in to languages that we already have translations for. You can find a drop-down on your account settings page:
Please use the translations and look for errors. Since many languages only have partial translations, and many strings have not been pulled out for translation yet, we don't need reports of missing translations at this time. If you find a mistake you can make a suggestion or leave a comment using Weblate. (You don't need an account to leave a suggestion right now). Weblate's search tool can help you find the right string.
FAQ
- Right to left? We haven't started investigating what this involves. Ideally we'd like to get some LTR languages in a good state first, but feel free to provide translations for strings on Weblate for any RTL languages, and I can start testing things.
- Translated project pages? The plan is to allow any text field on itch.io to provided in multiple languages. This will be a separate change from this project, but we'll focus on giving project pages this functionality first.
- Regional pricing? This will come as a separate update, but something we want to address by giving developers the option to set prices by currency/region.
- Will my browser start showing another language automatically? Not any time soon. Additionally, there's a language setting you can use to force the site to be in whatever language you like. I can imagine in the future we will use your browser's preferred language to automatically select a language on itch.io. If we make this change, we'll make the language picker easier to access.
- I want to see a specific page translated! Great. We are incrementally pulling out strings for translation, if a page your want is not available yet please tell us.
- I'm a professional translator, will you hire me? Maybe, we don't know our international strategy quite yet but for priority languages we're open to hiring help for high quality and high coverage translations. You can email us through support@itch.io
Thanks for your help, and I look forward to a fully internationalized itch.io