Touhou Patch Center:Tutorial

From Touhou Patch Center
Jump to: navigation, search
Project overview
About Tutorial FAQ Patch servers Download Patch overview github.png Bug tracker Artwork Wiki security
Other languages:English 100% • ‎Spanish 16% • ‎French 83% • ‎Hungarian 22% • ‎Korean 100% • ‎Russian 77% • ‎Simplified Chinese 90%

Since translators are by far the most important people in this fandom, we made the process as simple as possible.

Register/Logging in

  1. First, create an account by going towards the top right link (or clicking the hyperlink).
    If you already have an account, skip to step two.
  2. Log into your account with your username and password which will be located in the same place the registration was.
    (or click the hyperlink)

Changing the site language

The language of the site interface automatically defaults to the preferred content language set in your browser settings. This setting is also used to set the initial target language in the translation menu. Thus, we recommend changing it to the language you want to translate into - this way, you won't accidentally overwrite existing translations for another language.

To change this setting, click the Language Selector (the   Language button at the top of the page) and enter the native name of your language, or its ISO 639-1 code.

This setting is stored as a cookie and saved to your user account if you're logged in.

Starting a translation into a language not yet on the site

Most of the time, this is no problem. Just select the language like you normally would, and the administration will create the necessary links and portal pages for integration into the Touhou Community Reliant Automatic Patcher shortly after.

In case your desired language is not present in the list, simply leave a message on the main talk page. Setting up a new language is a very quick process.

Editing text translations

Games Supported Languages with >95% coverage Languages started & in progress
Icon th06.png TH06 Embodiment of Scarlet Devil English British English Google Translate English German Spanish Italian Indonesian Hungarian Portuguese Brazilian Portuguese Thai Tagalog Korean Polish 4Kids English Greek Troll translations Yorkshire English Finnish French Luxembourgish Malay Dutch Russian Vietnamese Tiếng Việt (THVNFB translation) Simplified Chinese Norwegian Bokmål Czech Français québécois (familier oral) French troll translations Swedish
Icon th07.png TH07 Perfect Cherry Blossom English British English Google Translate English German Spanish Russian Italian Hindi Indonesian Portuguese Brazilian Portuguese Greek Ukrainian Hungarian Vietnamese Thai Korean 4Kids English Yorkshire English Finnish French Luxembourgish Brazilian Portuguese troll translations Troll translations Tiếng Việt (THVNFB translation) Czech Persian Norwegian Bokmål Romanian Swedish Polish
Icon th08.png TH08 Imperishable Night English British English Google Translate English German Spanish Italian Hindi Korean Thai 4Kids English Greek Finnish French Hungarian Indonesian Luxembourgish Dutch Portuguese Vietnamese Simplified Chinese Russian Tagalog Swedish Polish
Icon th09.png TH09 Phantasmagoria of Flower View English British English German French Hindi Thai Korean 4Kids English Spanish Italian Luxembourgish Polish Indonesian Tiếng Việt (THVNFB translation) Russian Ukrainian Swedish
Icon th095.png TH095 Shoot the Bullet English British English German Indonesian Russian Hindi Thai Korean 4Kids English Spanish French Italian Lojban Dutch Polish Brazilian Portuguese
Icon th10.png TH10 Mountain of Faith English British English Google Translate English German Spanish Russian Italian Hindi Bulgarian Indonesian Vietnamese Thai Korean 4Kids English Greek Finnish French Luxembourgish Dutch Polish Czech Swedish
Icon alcostg.png UB Uwabami Breakers English British English German Spanish Italian Indonesian Yorkshire English Finnish Luxembourgish Korean
Icon th105.png TH105 Scarlet Weather Rhapsody English German Vietnamese Russian Français québécois (familier oral) Korean Thai Swedish
Icon th11.png TH11 Subterranean Animism English British English Google Translate English German Spanish Russian Bulgarian Hindi Vietnamese Hungarian Ukrainian Thai Korean 4Kids English Swiss German Finnish French Indonesian Italian Luxembourgish Dutch Polish Brazilian Portuguese Tiếng Việt (THVNFB translation) Swedish
Icon th12.png TH12 Undefined Fantastic Object English British English Google Translate English German Spanish Russian Hindi Thai Vietnamese Korean 4Kids English Finnish French Luxembourgish Brazilian Portuguese Indonesian Swedish
Icon th123.png TH123 Touhou Hisoutensoku English German Vietnamese Russian Korean French Thai Spanish
Icon th125.png TH125 Double Spoiler English British English German Spanish Italian Hindi Korean Thai 4Kids English Yorkshire English French Hungarian Indonesian Luxembourgish Malay Dutch Brazilian Portuguese Russian
Icon th128.png TH128 Fairy Wars English British English Google Translate English German Spanish Russian Hindi Italian Ukrainian Vietnamese Hungarian Korean Thai 4Kids English Pirate English Luxembourgish Polish Dutch Brazilian Portuguese Hungarian French Indonesian
Icon th13.png TH13 Ten Desires English British English German Spanish Russian Italian Vietnamese Hindi Korean Thai 4Kids English Greek Yorkshire English Finnish French Italian Luxembourgish Malay Dutch Polish Brazilian Portuguese Indonesian Hindi Swedish
Icon th135.png TH135 Hopeless Masquerade English German Vietnamese Korean Thai
Icon th14.png TH14 Double Dealing Character English British English German Spanish Russian Italian Indonesian Ukrainian Polish Bulgarian Thai Vietnamese Korean 4Kids English Swiss German Pirate English Troll translations Yorkshire English Finnish French Croatian Hungarian Luxembourgish Mongolian Malay Norwegian Bokmål Dutch Portuguese Brazilian Portuguese Klingon Tiếng Việt (THVNFB translation) Traditional Chinese Hindi Swedish
Icon th143.png TH143 Impossible Spell Card English British English German Bulgarian Russian Korean Vietnamese Thai 4Kids English Spanish Finnish French Indonesian Italian Norwegian Bokmål Polish Portuguese Brazilian Portuguese Ukrainian Czech Swedish
Icon th145.png TH145 Urban Legend in Limbo English German Indonesian Vietnamese Korean Thai Hindi
Icon th15.png TH15 Legacy of Lunatic Kingdom English British English German Ukrainian Russian European Spanish (Suzunaan Blog translation) Thai Vietnamese Korean 4Kids English Esperanto Spanish Latin American Spanish Hungarian French Canadian French Brazilian Portuguese Indonesian Traditional Chinese Swedish
Icon th155.png TH155 Antinomy of Common Flowers English German Korean Vietnamese Thai Russian Romanian Indonesian Spanish French French troll translations
Icon th16.png TH16 Hidden Star in Four Seasons English British English German Russian European Spanish (Suzunaan Blog translation) Indonesian Ukrainian Vietnamese Thai Korean Thai Spanish Italian French Brazilian Portuguese Swedish Troll translations
Icon th165.png TH165 Violet Detector English German Vietnamese European Spanish (Suzunaan Blog translation) Thai Korean Russian Spanish Indonesian
Icon th17.png TH17 Wily Beast and Weakest Creature English German Russian Vietnamese Korean Indonesian Ukrainian Brazilian Portuguese French Tagalog Swedish Thai
Icon nsml.png NSML New Super Marisa Land English German Russian Spanish French Korean
Icon megamari.png MegaMari MegaMari English German Russian Spanish Korean
Icon marilega.png MariLega MarisaLand Legacy
  1. Go to the main page which can accessed at anytime by clicking the logo.
    (Or again, click the hyperlink)
  2. Choose a game you wish to translate.
    On the right, you can see the list of translatable games, their progress in the respective languages, and whether they are finished.
  3. Choose a piece of translatable content you want to work on.
  4. Click on the small Translate this page label at the top of that page .

    If the page you are on already has a translation, it will instead say

    This page is a translated version of a page X and the translation is X% complete.

    In that case, the first link will bring you to the translation interface.

  5. Verify that the correct language you want to translate into is selected in the Language drop-down menu.
    This will automatically be set to the language of the site interface. If you had to change it, don't forget clicking Fetch afterwards.
  6. Double-click the message boxes and begin typing your translation in.
  7. Hit Save.
  8. Then, just follow steps 6 + 7 for the remainder of the boxes.

Things to know

  • If you're translating from another translation (most likely English), be sure to add the wiki page of this translation to your watchlist by clicking the star next to the search bar on the top. This will send you a notification whenever something has been changed and needs to be reflected in your language.
  • If any text of an existing translation (again, most likely English) would not change in your translation, leave the respective box empty and don't copy-paste the text. This way, everyone can take full advantage of patch stacking.
  • Refer to your language's portal page for stylistic guidelines.

Dialog

  • Line breaks are never done automatically. It's up to you to make sure that the text fits into the dialog box.
  • You can always use a maximum of two lines for every message box, even if there is only one line in the original. The opposite is also true. We went to great lengths to make this possible, so please do make use of this. ☺

Endings

Since these do not show up in replays, the patcher can provide an unlimited amount of text lines here.

  • There can always be a maximum of 5 lines at the screen at any time.

Character name translations are automatically taken from the respective translation group.

Editing graphics

Compared to the simple translation of plain text, multilingual image translation requires a rather involved workflow:

  • (Optimally, the original text should be transcribed first.)
  • A basic image editing project needs to be created, erasing the original text, recreating possible backgrounds and selecting appropriate fonts.
  • The required fonts should be noted down so that the editors for other languages can obtain them.
  • The original text needs to be translated.
  • Finally, the translated text needs to be edited into the base image, taking possible sprite boundary limits imposed by the game into account. (As of now, we couldn't change those limits without including the whole ANM file with all its original uncompressed image data, which would unnecessarily bloat the size of the patches.)

Fonts

Fonts should ideally have a sufficiently large Unicode coverage so that the same template can be used across multiple languages.

Unfortunately, the most appropriate fonts often happen to have a rather limited coverage - and finding one that looks similar and has a wider coverage can be an arduous, if not impossible task.

Hence, you don't need to care about this for any other language than your own (but other translators would certainly appreciate it if you did).

A consistent appearance across the languages would surely be nice thing to have, but this is not a requirement or official policy - each language is still free to choose whatever fonts the editors prefer.

If you do care, here's a test string with characters from some of our active languages which might be problematic, for your convenience:

ÁÉÍÓÚÀÈÌÒÙÂÊÄËÏÖÜÃÑÕŐŰĄĘŁŻ
áéíóúàèìòùâêäëïöüãñõőűąęłż
ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩ
αβγδεζηθικλμνξοπρστυφχψω
АБВГДЕЖЗИЙКЛМНОӨПРСТУҮФХЦЧШЩЪЫЬЭЮЯ
абвгдежзийклмноөпрстуүфхцчшщъыьэюя
« » “ ” ‘ ’ “ „ …

Efficiently testing translations in-game

Select the skipgame patch in addition to your translation to remove all gameplay sections and reduce spell cards to a few seconds. This leaves only the dialogue and spell card names and allows you to quickly proofread everything without spending time on dodging bullets.

The separate instant_ending allows you to access all endings by making one single gameplay choice in one stage.

Editing Music

Follow the tutorial here.

In-game TL notes

In Team Shanghai Alice games, these can be inserted basically anywhere text is rendered, using the {{Tlnote}} template; check that page for details. Currently not supported for Tasofro games, so don't use the template on their pages!

Italics and bold formatting is not supported, but you could try a Unicode boldness generator for A-Z.

Advanced configuration either in global.js (for all games), <game ID> (for a specific game), or in your runconfig:

{
    "tlnotes": {
        "reference_resolution": [1280, 960], // Valid for all games, even the 640×480 ones. Font and region size are relative to this one. You typically don't need to change this.
        "region_topleft": [x, y],
        "region_size": [width, height],
        "read_speed": 35, // In UTF-8 bytes per second; determines the scrolling speed of longer TL notes that exceed the size of the region. Higher is faster.
        "fade_ms": 500, // Fade-in speed.
        "valign": "top" | "center" | "bottom", // Vertical alignment for notes that are shorter than the height of the TL note region. Default is "bottom".
        "font": "'MS Gothic' 32 0 400 DEFAULT_QUALITY", // Using the same font syntax used for fontrules, explained in https://github.com/thpatch/thcrap/blob/23fd91a/thcrap/src/textdisp.h. Also subject to those same replacement rules.
        "outline_radius": 2, // Capped at 15, because it's drawn on the CPU and actually not that fast, and everything larger just *really* looks bad.
    }
}

To disable TL notes completely, simply add , "tlnotes": "" before the last } of your configuration file, created by thcrap_configure.