> ## Documentation Index
> Fetch the complete documentation index at: https://docs.abbyy.com/llms.txt
> Use this file to discover all available pages before exploring further.

# CreateCompoundTextLanguage Method of the LanguageDatabase Object

This method creates the [TextLanguage](/fine-reader/engine/api-reference/language-related-objects/textlanguage) object of one or more custom languages included in the [LanguageDatabase](/fine-reader/engine/api-reference/language-related-objects/languagedatabase). The TextLanguage object specifies the recognition language for a text.

<Note>
  Custom languages can be created in ABBYY FineReader Engine for Windows using Visual Components.
</Note>

## Syntax

### C++

```cpp theme={null}
HRESULT CreateCompoundTextLanguage(
  BSTR            LanguageName,
  ITextLanguage** Result
);
```

### C\#

```csharp theme={null}
ITextLanguage CreateCompoundTextLanguage( string LanguageNames );
```

### Visual Basic .NET

```vb theme={null}
Function CreateCompoundTextLanguage(LanguageNames As String) As ITextLanguage
```

## Parameters

LanguageName

\[in] This parameter specifies the name of the language that is included in the language database. This parameter may contain several language names separated with commas. When creating custom languages in Windows using Visual Components, give them names consisting of letters and digits and do not use names that include punctuation marks (!@#\$%^&\*(), etc.). After a language was given a name consisting of letters and digits, it appears for the LanguageDatabase object prefixed with the @ symbol. For example, to retrieve the TextLanguage for a user-defined language named "MyLanguage1", you should pass here the string "@MyLanguage1". For example, "@MyLanguage1,@MyLanguage2,English".

<Warning>
  Visual Components are currently only supported for Windows.
</Warning>

Result

\[out, retval] A pointer to the ITextLanguage\* pointer variable that receives the interface pointer of the [TextLanguage](/fine-reader/engine/api-reference/language-related-objects/textlanguage) object. \*Result should not be NULL. \*Result is guaranteed to be non-NULL after successful method call.

## Return values

This method has no specific return values. It returns the [standard return values of ABBYY FineReader Engine functions](/fine-reader/engine/api-reference/return-codes).

## Remarks

The language database must contain languages with all internal names that you pass to this function; otherwise, an error code is returned. The resulting TextLanguage object will have attributes of all the custom languages put together.

## See also

[LanguageDatabase](/fine-reader/engine/api-reference/language-related-objects/languagedatabase)
