LocalizationTable

사용되지 않는 항목 표시

*이 콘텐츠는 AI(베타)를 사용해 번역되었으며, 오류가 있을 수 있습니다. 이 페이지를 영어로 보려면 여기를 클릭하세요.

로캘라이제이션 테이블은 번역의 데이터베이스입니다.다양한 언어의 소스 문자열과 번역이 포함되어 있습니다.그것은 TranslatorLocalizationService 자동 번역 시스템과 함께 사용되어 게임에서 텍스트 번역을 제어합니다.로컬라이제이션 테이블은 텍스처나 스크립트와 같은 리소스로 처리되도록 설계되었습니다.런타임에 수정되도록 최적화되지 않았습니다.테이블의 내용을 변경하면 테이블의 전체 내용이 모든 플레이어에 복제됩니다.

지역화 테이블 항목

각 지역화 테이블에는 입력 세트가 포함되어 있습니다. 각 입력에는 텍스트의 번역과 함께 몇 가지 특수 필드가 포함되어 있습니다.

  • 는 코드에서 빠른 해시 조회를 위한 선택적 고유 키입니다. 비어 있지 않으면 테이블에서 고유해야 합니다.
  • 원본 은 자동 텍스트 교체 시스템이 GUI 텍스트와 일치하고 대신 번역을 렌더링하기 위해 사용할 원래 언어 텍스트입니다.원본 필드는 텍스트 캡처 도구로 채워질 수도 있고 수동으로 설정될 수도 있습니다.키 기반 조회에서는 엔트리에 해당 지역에 대한 번역이 없는 경우 LocalizationTable.SourceLocaleId Source 값을 번역으로 사용할 수 있습니다.소스가 비어 있으면 자동 교체 시스템에서 항목이 사용되지 않습니다.
  • 컨텍스트 는 텍스트가 나타난 개체의 전체 인스턴스 이름입니다.컨텍스트는 자동 텍스트 교체 시스템에서 모호성 해결에 사용됩니다.원본에 대한 여러 일치 항목이 발견되면 시스템이 컨텍스트 문자열의 끝에서 역방향으로 일치하여 최상의 일치 항목을 선택합니다.혼동 처리를 위한 다른 더 강력한 방법도 있습니다, GuiBase2d.RootLocalizationTable를 사용하여 여러 테이블을 사용하는 것과 같이.
  • 예제 는 원하는 대로 무엇이든 됩니다.텍스트 캡처 도구가 문자열에 대한 일부 매개변수를 추측하면 예제 필드에 컨텍스트에서 사용되는 예제가 포함됩니다.

이러한 모든 필드는 선택 사항이지만 적어도 키 또는 소스가 비어 있지 않아야 합니다. 두 개의 항목에 동일한 키, 소스 및 컨텍스트가 없어야 합니다.

자세한 내용은 동적 콘텐츠 번역을 참조하십시오.

코드 샘플

LocalizationTable

local LocalizationService = game:GetService("LocalizationService")
local function createLocalizationTable(entries)
local localTable = Instance.new("LocalizationTable")
localTable.DevelopmentLanguage = LocalizationService.SystemLocaleId
localTable:SetEntries(entries)
return localTable
end
local entries = {
{
Key = "Hello_World", -- The 'expressionKey' to be used with GetString
Values = { -- A dictionary of keys corresponding to IETF language tags, and their translations.
["ru"] = " !", -- Russian
["fr"] = "Bonjour le monde!", -- French
["de"] = "Hallo Welt!", -- German
["en-US"] = "Hello world!", -- English
["it"] = "Ciao mondo!", -- Italian
["pt-BR"] = "Ol Mundo!", -- Portuguese
["ja"] = "", -- Japanese
["es"] = "Hola Mundo!", -- Spanish
},
},
}
local helloWorldTable = createLocalizationTable(entries)
print(helloWorldTable:GetString("en-US", "Hello_World"))

요약

메서드

  • 각 사전이 지역화 데이터의 항목을 나타내는 배열을 반환합니다. Returns an array of dictionaries, where each dictionary represents an entry of localization data.

  • 지정된 언어로 이 지역화 테이블의 항목에 대해 Translator를 반환합니다.

  • RemoveEntry(key : string,source : string,context : string):()

    지정된 key , sourcecontext 를 사용하여 지역화 테이블에서 특정 항목을 제거하고, 특정 항목을 제거할 수 있도록 좁힙니다.

  • RemoveEntryValue(key : string,source : string,context : string,localeId : string):()

    제공된 key, source, contextlocaleId을 사용하여 지역화 테이블에서 단일 언어 번역을 제거하고, 특정 항목을 제거할 수 있도록 좁힙니다.

  • RemoveTargetLocale(localeId : string):()

    지정된 로캘 ID로 로컬화 테이블에서 모든 번역을 제거합니다.

  • SetEntries(entries : Variant):()

    LocalizationTable의 콘텐츠를 설정합니다.

  • SetEntryContext(key : string,source : string,context : string,newContext : string):()

    LocalizationTable 항목의 컨텍스트 필드를 newContext , key , sourcecontext 를 사용하여 지정된 을 사용하여 변경 내용이 적용될 항목을 좁힙니다.

  • SetEntryExample(key : string,source : string,context : string,example : string):()

    LocalizationTable 항목의 예제 필드를 사용하여 지정된 example , key , sourcecontext 를 사용하여 적용될 변경 내용이 있는 항목을 줄이십시오.

  • SetEntryKey(key : string,source : string,context : string,newKey : string):()

    LocalizationTable 항목의 필드를 사용하여 지정된 newKey , key , sourcecontext 를 사용하여 적용될 변경 내용이 있는 항목을 좁히십시오.

  • SetEntrySource(key : string,source : string,context : string,newSource : string):()

    LocalizationTable 항목의 원본 필드를 사용하여 지정된 , , 및 을 사용하여 적용될 변경 내용이 있는 항목을 좁힙니다.

  • SetEntryValue(key : string,source : string,context : string,localeId : string,text : string):()

    지정된 로캘ID의 텍스트를 로컬화 테이블 항목에 설정하여 key , sourcecontext 를 사용하여 적용될 항목을 좁힙니다.

속성

SourceLocaleId

병렬 읽기

예를 들어 "en-us" 또는 "es-es"와 같이 이 테이블에 대한 입력 키 문자열의 Roblox 지역입니다. 일반적으로 게임의 "개발 언어"입니다.여러 개의 지역화 테이블 개체를 병합하는 번역기의 경우, 기본 지역화 테이블의 로캘ID입니다.기본값은 "en-us"입니다.

메서드

GetEntries

GetEntries 함수는 지정된 LocalizationTable에 포함된 사전 배열을 반환하여 각 사전이 지역화 데이터의 항목을 나타냅니다.

로캘리제이션 테이블의 항목을 설정하려면 LocalizationTable:SetEntries()를 사용할 수 있습니다.

배열의 각 사전에는 다음 필드가 포함됩니다:


<th>유형</th>
<th>설명</th>
</tr>
</thead>
<tbody>
<tr>
<td>
<b>키</b>
</td>
<td><code>라이브러리.string</code></td><td>지역화 테이블의 특정 항목에 대한 조회 키입니다.</td>
</tr>
<tr>
<td>
<b>소스</b>
</td>
<td><code>라이브러리.string</code></td><td>지역화된 문자열을 형식화하는 데 사용되는 문자열입니다. 키가 제공되지 않으면 조회로 사용됩니다.</td>
</tr>
<tr>
<td>
<b>컨텍스트</b>
</td>
<td><code>Library.string</code></td><td>An <code>Class.Instance:GetFullName()</code> 로컬라이제이션 테이블을 생성하는 데 사용된 개체의 경로키가 제공되지 않으면 조회로 사용됩니다.</td>
</tr>
<tr>
<td>
<b>예제</b>
</td>
<td><code>Library.string</code></td><td>로컬라이제이션형식화하는 데 사용되는 문자열. 선택적입니다.</td>
</tr>
<tr>
<td>
<b>값</b>
</td>
<td><code>사전</code></td><td>이 지역화 항목에 대한 언어 번역 사전.이 사전의 키는 로캘 ID이며 값은 로캘 ID에 해당하는 언어에 대한 지역화를 적용하는 데 사용되는 문자열입니다.</td>
</tr>
</tbody>
인덱스

반환

각 사전이 지역화 데이터의 항목을 나타내는 배열입니다. An array of dictionaries, where each dictionary represents an entry of localization data.

코드 샘플

The following code sample creates a LocalizationTable, sets its entries, then gets and displays its entries. In order for this example to work, a LocalizationTable instance must be located inside the LocalizationService service.

The entries variable is a table of dictionaries, each with the format required to create a LocalizationTable with LocalizationTable:SetEntries().

The get_results variable is a table of dictionaries - the same table that we created with the entries variable. We then loop through each of the tables in this dictionary to display its Values/strings.

Using a LocalizationTable

local LocalizationService = game:GetService("LocalizationService")
local localizationTable = LocalizationService:FindFirstChild("LocalizationTable")
local entries = {
{
["Key"] = "0001",
["Source"] = "en-us",
["Values"] = {
["0001"] = "Hello Muddah, hello Fadduh.",
["0002"] = "Here I am at Camp Granada.",
["0003"] = "Camp is very entertaining.",
["0004"] = "And they say we'll have some fun if it stops raining.",
},
},
}
localizationTable:SetEntries(entries)
local get_results = localizationTable:GetEntries()
for _index, dict in pairs(get_results) do
for _key, value in pairs(dict["Values"]) do -- Loop through every key, value pair in the dictionary to print our strings
print(value)
end
end

GetTranslator

지정된 언어로 이 지역화 테이블의 항목에 대해 Translator를 반환합니다.번역기는 먼저 이 테이블을 검색한 다음 조상 테이블을 찾습니다.

매개 변수

localeId: string
기본값: ""

반환

RemoveEntry

()

지정된 key , sourcecontext 를 사용하여 지역화 테이블에서 특정 항목을 제거하고, 특정 항목을 제거할 수 있도록 좁힙니다.

매개 변수

key: string
기본값: ""
source: string
기본값: ""
context: string
기본값: ""

반환

()

RemoveEntryValue

()

제공된 key, source, contextlocaleId을 사용하여 지역화 테이블에서 단일 언어 번역을 제거하고, 특정 항목을 제거할 수 있도록 좁힙니다.

매개 변수

key: string
기본값: ""
source: string
기본값: ""
context: string
기본값: ""
localeId: string
기본값: ""

반환

()

RemoveTargetLocale

()

지정된 로캘 ID로 로컬화 테이블에서 모든 번역을 제거합니다.

매개 변수

localeId: string
기본값: ""

반환

()

SetEntries

()

LocalizationTable의 콘텐츠를 설정합니다.

항목 매개 변수는 LocalizationTable:GetEntries() 함수에서 반환된 것과 동일한 형식의 사전 배열이어야 합니다.

매개 변수

entries: Variant
기본값: ""

반환

()

SetEntryContext

()

LocalizationTable 항목의 컨텍스트 필드를 newContext , key , sourcecontext 를 사용하여 지정된 을 사용하여 변경 내용이 적용될 항목을 좁힙니다.

매개 변수

key: string
기본값: ""
source: string
기본값: ""
context: string
기본값: ""
newContext: string
기본값: ""

반환

()

SetEntryExample

()

LocalizationTable 항목의 예제 필드를 사용하여 지정된 example , key , sourcecontext 를 사용하여 적용될 변경 내용이 있는 항목을 줄이십시오.

매개 변수

key: string
기본값: ""
source: string
기본값: ""
context: string
기본값: ""
example: string
기본값: ""

반환

()

SetEntryKey

()

LocalizationTable 항목의 필드를 사용하여 지정된 newKey , key , sourcecontext 를 사용하여 적용될 변경 내용이 있는 항목을 좁히십시오.

매개 변수

key: string
기본값: ""
source: string
기본값: ""
context: string
기본값: ""
newKey: string
기본값: ""

반환

()

SetEntrySource

()

LocalizationTable 항목의 원본 필드를 사용하여 지정된 , , 및 을 사용하여 적용될 변경 내용이 있는 항목을 좁힙니다.

매개 변수

key: string
기본값: ""
source: string
기본값: ""
context: string
기본값: ""
newSource: string
기본값: ""

반환

()

SetEntryValue

()

지정된 로캘ID의 텍스트를 로컬화 테이블 항목에 설정하여 key , sourcecontext 를 사용하여 적용될 항목을 좁힙니다.

매개 변수

key: string
기본값: ""
source: string
기본값: ""
context: string
기본값: ""
localeId: string
기본값: ""
text: string
기본값: ""

반환

()

이벤트