<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.eragames.rip/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=84.247.41.175</id>
	<title>Era Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.eragames.rip/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=84.247.41.175"/>
	<link rel="alternate" type="text/html" href="https://wiki.eragames.rip/index.php/Special:Contributions/84.247.41.175"/>
	<updated>2026-04-23T09:23:12Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.31.1</generator>
	<entry>
		<id>https://wiki.eragames.rip/index.php?title=Contributing/eralang&amp;diff=41257</id>
		<title>Contributing/eralang</title>
		<link rel="alternate" type="text/html" href="https://wiki.eragames.rip/index.php?title=Contributing/eralang&amp;diff=41257"/>
		<updated>2023-08-13T03:05:05Z</updated>

		<summary type="html">&lt;p&gt;84.247.41.175: /* Other PRINT examples */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
= Basics: =&lt;br /&gt;
==PRINT==&lt;br /&gt;
Everything after a PRINT statement is easily translated, with nothing more needed than replacing the Japanese text with English.&lt;br /&gt;
 &lt;br /&gt;
; PRINT :simply write stuff, in one line, without any variables&lt;br /&gt;
; PRINTL :Same as PRINT, except it adds a new line after printing.&lt;br /&gt;
; PRINTW :Same as PRINT, except waits for the player to click/press a button&lt;br /&gt;
; PRINTFORM : can use variables (strings: &amp;lt;code&amp;gt;%CALLNAME%&amp;lt;/code&amp;gt;, and numbers: &amp;lt;code&amp;gt;{LOCAL}&amp;lt;/code&amp;gt;)&lt;br /&gt;
; PRINTFORML :Same as PRINTFORM, except it adds a new line after printing&lt;br /&gt;
; PRINTFORMW :Same as PRINTFORM, except waits for the player to click/press a button&lt;br /&gt;
 &lt;br /&gt;
Feel free to edit/add/remove all PRINT(FORM) functions until whatever you're attempting to print looks and reads correctly.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
'''PRINT variants &amp;quot;S&amp;quot; or &amp;quot;V&amp;quot; should not be translated, they are for quick variable use without needing to write %% or {}''' &lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
==CALL japanese_text==&lt;br /&gt;
'''Don't translate these''', They're for calling functions.&lt;br /&gt;
If structure is something like &amp;lt;code&amp;gt;CALL xxx(&amp;quot;text&amp;quot;,&amp;quot;othertext&amp;quot;,1)&amp;lt;/code&amp;gt; you can most likely translate what's inside quotation marks.&lt;br /&gt;
&lt;br /&gt;
After a function has been called, its return value is saved in the variable RESULT.&lt;br /&gt;
&lt;br /&gt;
==Comments==&lt;br /&gt;
Comments are designated by a '''semicolon (;)''' and have no effect on the code. Generally we do not translate comments left by the Japanese, though you are free to write your own. &lt;br /&gt;
&lt;br /&gt;
==Skips==&lt;br /&gt;
; [SKIPSTART] and [SKIPEND]: comment for disabling whole segment of code between start and stop &lt;br /&gt;
 &lt;br /&gt;
==Character Referal==&lt;br /&gt;
; &amp;lt;code&amp;gt;%CALLNAME:&amp;lt;target&amp;gt;%&amp;lt;/code&amp;gt; :When used with PRINTFORM, it displays the name of the target&lt;br /&gt;
:&amp;lt;target&amp;gt; can be MASTER, TARGET, etc.&lt;br /&gt;
&lt;br /&gt;
; &amp;lt;code&amp;gt;%HIS_HER(TARGET)%, %HIM_HER(PLAYER)% %HE_SHE(TARGET)% (sometimes also %TOSTR_THIRD(TARGET)%)&amp;lt;/code&amp;gt; : gets the gender pronoun of the targeted character.&lt;br /&gt;
You can also start with capital letter when you add &amp;quot;,1&amp;quot; after the variable like: %any_function(TARGET,1)%&lt;br /&gt;
&lt;br /&gt;
==Variables==&lt;br /&gt;
MASTER, TARGET, PLAYER, ASSISTANT  - Special variables that hold ID of your and characters that you currently interact with&lt;br /&gt;
CHARANUM - total number of characters available in the game (read only)&lt;br /&gt;
 &lt;br /&gt;
If you use any variation of PRINTFORM you can use variables like names of characters, numbers for stats or custom functions&lt;br /&gt;
:{} - is for numbers,&lt;br /&gt;
:%% - is for text&lt;br /&gt;
&lt;br /&gt;
== Translating .csv files: ==&lt;br /&gt;
Things like the &amp;quot;Virgin&amp;quot; talent, or the ability &amp;quot;C Sensitivity&amp;quot; are located in .csv files in the /CSV/ folder (&amp;quot;TALENT.csv&amp;quot;, &amp;quot;ABL.csv&amp;quot;, etc.)&lt;br /&gt;
 &lt;br /&gt;
'''DO NOT''' translate them directly, we now have modified the emuera engine for that.&lt;br /&gt;
 &lt;br /&gt;
To translate it, you'll need to create a new file named accordingly (&amp;quot;TALENT_TR.csv&amp;quot;, &amp;quot;ABL_TR.csv&amp;quot;, etc.)&lt;br /&gt;
The syntax is:&lt;br /&gt;
 処女,Virgin&lt;br /&gt;
 自制心,Self Control&lt;br /&gt;
&lt;br /&gt;
=== About statistics and flags from .csv files: ===&lt;br /&gt;
There are arrays for different variables divided into &amp;quot;groups&amp;quot; that are in CSV folders. TALENT's are in Talent.csv, ABL are in Abl.csv. BASE are in BASE.csv, etc.&lt;br /&gt;
&lt;br /&gt;
When you want to show a statistic, let's say ENE (energy) of player character with PRINTFORM, you use something like this:&lt;br /&gt;
&amp;lt;code&amp;gt; {BASE:MASTER:ENE}&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
There is also a way to show name from .csv file. For example, if you use: &amp;lt;code&amp;gt;%ABLNAME:LOCAL%&amp;lt;/code&amp;gt; it will show the corresponding name for number, like for eraTW with LOCAL = 4 it'll show &amp;quot;MSense&amp;quot;&lt;br /&gt;
Of ccourse, instead of &amp;lt;code&amp;gt;ABLNAME&amp;lt;/code&amp;gt; you can also use things like &amp;lt;code&amp;gt;BASENAME&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;EXPNAME&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;ITEMNAME&amp;lt;/code&amp;gt;, etc.&lt;br /&gt;
&lt;br /&gt;
== Examples of basic emuera syntax ==&lt;br /&gt;
 &lt;br /&gt;
===PRINT instructions===&lt;br /&gt;
Suffixes for PRINT instructions (in order of possible usage):&lt;br /&gt;
&lt;br /&gt;
 PRINT(SINGLE|PLAIN)(V|S|FORM|FORMS|FORMV)(K|D)(L|W)&lt;br /&gt;
* SINGLE      - cuts the part of text that normally would get shown in the next line&lt;br /&gt;
* PLAIN       - disables ability for text to be recognized as button&lt;br /&gt;
* V           - for numbers ({}); instead of &amp;quot;PRINTFORM {LOCAL}&amp;quot; you can write &amp;quot;PRINTFORMV LOCAL&amp;quot;&lt;br /&gt;
* S           - equivalent of strings (%%)&lt;br /&gt;
* K           - something with forcing kana (extremely rarely used)&lt;br /&gt;
* D           - ignores color change from SETCOLOR&lt;br /&gt;
* L           - makes line after printing the text&lt;br /&gt;
* W           - waits for player input&lt;br /&gt;
 &lt;br /&gt;
Example of PRINTFORM usage:&lt;br /&gt;
 LOCALS = This&lt;br /&gt;
 LOCAL = 8&lt;br /&gt;
 PRINTFORML %LOCALS% can use strings, and numbers like {LOCAL}&lt;br /&gt;
&lt;br /&gt;
result: &amp;quot;This can use strings, and numbers like 8&amp;lt;next line&amp;gt;&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
====Short form of IF inside PRINTFORM====&lt;br /&gt;
Also called ternary if or ternary operator&lt;br /&gt;
&lt;br /&gt;
 PRINTFORM ARG is \@ARG &amp;gt; 5 ? more than 5 # less or equal to 5 \@ stuff&lt;br /&gt;
&lt;br /&gt;
Note: It ignores the spaces around the edges of &amp;lt;code&amp;gt;?&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;#&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Other PRINT examples====&lt;br /&gt;
&lt;br /&gt;
 PRINT [15] button number 15&lt;br /&gt;
 PRINTBUTTON &amp;quot;text that will highlight, without need to add [16]&amp;quot;, 16&lt;br /&gt;
&lt;br /&gt;
You can add &amp;lt;code&amp;gt;@&amp;lt;/code&amp;gt; before a &amp;lt;code&amp;gt;&amp;quot;&amp;lt;/code&amp;gt; to make it also format &amp;lt;code&amp;gt;%%&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;{}&amp;lt;/code&amp;gt; like so:&lt;br /&gt;
&lt;br /&gt;
 LOCALS = this&lt;br /&gt;
 PRINTBUTTON @&amp;quot;Click %LOCALS% to continue&amp;quot;, 10&lt;br /&gt;
&lt;br /&gt;
===Conditional statements===&lt;br /&gt;
 &lt;br /&gt;
 IF ARG &amp;gt;= 50&lt;br /&gt;
     ;if ARG is greater than or equal 50&lt;br /&gt;
 ELSEIF ARG == 20&lt;br /&gt;
     ;if ARG equals 20&lt;br /&gt;
 ELSE&lt;br /&gt;
     ;every other condition&lt;br /&gt;
 ENDIF&lt;br /&gt;
 &lt;br /&gt;
====Short IF====&lt;br /&gt;
 &lt;br /&gt;
 SIF ARG == 420&lt;br /&gt;
     ;short IF, executes only one instruction that's directly under it&lt;br /&gt;
 &lt;br /&gt;
====Ternary Operator====&lt;br /&gt;
&lt;br /&gt;
 PRINTFORML If inside the PRINTFORM instructions: \@ IS_MALE(TARGET) ? he # she \@.&lt;br /&gt;
&lt;br /&gt;
Note: It ignores the spaces used around the edges of he/she&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
===Case===&lt;br /&gt;
 &lt;br /&gt;
 SELECTCASE ARG&lt;br /&gt;
     CASE 0&lt;br /&gt;
         ;ARG == 0&lt;br /&gt;
     CASE 5 TO 10&lt;br /&gt;
         ;ARG from 5 to 10&lt;br /&gt;
     CASE 11, 15, 69&lt;br /&gt;
         ;cases 11 15 and 69&lt;br /&gt;
     CASE IS &amp;gt; 100&lt;br /&gt;
         ;cases more than 100&lt;br /&gt;
     CASEELSE&lt;br /&gt;
         ;other cases&lt;br /&gt;
 ENDSELECT&lt;br /&gt;
 &lt;br /&gt;
===Loops===&lt;br /&gt;
 &lt;br /&gt;
 FOR LOCAL, 0, 42&lt;br /&gt;
     ;loop that will go from 0 to 42 (excluding 42)&lt;br /&gt;
     ;LOCAL here is variable holding of current loop count&lt;br /&gt;
     SIF LOCAL == 5&lt;br /&gt;
         CONTINUE            ;it skips case 5 and goes to next one - that is 6&lt;br /&gt;
     ;stuff&lt;br /&gt;
     SIF LOCAL == 12&lt;br /&gt;
         BREAK               ;exits the loop completely, ignoring whether it's the last time (42 in this case)&lt;br /&gt;
 NEXT&lt;br /&gt;
 &lt;br /&gt;
------------------------&lt;br /&gt;
 WHILE !LOCAL&lt;br /&gt;
     ;this continues as long as LOCAL == 0&lt;br /&gt;
 WEND&lt;br /&gt;
------------------------&lt;br /&gt;
 REPEAT 5&lt;br /&gt;
     ;repeats itself 5 times&lt;br /&gt;
     ;uses global variable COUNT for ... counting&lt;br /&gt;
 REND&lt;br /&gt;
------------------------&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
===Changing text colors===&lt;br /&gt;
 &lt;br /&gt;
 SETCOLOR 204, 0, 102    ;in rgb&lt;br /&gt;
 SETCOLOR 0xff00ff       ;in hex&lt;br /&gt;
 SETCOLOR C_RED          ;it also supports constant variables&lt;br /&gt;
 SETCOLOR FOO(&amp;quot;red&amp;quot;)     ;and functions&lt;br /&gt;
 &lt;br /&gt;
 SETCOLORBYNAME Coral    ;use HTML color names &lt;br /&gt;
 &lt;br /&gt;
 RESETCOLOR              ;use this when you're finished with fancy coloring&lt;br /&gt;
&lt;br /&gt;
===Example function construction===&lt;br /&gt;
&lt;br /&gt;
 @USELESS_FUNCTION(ARG)&lt;br /&gt;
 LOCALS:1 =                          ;need to clear it because if you repeat this function the &amp;quot;+=&amp;quot; will add text to string again and again&lt;br /&gt;
 &lt;br /&gt;
 SIF !IS_MALE(ARG)&lt;br /&gt;
     LOCALS:1 += &amp;quot;pussy and &amp;quot;        ;when using += for a string you'll have to use quotes&lt;br /&gt;
 LOCALS:1 += &amp;quot;asshole&amp;quot;               ;(this also makes adding space at the edge of string possible)&lt;br /&gt;
 &lt;br /&gt;
 FOR LOCAL, 0, CHARANUM              ;CHARANUM is constant that means number of static (in chara folder) characters&lt;br /&gt;
     LOCAL:1 ++                      ;increment LOCAL:1 (it's short for LOCAL:1 = LOCAL:1 + 1)&lt;br /&gt;
 NEXT&lt;br /&gt;
 &lt;br /&gt;
 ;(you can add spaces at the edges of PRINTs, btw)&lt;br /&gt;
 PRINTFORM %CALLNAME:ARG%'s %LOCALS:1% got rekt&lt;br /&gt;
 &lt;br /&gt;
 SETCOLOR 255,0,0&lt;br /&gt;
 PRINTFORM {LOCAL:1}&lt;br /&gt;
 RESETCOLOR&lt;br /&gt;
 &lt;br /&gt;
 PRINTW times                            ;pause and line&lt;br /&gt;
 RETURN                                  ;it returns to previously used function that used &amp;quot;CALL USELESS_FUNCTION(TARGET)&amp;quot;&lt;br /&gt;
==Git Workflow==&lt;br /&gt;
[[File:Eragames Git Workflow.png|thumbnail|right|This is the current workflow all games with active translation abide by.]]&lt;br /&gt;
&lt;br /&gt;
= Advanced: =&lt;br /&gt;
For more documentation on eralang and Emuera check the following places&lt;br /&gt;
* [https://osdn.net/projects/emuera/wiki/FrontPage Original Emuera documentation]&lt;br /&gt;
* [http://cbaku.com/b/2010/12/eramaker/ Original eramaker documentation]&lt;br /&gt;
* [[Emuera | Emuera documentation in English]] (work in progress)&lt;br /&gt;
[[Category:Contributing]]&lt;/div&gt;</summary>
		<author><name>84.247.41.175</name></author>
		
	</entry>
</feed>