Skip to content

Translating Scratch Help

chrisgarrity edited this page Mar 15, 2021 · 3 revisions

Translating the Scratch Help project

The Scratch Help project on Transifex contains the help articles from our FreshDesk knowledge base. You can see the help articles in context on the Contact Us page. After clicking the Get Help button, you can search for a term in the article to show a list of related articles. In the example below, all the articles that mention password were found after searching for password. In other languages, you would search for the term in that language, not English.

Internally the help articles are organized into categories (categoryNames_json) and folders (folderNames_json). They are not visible on the site, so translation of these items is not critical, but the structure of the knowledge base requires that they exist for all translations.

There are currently two categories: General and Technical Help. These are divided into folders as follows:

  • General:
    • Creating Scratch Projects
    • FAQ
    • General Questions
    • Inappropriate Content
    • Licensing/Permissions
    • My Account
    • Remixing/Copying
    • Scratch in Schools
    • Translation
  • Technical Help:
    • Editor
    • General Technical Help
    • Scratch Extensions

Translations must be unique among categories and folders. That is, we will get an error when we try to upload your translations to the knowledge base if you use identical translations for different folders, such as using the same translation for "FAQ" and "General Questions".

Help Article Translation

Each Help Article consists of three parts:

  • Question: A question the user needs help with like "How do I reset my password?". In the Transifex context, this will have a key that looks like <id number>.title
  • Answer: The answer to the question. In the context, this will have a key of the form <id number>.description. The id number will match the id number for the question it is answering.
  • Tags: A list of comma separated keywords. These are not visible in the answer. They are used to help when users searching might use words that aren't in the answer. For example, perhaps there is an alternate phrases for "password" in your language, like "login secret". If you add "login secret" to the tags and the user uses that phrase in their question, the help system will show the article about resetting the password in the results. In the context for this string, it will have a key like <id number>.tags The combined length of all the tags has a limit of 32 characters.

Update Schedule

The help articles are updated automatically on a daily basis. In general any changes you make to the content of an article should be visible the next day. If a problem in a particular translation causes errors, none of the translations will update. Generally someone on the Scratch Team will be aware of errors, and will work with translators to make corrections as quickly as possible. If a change has still not been published after a week, please send a message to [email protected], or post in the #general channel on the Scratch translation Slack.

primary.yml

The Scratch Help project also contains a resource called primary.yml. It defines the text labels and dropdown choices on the contact us form. There may be two copies of a label. If you look at the context, the key will end .customer_label for the version that is visible in the form. The one that has the key ending in .label is only used internally in the backend. It is fine to copy the English for the internal version as anyone working on the Scratch Team will understand English.

Updates

The translations for form fields are not able to be automatically updated. When the primary.yml file for a language is fully translated and reviewed for the first time, please send an email to [email protected] so that we can get the file uploaded to Freshdesk. In general we don't expect there to be many changes to the form. If you make corrections to form translations, again please let the Scratch Team know by sending a message to [email protected].