DGS Multilingual: Difference between revisions

From Multi Theft Auto: Wiki
Jump to navigation Jump to search
Line 80: Line 80:
label2 = dgsCreateLabel (0.51, 0.64, 0.16, 0.14, {"TestText2","DGS",":D"}, true )  -- 2 parameters.
label2 = dgsCreateLabel (0.51, 0.64, 0.16, 0.14, {"TestText2","DGS",":D"}, true )  -- 2 parameters.
label3 = dgsCreateLabel (0.51, 0.74, 0.16, 0.14, {"TestText2","DGS"}, true )  -- the rest unused '''%rep%''' will be deleted.
label3 = dgsCreateLabel (0.51, 0.74, 0.16, 0.14, {"TestText2","DGS"}, true )  -- the rest unused '''%rep%''' will be deleted.
</syntaxhighlight>
==<span style="color:#000000;text-shadow:0.05em 0.05em 0.2em #00000099;">Usage 4</span>==
*0. Don't forget to '''import DGS Head''' or use '''export.dgs:'''.
*1. A '''Translation Table''' (Dictionary) should be specified. And DGS parameter support 2nd level translation:
<syntaxhighlight lang="lua">
Dict = {
TestText1="Welcome To %rep%. Have a good time %rep%",
Smile=":)",
}
</syntaxhighlight>
*2. And, send the dictionary into DGS:
<syntaxhighlight lang="lua">
dgsSetTranslationTable("testDict",Dict) --Name,Dictionary.
</syntaxhighlight>
*3. Now, DGS knows that dictionary, tell DGS we want to use it:
<syntaxhighlight lang="lua">
dgsSetAttachTranslation("testDict")
</syntaxhighlight>
*4. Create a label, and use 2nd translation:
<syntaxhighlight lang="lua">
label = dgsCreateLabel (0.51, 0.54, 0.16, 0.14, {"TestText1","DGS", {"Smile"}}, true )
</syntaxhighlight>
</syntaxhighlight>

Revision as of 06:18, 11 December 2020

Description

  • 1. DGS has a built-in multilingul (multi-languae) system.
  • 2. Multilingul allows dynamic language changing and prevents non-essential GUI recreating or text reset by code.
  • 3. DGS Multilingul system will specify the structure of Translation Table (Dictionary).

Usage 1

  • 0. Don't forget to import DGS Head or use export.dgs:.
  • 1. A Translation Table (Dictionary) should be specified:
Dict = {
	TestText1="Welcome To DGS",
}
  • 2. And, send the dictionary into DGS:
dgsSetTranslationTable("testDict",Dict) --Name,Dictionary.
  • 3. Now, DGS knows that dictionary, we need to tell DGS we want to use it:
dgsSetAttachTranslation("testDict") --This is global setting to one resource
  • 3. Create a label:
label = dgsCreateLabel (0.51, 0.54, 0.16, 0.14, {"TestText"}, true )

Usage 2

  • 0. Don't forget to import DGS Head or use export.dgs:.
  • 1. A Translation Table (Dictionary) should be specified:
Dict = {
	TestText1="Welcome To DGS",
}
  • 2. And, send the dictionary into DGS:
dgsSetTranslationTable("testDict",Dict) --Name,Dictionary.
  • 3. Now, DGS knows that dictionary, we can create a label and attach its text to the dictionary:
label = dgsCreateLabel (0.51, 0.54, 0.16, 0.14, {"TestText"}, true )
dgsAttachToTranslation(label,"testDict") --Only attach one element to the dictionary.

Or you can also do:

label = dgsCreateLabel (0.51, 0.54, 0.16, 0.14, "", true )
dgsAttachToTranslation(label,"testDict") --Only attach one element to the dictionary.
dgsSetText(label,{"TestText"})

Usage 3

  • 0. Don't forget to import DGS Head or use export.dgs:.
  • 1. A Translation Table (Dictionary) should be specified. And here we have an extra %rep% that takes the place of parameter:
Dict = {
	TestText1="Welcome To %rep%",
	TestText2="Welcome To %rep% %rep%",
}
  • 2. And, send the dictionary into DGS:
dgsSetTranslationTable("testDict",Dict) --Name,Dictionary.
  • 3. Now, DGS knows that dictionary, tell DGS we want to use it:
dgsSetAttachTranslation("testDict")
  • 4. Create a label, pass "DGS" as the argument
label1 = dgsCreateLabel (0.51, 0.54, 0.16, 0.14, {"TestText1","DGS"}, true )
label2 = dgsCreateLabel (0.51, 0.64, 0.16, 0.14, {"TestText2","DGS",":D"}, true )  -- 2 parameters.
label3 = dgsCreateLabel (0.51, 0.74, 0.16, 0.14, {"TestText2","DGS"}, true )  -- the rest unused '''%rep%''' will be deleted.

Usage 4

  • 0. Don't forget to import DGS Head or use export.dgs:.
  • 1. A Translation Table (Dictionary) should be specified. And DGS parameter support 2nd level translation:
Dict = {
	TestText1="Welcome To %rep%. Have a good time %rep%",
	Smile=":)",
}
  • 2. And, send the dictionary into DGS:
dgsSetTranslationTable("testDict",Dict) --Name,Dictionary.
  • 3. Now, DGS knows that dictionary, tell DGS we want to use it:
dgsSetAttachTranslation("testDict")
  • 4. Create a label, and use 2nd translation:
label = dgsCreateLabel (0.51, 0.54, 0.16, 0.14, {"TestText1","DGS", {"Smile"}}, true )