Skip to content

General Guidelines for Translators

mmwikali edited this page Sep 1, 2020 · 2 revisions

Keep it friendly and simple: Scratch is primarily designed for young people. Please avoid using technical jargon that may be unfamiliar to someone who doesn't already know programming. It can sometimes be helpful to use words that a young person might use.

Prioritizing Resources

We rank the importance of things to translate as follows:

  • Screen Shot 2020-02-28 at 2 41 22 PMDouble red arrow = this needs to be translated for your language to go up on the site
  • Screen Shot 2020-02-28 at 2 41 27 PMSingle Orange Arrow = important stuff, but we'll still publish your language without it
  • Screen Shot 2020-02-28 at 2 41 41 PMGreen Dash = nice to have, but its OK if you don’t get to this. This includes resources like old Scratch conferences pages.

We recommend organizing your resource view by priority (descending). This will show you highest priority (double red arrow) resources first to translate.

Note: In Scratch Legacy Website, we use the tags to help you find strings that should still be translated:

  • needed tag: this tag is on all strings that are known to be used on the site
  • profile tag: strings on a user's profile page
  • mystuff tag: strings on a user's mystuff page
  • studio tag: strings used on studio pages
  • classroom tag: strings used on classroom pages for educator accounts. You would need to request an educator account and create a classroom to see these strings in use.

Placeholders

There are several different styles of placeholders depending on the Scratch Project.

  • %1 - blocks: the number of placeholders must match. They can be reordered. For example, the translation of 'change %1 by %2' can have the %2 first if that makes more sense for translation.
  • {name} - various: the text inside the braces must not be translated. These placeholders can be moved around as necessary. The placeholders in the translation must match the original, none missing or extra.
  • [NAME] - extensions: The text inside the brackets must not be translated. The placeholder can be moved around as necessary. The placeholders in the translation must match the original, none missing or extra.
  • %s, %n - legacy: these are placeholders for strings and numbers. Unfortunately these placeholders do not identify which item they refer to, so they cannot be repositioned in the string.

Tips for Translating

  • Do NOT translate Scratch, Scratch Day, or ScratchJr. They are trademarks and need to be in English. In cases where the language doesn't use a latin character set it is ok to add a phonetic spelling in parenthesis "(...)" in your language after "Scratch", but only in a context where adding to the length of the text will not cause problems.
  • Maintain the context of words. A single word in English like Copy, may be a noun or a verb. Sometimes you can guess at the context based on adjacent text in the same file.
    • Look below the untranslated string. There may be Developer Notes or additional context in light grey that can be helpful in translating.
    • Click the Context tab below the translation. The 'Key' can be helpful in determining where the string appears. For example, gui.menuBar.file gives the hint that it's part of the menuBar in the Editor. CONTROL_FOREVER suggests that it is a block in the Control Category.
    • Website context: most of the Scratch Website resources are named for the page they are on, and you can use the name as the URL, for example, about_l10njson corresponds to the About page, and you can get there with https://scratch.mit.edu/about The most important exceptions:
    • Ask for help! Using the comment tab below the translation, you can create an issue to ask for clarification. Scratch Team members may also respond by adding details to the context.
  • Try to stay consistent across the site. If a particular translation is used in one place, try to use the same translation everywhere. The glossary can help with this. For example, in Dutch the Report button could have been translated as either Rapporteren or Melden. Melden is the actual translation, so it should be used whenever the English uses Report.
  • Stay close to the intent of the original text. For example, if the text uses the word people, please translate it as people even if you think scratcher or student might actually be better. But also make sure the translation is readable in the target language. You may need to change the order of the words to make it more readable. Text like What's Happening? or chat room may sound awkward if translated literally. In which case, please use the words that would be more commonly used in the target language.
    • Note: in some places to keep things playful we have things that are jokes, or humorous in English, for example, "herding cats". We have tried to tag all of these with the joke tag. If something is tagged as a joke feel free to substitute something that would actually be funny or playful in your language.
  • Be very careful of punctuation and spacing, especially surrounding links. Sometimes you will see a string like chat room,chat room project,chat project,cloud chat,cloud chat room. Don't be tempted to add spaces after the commas. These strings are likely to be in a place where it will either look bad, or possibly break the code.
  • If you add comments or issues, please do so in English as Scratch Team does not have people that understand all our languages. The exception is when @mentioning someone else on your language's translation team - in that case, it's ok to write in your own language, if that's easier.

Recommended Transifex Notification Settings

To make sure you're aware when there is new material, or new issues to resolve, you should configure Transifex to send you notifications.

To set your notification settings:

  1. Click your profile button in the top right
  2. Click Notifications → Notification Settings → Meassages/Project & Language Activity

Minimum recommended notifications:

  • Messages:
    • When an announcement is posted.
    • When you received a new message.
    • When an issue is opened, resolved, or reopened, or you're mentioned in a comment.
  • Project & Language Activity:
    • When a resource file is updated or autofetch for a resource failed.
    • When resources are added or removed from projects
    • When new content is detected for a live project

If the translators for your language are not already using a tool (such as Slack) to communicate with each other, you should also select When a discussion is posted in the Messages category.


Other Sections: