Localization: Difference between revisions

From The Walkscape Walkthrough
Content deleted Content added
Added table of contents
 
(18 intermediate revisions by the same user not shown)
Line 3:
__TOC__
 
== SignGetting upstarted toon ContributeWeblate ==
WalkScape uses a tool called Weblate to manage the translations. Follow these steps to get started:
To begin contributing today, click the link [https://translate.walkscape.app here]. This link will take you to a page to create an account on Tolgee. After signing up, you'll need to contact Schamppu on Discord (#schamppu) to get an invite link to WalkScape project.
 
# Go to [https://i18n.walkscape.app/ https://localize.walkscape.app/]
# If you have an account, enter your details. If you do not have an account, select "Sign Up".
# On the top right, click the 'Register' button
# Next, select the WalkScape project (it will be the only one, unless you are contributing to other localization efforts). You will then see a menu to select languages.
# Enter your email address
# Select the language you would like to contribute to, and pairs of text should pop up.
# Enter your WalkScape username as your username
# Click in the area for the TRANSLATED language (do not edit the base English!). Here, you will be able to edit the translation, or provide comments. Click save to apply your changes before moving to the next translation pair.
# Enter your username in the 'Full name' field as well. Do not enter your real name, as other users will be able to see this.
See the pictures [https://wiki.walkscape.app/wiki/Localization#Visual_Contribution_Guide below] if you would like a preview of the process!
# Solve the ridiculously hard math question, bonus points for not using a calculator
# Click the 'Register' button
# 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 [https://i18n.walkscape.app/contact/?t=reg contact us].
# Enter a secure password, bonus points for using a password manager
# Click the 'Change my password' button
# On the top right, click on your username and click on 'Settings'
# 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
# Let Bwuh on Discord know you've signed up to get a fancy role and get access to the localization team chats
#* The #localization-game channel has threads for specific languages for you to discuss things with other translators using your language
 
== Translation Guidelines ==
Line 33 ⟶ 42:
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 parametersvariables ===
Some entries might have a reference to parametersvariables. 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:<syntaxhighlight lang="php">
$pointCount achievement points
</syntaxhighlight>Do not translate anything from the "$" until the next space.<syntaxhighlight lang="html">
Line 48 ⟶ 57:
 
=== Machine translation ===
TolgeeWeblate 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 ===
Line 73 ⟶ 82:
* 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 changed[https://en.wikipedia.org/wiki/Transliteration transliterated] into the target language's characters instead of the Latin alphabetscript. Some examples:
** Runa Norrberga
** Rid Raddak
Line 96 ⟶ 105:
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.
 
== VisualWeblate Contribution GuideInstructions ==
 
=== Start translating ===
[[File:Toglee.PNG|none|thumb|Toglee - Sign up or sign in]]
 
[[File:Translation.PNG|none|thumb|Select Walkscape project]]
# In the top menu, click the 'Projects' button and select 'Browse all projects'
[[File:Translation2.PNG|none|thumb]]
# Click the project you want to translate for, we currently have:
[[File:Translation3.PNG|none|thumb]]
#* WalkScape Game
[[File:Translate4.PNG|none|thumb|Make sure to save before moving on!]]
#** These are the strings that are actually present within the app itself
#* WalkScape Portal
#** These strings are for the [https://portal.walkscape.app/ Portal] environment for WalkScape, which functions as the community hub
#* WalkScape website
#** These strings are for the main [https://walkscape.app/ WalkScape website]
# Select the component you want to start translating
#* We recommend completing the project's '[[Localization#Glossary|Glossary]]' first, as those translations can be used as a reference in other components. It has the name of the project, is marked with a [Glossary] tag, and can usually be found at the bottom of the components list. Do not confuse this with the components that are actually named 'Glossary' or '[Project name] - glossary'.
# Click the language you want to translate for
#* If your language is not listed or not clickable, you can click the plus to add it
#Click the 'Translate' button to the right
==== Top controls ====
[[File:Weblate - Translating - Top Controls.png]]
 
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 ====
[[File:Weblate - Translating - View.png]]
 
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 [[Localization#Glossary|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 [[Localization#Translation view|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.
__FORCETOC__

Latest revision as of 20:02, 15 August 2024

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://localize.walkscape.app/
  2. On the top right, click the 'Register' button
  3. Enter your email address
  4. Enter your WalkScape username as your username
  5. Enter your username in the 'Full name' field as well. Do not enter your real name, as other users will be able to see this.
  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
  13. Let Bwuh on Discord know you've signed up to get a fancy role and get access to the localization team chats
    • The #localization-game channel has threads for specific languages for you to discuss things with other translators using your language

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

Weblate 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.

Weblate Instructions

Start translating

  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. Select the component you want to start translating
    • We recommend completing the project's 'Glossary' first, as those translations can be used as a reference in other components. It has the name of the project, is marked with a [Glossary] tag, and can usually be found at the bottom of the components list. Do not confuse this with the components that are actually named 'Glossary' or '[Project name] - glossary'.
  4. Click the language you want to translate for
    • If your language is not listed or not clickable, you can click the plus to add it
  5. Click the 'Translate' button to the right

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.