Language detection

class oceanai.modules.core.language.Language(lang: str = 'ru')[source]

Bases: object

Class for internationalization (I18N) and localization (L10N)

Parameters:

lang (str) – Language

__get_languages() List[str | None]

Get supported languages

Note

private method

Returns:

List of supported languages

Return type:

List[Optional[str]]

Example

True – 1 –

In [1]:
1from oceanai.modules.core.language import Language
2
3language = Language(lang = 'en')
4language._Language__get_languages()
[1]:
1['ru', 'en']
__get_locales() Dict[str, MethodType]

Get language packs

Note

private method

Returns:

Dictionary with language packs

Return type:

Dict[str, MethodType]

Example

True – 1 –

In [1]:
1from oceanai.modules.core.language import Language
2
3language = Language(lang = 'en')
4language._Language__get_locales()
[1]:
1{
2    'ru': <bound method GNUTranslations.gettext of <gettext.GNUTranslations object at 0x14680ce50>>,
3    'en': <bound method GNUTranslations.gettext of <gettext.GNUTranslations object at 0x1460ddbb0>>
4}
__set_locale(lang: str = '') MethodType

Language setting

Note

private method

Parameters:

lang (str) – Language

Returns:

MethodType of translating strings into one of the supported languages if the method is launched via the constructor

Return type:

MethodType

Examples

True – 1 –

In [1]:
1from oceanai.modules.core.language import Language
2
3language = Language(lang = 'ru')
4print(language.lang_)
[1]:
1ru

– 2 –

In [2]:
1from oceanai.modules.core.language import Language
2
3language = Language(lang = 'ru')
4language._Language__set_locale('en')
5print(language.lang_)
[2]:
1en
lang: str = 'ru'

Language options available:

  • "ru" - Russian language (default)

  • "en" - English language

Examples

True – 1 –

In [1]:
1from oceanai.modules.core.language import Language
2
3language = Language()
4print(language.lang, language.lang_)
[1]:
1ru ru

– 2 –

In [2]:
1from oceanai.modules.core.language import Language
2
3language = Language(lang = 'ru')
4print(language.lang, language.lang_)
[2]:
1ru ru

– 3 –

In [3]:
1from oceanai.modules.core.language import Language
2
3language = Language(lang = 'en')
4print(language.lang, language.lang_)
[3]:
1en en

Better not to do that – 1 –

In [4]:
1from oceanai.modules.core.language import Language
2
3language = Language(lang = 'es')
4print(language.lang, language.lang_)
[4]:
1es ru

– 2 –

In [5]:
1from oceanai.modules.core.language import Language
2
3language = Language(lang = 1)
4print(language.lang, language.lang_)
[5]:
11 ru
Type:

str

property lang_: str

Getting the current language

Returns:

Language

Return type:

str

Examples

True – 1 –

In [1]:
1from oceanai.modules.core.language import Language
2
3language = Language()
4print(language.lang_)
[1]:
1ru

– 2 –

In [2]:
1from oceanai.modules.core.language import Language
2
3language = Language(lang = 'ru')
4print(language.lang_)
[2]:
1ru

– 3 –

In [3]:
1from oceanai.modules.core.language import Language
2
3language = Language(lang = 'en')
4print(language.lang_)
[3]:
1en

Better not to do that – 1 –

In [4]:
1from oceanai.modules.core.language import Language
2
3language = Language(lang = 'es')
4print(language.lang_)
[4]:
1ru

– 2 –

In [5]:
1from oceanai.modules.core.language import Language
2
3language = Language(lang = 1)
4print(language.lang_)
[5]:
1ru
property locales_: List[str]

Get supported languages

Returns:

List of supported languages

Return type:

List[str]

Example

True – 1 –

In [1]:
1from oceanai.modules.core.language import Language
2
3language = Language(lang = 'en')
4print(language.locales_)
[1]:
1['ru', 'en']
property path_to_locales_: str

Get directory with language packs

Returns:

Directory with language packs

Return type:

str

Example

True – 1 –

In [1]:
1from oceanai.modules.core.language import Language
2
3language = Language(lang = 'en')
4# Each user has their own path
5print(language.path_to_locales_)
[1]:
1/Users/dl/GitHub/OCEANAI/oceanai/modules/locales