Advertisement
PatchouliAnon

Eragames Translation Guide

Oct 22nd, 2016
11,971
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 7.03 KB | None | 0 0
  1. ====== Tools: ======
  2. Notepad++ - for opening .erb, .erh, .csv; but any text editor you like that supports Shift-JIS (Japanese encoding) will do
  3. https://notepad-plus-plus.org/
  4.  
  5. Translation Aggregator - machine translation tool, download in emuera git
  6. Chiitrans Lite - machine translation tool, download in emuera git and discord server in #updates
  7. ATLAS v14 - offline dictionary used in TA and ChiitransL, download in discord server in #updates
  8. Machine translation tools quick guide:
  9. https://imgur.com/SKnjnpd
  10.  
  11.  
  12.  
  13. ====== Basics: ======
  14. Everything that's after any variant of PRINT is pretty much waiting for your translation
  15.  
  16. PRINT - simply write stuff, in one line, without any variables
  17. PRINTFORM - can use variables (strings: %CALLNAME%, and numbers: {LOCAL})
  18.  
  19. PRINTL, PRINTFORML - works accordingly, but after writing stuff it goes to next line
  20. PRINTW, PRINFORMW - same as above but game stops and waits for a button/mouse press from player
  21.  
  22. You can add/remove/change all PRINT instructions as you want, until your sentence is PERFECT (correct lines, stops, etc.)
  23.  
  24. Variants of PRINTs with "S" or "V" at the end shouldn't be translated, they are for quick use of variables without having to write %% or {}
  25.  
  26.  
  27. CALL whatever_in_japanese - Don't translate these, it's for calling functions
  28. BUT if structure is something like CALL xxx("text","othertext",1) you most likely can translate what's inside quotation marks
  29.  
  30.  
  31. ; - (semicolon) A comment, often used to explain some stuff, can be put at the beginning of line (as first character), you can write whatever you want there
  32. [SKIPSTART] [SKIPEND] - comment for disabling whole segment of code between start and stop
  33.  
  34. %CALLNAME:MASTER%, %CALLNAME:TARGET% etc. - if used with PRINTFORM it'll show character's name
  35. %HIS_HER(TARGET)%, %HIM_HER(PLAYER)% %HE_SHE(TARGET)% (sometimes also %TOSTR_THIRD(TARGET)%) - gets gender pronoun
  36. You can also start with capital letter when you add ",1" after the variable like: %any_function(TARGET,1)%
  37.  
  38. --- Variables: ---
  39. MASTER, TARGET, PLAYER, ASSISTANT - Special variables that hold ID of your and characters that you currently interact with
  40. CHARANUM - total number of characters available in the game (read only)
  41.  
  42. If you use any variation of PRINTFORM you can use variables like names of characters, numbers for stats or custom functions
  43. {} - is for numbers,
  44. %% - is for text
  45.  
  46.  
  47.  
  48. ====== About statistics and flags from .csv files: ======
  49. There are arrays for different variables divided into "groups" that are in CSV folders
  50. TALENT - Things that are in Talent.csv file
  51. ABL - in Abl.csv
  52. BASE - in BASE.csv
  53. etc.
  54.  
  55. When you want to show some statistic, let's say ENE (energy) of player character with PRINTFORM, you use something like this: {BASE:MASTER:ENE}
  56. There is also a way to show name from .csv file for example it you use: %ABLNAME:LOCAL% it will show corresponding name for number, like for eraTW with LOCAL = 4 it'll show "MSense"
  57. Ofc instead ABLNAME you can also use things like BASENAME, EXPNAME, ITEMNAME etc.
  58.  
  59.  
  60.  
  61. ====== Translating .csv files: ======
  62. Things like "Virgin" talent or "C Sensitivity" ability are located in .csv files in /CSV/ folder ("TALENT.csv", "ABL.csv", [...])
  63.  
  64. DON'T translate them directly, we now have modified emuera engine for that
  65.  
  66. To translate it, you'll need to create a new file named accordingly "TALENT_TR.csv", "ABL_TR.csv", etc. Syntax there is:
  67. 処女,Virgin
  68. 自制心,Self Control
  69.  
  70.  
  71.  
  72. ====== Examples of basic emuera syntax: ======
  73.  
  74. ---PRINT instructions----------------------------
  75. ;suffixes for PRINT instructions (in order of possible usage):
  76. PRINT(SINGLE|PLAIN)(V|S|FORM|FORMS|FORMV)(K|D)(L|W)
  77. SINGLE - cuts the part of text that normally would get shown in the next line
  78. PLAIN - disables ability for text to be recognized as button
  79. V - for numbers ({}); instead of "PRINTFORM {LOCAL}" you can write "PRINTFORMV LOCAL"
  80. S - equivalent of strings (%%)
  81. K - something with forcing kana (extremely rarely used)
  82. D - ignores color change from SETCOLOR
  83. L - makes line after printing the text
  84. W - waits for player input
  85.  
  86. ;example of PRINTFORM usage:
  87. LOCALS = This
  88. LOCAL = 8
  89. PRINTFORML %LOCALS% can use strings, and numbers like {LOCAL}
  90. result: "This can use strings, and numbers like 8<next line>"
  91.  
  92. ;short form of IF inside PRINTFORM
  93. PRINTFORM ARG is \@ARG > 5 ? more than 5 # less or equal to 5 \@ stuff
  94.  
  95. PRINT [15] button number 15
  96. PRINTBUTTON "text that will highlight, without need to add [16]", 16
  97.  
  98.  
  99. ---Conditional statements------------------------
  100.  
  101. IF ARG >= 50
  102. ;if ARG is more or equal 50
  103. ELSEIF ARG == 20
  104. ;if ARG equals 20
  105. ELSE
  106. ;every other condition
  107. ENDIF
  108.  
  109. ------------------------
  110.  
  111. SIF ARG == 420
  112. ;short IF, executes only one instruction that's directly under it
  113.  
  114. ------------------------
  115.  
  116. ;Even shorter IF
  117. PRINTFORML If inside the PRINTFORM instructions: \@ IS_MALE(TARGET) ? he # she \@.
  118. ;note that it ignores the spaces used around the edges of he/she
  119.  
  120.  
  121. ---Case------------------------------------------
  122.  
  123. SELECTCASE ARG
  124. CASE 0
  125. ;ARG == 0
  126. CASE 5 TO 10
  127. ;ARG from 5 to 10
  128. CASE 11, 15, 69
  129. ;cases 11 15 and 69
  130. CASE IS > 100
  131. ;cases more than 100
  132. CASEELSE
  133. ;other cases
  134. ENDSELECT
  135.  
  136.  
  137. ---Loops-----------------------------------------
  138.  
  139. FOR LOCAL, 0, 42
  140. ;loop that will go from 0 to 42 (excluding 42)
  141. ;LOCAL is variable holding of current loop count
  142. SIF LOCAL == 5
  143. CONTINUE ;it skips case 5 and goes to next one - that is 6
  144. ;stuff
  145. SIF LOCAL == 12
  146. BREAK ;exits the loop completely, ignoring whether it's the last time (42 in this case)
  147. NEXT
  148.  
  149. ------------------------
  150. WHILE !LOCAL
  151. ;this continues as long as LOCAL == 0
  152. WEND
  153. ------------------------
  154. REPEAT 5
  155. ;repeats itself 5 times
  156. ;uses global variable COUNT for ... counting
  157. REND
  158. ------------------------
  159.  
  160.  
  161. ---Changing text colors--------------------------
  162.  
  163. ;Changing text colors
  164. SETCOLOR 204, 0, 102 ;in rgb
  165. SETCOLOR 0xff00ff ;in hex
  166. SETCOLOR C_RED ;it also supports constant variables
  167. SETCOLOR FOO("red") ;and functions
  168.  
  169. RESETCOLOR ;use this when you're finished with fancy coloring
  170.  
  171.  
  172.  
  173. ==================================================================================================
  174. ;example function construction:
  175. @USELESS_FUNCTION(ARG)
  176. LOCALS:1 = ;need to clear it because if you repeat this function the "+=" will add text to string again and again
  177.  
  178. SIF !IS_MALE(ARG)
  179. LOCALS:1 += "pussy and " ;when using += for a string you'll have to use quotes
  180. LOCALS:1 += "asshole" ;(this also makes adding space at the edge of string possible)
  181.  
  182. FOR LOCAL, 0, CHARANUM ;CHARANUM is constant that means number of static (in chara folder) characters
  183. LOCAL:1 ++ ;increment LOCAL:1 (it's short for LOCAL:1 = LOCAL:1 + 1)
  184. NEXT
  185.  
  186. ;(you can add spaces at the edges of PRINTs btw)
  187. PRINTFORM %CALLNAME:ARG%'s %LOCALS:1% got rekt
  188.  
  189. SETCOLOR 255,0,0
  190. PRINTFORM {LOCAL:1}
  191. RESETCOLOR
  192.  
  193. PRINTW times ;pause and line
  194. RETURN ;it returns to previously used function that used "CALL USELESS_FUNCTION(TARGET)"
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement