Localization

From The Walkscape Walkthrough

The Localization for WalkScape is open source, which means that you, yes YOU, can contribute. Please note that this article will contain light spoilers for many parts of the game.

Getting started on Weblate

WalkScape uses a tool called Weblate to manage the translations. Follow these steps to get started:

  1. Go to https://i18n.walkscape.app/
  2. On the top right, click the 'Register' button
  3. Enter your email address
  4. Enter your username
  5. Enter your username in the 'Full name' field as well
  6. Solve the ridiculously hard math question, bonus points for not using a calculator
  7. Click the 'Register' button
  8. Click the confirmation link sent to your e-mail inbox and start using your account. Please look into your spam folder if you cannot see it in your inbox. The confirmation link will expire after 48 hours. Register again if the confirmation link expires. E-mail is not an instant technology. Please wait for the confirmation e-mail at least 30 minutes before you write to us about issues. If there is a problem with your registration, please contact us.
  9. Enter a secure password, bonus points for using a password manager
  10. Click the 'Change my password' button
  11. On the top right, click on your username and click on 'Settings'
  12. In the 'Languages' settings, set up the desired interface language, languages you want to translate to, and any other secondary languages, and click the 'Save' button

Translation Guidelines

Keep the goal in mind

We want WalkScape to be enjoyed by as many players as possible. The following guidelines should help to achieve this. They can all be summarized to the SCARF core values we find important, which are:

Simplicity Don't overcomplicate things
Clarity Keep it understandable for all ages
Accessibility Some people might have vision problems!
Relatability Players feel more immersed when they can relate to things
Fun Last but definitely not least, keep it fun for the player, but also for yourself!

Feel free to add a healthy dose of humor!

We encourage you to be creative and not to translate too directly. You are free to change things up a little bit. Think about what the intention of the text is and how you would word that in your language. As long as you keep asking yourself "Is this SCARF?", not much can go wrong!

Mind the variables

Some entries might have a reference to variables. You can reorder the placements of these code blocks in your translated text as it makes sense in the target language, however do not alter anything within them. They might look like:

$pointCount achievement points

Do not translate anything from the "$" until the next space.

Have <numberProgress current="${current}" max="${max}" style="achievement_text" maxStyle="achievement_text" /> different gems in your inventory.

Do not translate anything from the opening "<" to the closing "/>" angle brackets. Anything between HTML opening and closing tags should still be translated. For example:

Welcome to the <c>Kallaheim's Frosty Finds</c>!

In this case, the shop name should always remain within those tags when translating it to the target language.

Do not touch text within code blocks or variables.

Pluralization

Different languages use different rules for pluralization. These rules per language can be found here. If a translation key has the "plurals" tag, these rules should be followed. If a pluralization entry is not applicable to your language, you can enter a "-". This way everyone knows it's been looked at but not applicable, and it will not be used in the game.

Machine translation

Tolgee offers translation suggestions using machine learning. These are not always reliable as they lack context and consistency. We recommend first thinking of a translation yourself without looking at the suggestion, and then using it to potentially correct and/or improve your translation.

Cultural references

It is okay to replace specific cultural references to something that makes more sense in the target language. Be careful that if it relates to a specific item, it should still match the image of that item.

References to other media

Some text might reference other media such as books, movies, games, music, or memes.

  • If the referenced text has an official translation, use that. Subtitles for movies can be found here.
  • If there is no official translation but the English text is well known in the target language, it is okay to keep it English.
  • If not, it can be translated.

Names of characters and locations

  • Common English first names of characters may be changed to names that are common in the target language. This helps keep the player immersed.
  • Last names and names of locations should only be translated if they are of English origin. These names should already provide the player with some background information of the subject. Some examples:
    • Peter Banksworth
    • Galeforge
    • Painful Islands
  • If the names cannot be directly translated, they can be slightly altered to match common naming styles of the target language or to switch out uncommon/unused characters for more common ones. Some examples for Dutch:
    • Jarvonia becomes Jarvonië
    • Wallisia becomes Wallisië
    • Wrentmark becomes Frentmark
  • If a real person or a person from other media is referenced, do not change their names. Some examples:
    • Flora Floursifter
  • Non-English names should not be translated. They can however be transliterated into the target language's script. Some examples:
    • Runa Norrberga
    • Rid Raddak
    • Ewerethien

Text style

  • Stick to the same capitalization style as the original text if this makes sense in the target language. Following the target language's rules should always take priority.
  • Try to keep the translation to a similar length as the original text, or shorter. This makes sure all text is displayed correctly.
  • Try to stick to simple and conventional language and avoid difficult or long words. We favor using more words instead of such words, if possible (see previous point). Nobody should be looking up words to see what they mean.
  • Avoid using multiple different translations for the same word to prevent confusion.

Accessibility

We want players that are visually impaired to be able to enjoy the game just as much as anyone else. They might be using screen readers to have their device read out loud what's on the screen and/or they might have trouble seeing images. To increase immersion, not just for them but for everyone, try to use descriptive language where applicable. This is especially important when translating anything that directly relates to an image, such as:

  • Item descriptions
  • Location descriptions
  • NPC descriptions
  • Character customization

The translation community

While looking through translations, remember that you can comment on the original text or already made translations you think could be improved! If you have any questions, or just want to have a second opinion when you're not sure about something, feel free to reach out to the community on Discord in the #localization channel. If it is language specific, you can ask in the specific thread of the target language.

Tolgee Instructions

Navigation

Navigation through Tolgee is done by using the main menu to the left of the page. Translations can be made on the aptly named "Translations" page, which is the third option from the top. In the dropdown selection at the top right, make sure both English and the target language are selected. You can optionally enable any other language you are interested in and could take inspiration from.

Translating

To start translating, it is advised to only display entries that still need work done. This can be done by clicking the filter dropdown and enabling one of the filter options:

Missing translation These entries are not translated yet
Outdated translation These entries were translated, but the original text has been edited causing the translation to be currently incorrect
Target language > Translated These entries are translated, but require reviewing

To add, edit, or review a translation, click on the area that has the target language, below the original text. You can see this area highlighted in the following image.

Clicking this area will open a new pane. In the left half of this pane, you can see the current translation if there is one. In the right half, there are three tabs you can switch between.

Edit tab

The edit tab is opened by default. This is where the translation can be entered or edited. It has a cancel button and a save button. Both will close the edit pane, but only pressing the save button will save your edit. Clicking the icon next to those buttons marks the translation as reviewed. This should always be done by someone else to signify that the translation is correct, the person who made the edit should never do this themselves.

On this tab there will also be two tools that can aid you in your translation efforts.

Translation memory

This shows translations of entries that are similar to the entry you are currently editing. The percentage shown will indicate how similar it is to this entry. If it is 100%, it means that the original text of both entries are completely the same. However, this does not mean that the translation should also be the same. You can check the key name of the entry to get an understanding of the context the text is used in. More information about the structure of this key can be found here.

Machine translation

There will also be a suggested translation, provided by either Amazon Translate, DeepL, or Google Translate. Take some caution when using this, though. These suggestions are not always reliable as they lack context and consistency. We recommend first thinking of a translation yourself without looking at the suggestion, and then using it to potentially correct and/or improve your translation.

Image of the edit tab
The edit tab

Comments tab

On this tab, users can read and place comments for this specific entry. It can be used to further elaborate on choices made for this translation or to add some feedback. Comments can be resolved by hovering over one and clicking the check icon that appears. This should only be done by the person who has placed the comment, to signify that the feedback has been addressed correctly or is no longer applicable.

This can also be accessed for the original text by hovering over it and clicking the speech bubble button to the right.

History tab

This tab displays all changes that have been made to this translation for this specific language. You can see who changed what at what time.

This can also be accessed for the original text by hovering over it, clicking the speech bubble button to the right and opening the history tab.

Entry keys

Entries are identified by a unique key. These keys follow the structure <namespace>.<type>.<identifier>. The namespace can be one of three:

singular This is the default
plurals These should follow the pluralization rules
maps These use mapping and are often grouped with similar entries

The type can be seen as the category, such as items, locations, skills, etc. And finally there's the identifier. This can consist of multiple keys separated by a period. They can be used to get a better understanding of the context in which the text is used.

Some entries, specifically item names, will also have a camera icon next to it. Click this will show what the item looks like in game. This is a useful tool when translating item descriptions.

Weblate Instructions

Add translations

  1. In the top menu, click the 'Projects' button and select 'Browse all projects'
  2. Click the project you want to translate for, we currently have:
    • WalkScape Game
      • These are the strings that are actually present within the app itself
    • WalkScape Portal
      • These strings are for the Portal environment for WalkScape, which functions as the community hub
    • WalkScape website
  3. Click 'Languages' and select the language you want to translate for
  4. Click the 'Unfinished' or 'Untranslated' number for a component that does not show 0 for those values to start translating or fixing the checks. We recommend completing the 'Glossary' components first, as those translations can be used as a reference in other components.
    • 'Unfinished' means there either is no translation or the translation might need an update

Top controls

You can find these controls on the top of the screen when translating. The first control displays the current index of the translation you are looking at. In this example, we are looking at string number 4 of 10 in the component. You can use the arrow buttons to navigate to other entries within the selected component. Next we have the active filter, currently set to 'Unfinished strings', which means any strings with a state less than 'translated'. At the end there is the option to change the sorting of the strings as you navigate through them with the arrow buttons.

Translation view

The translation view is quite straightforward. The first input shows the English source string, this cannot be edited. Parts of this string could be marked with a yellow color, indicating that it is present in the glossary. On the top right of it you can see the unique identifier of the string. At the very end of the source input, there is a button to copy the source string to your clipboard. The button next to that copies the source string to the translated string input and enables the 'Needs editing' checkmark. Some strings also have an extra input at the top, that provides additional context or explanation for the translation.

The second input is for the translated string. Using the green buttons to the top right of it, you can easily enter characters that are otherwise annoying to enter. Below the input, on the left side, is the checkmark to mark a translation as 'Needs editing'. This will make it so it is included in the 'Unfinished strings' filter and signifies to other translators that the current translation is not finished. To the right you can see the maximum allowed length of the translation, and the length of the source string.

Next we have the four buttons:

  • Save and continue
    • Saves your changes (including the 'Needs editing' setting) and navigates to the next string
  • Save and stay
    • Saves your changes (including the 'Needs editing' setting) and stays on the current string
  • Suggest
    • The entered translation is saved as a suggestion and navigates to the next string. Another translator can approve or accept your suggestion.
  • Skip
    • Navigates to the next string without saving anything

Glossary

The glossary component is a collection of strings that are commonly used throughout the project of which the translation should always be the same in all occurrences. Examples are proper nouns (character or location names etc.) or skill names. The translation view will display any related glossary strings on the right sight of the screen for ease of access.

Checks

Checks are issues that translations could have. For example, interpunction or capitalization that is inconsistent with the source string could be marked with a check. Fixing checks is an important aspect of the localization as it helps guarantee high quality translations. Dismissing checks should only be done if 100% sure that the check is not applicable.