MultiLang

Форк
0
55 строк · 1.5 Кб
1
""" This tool allows generation of gettext .mo compiled files, pot files from source code files
2
and pot files for merging.
3

4
Three new builders are added into the constructed environment:
5

6
- gettextMoFile: generates .mo file from .pot file using msgfmt.
7
- gettextPotFile: Generates .pot file from source code files.
8
- gettextMergePotFile: Creates a .pot file appropriate for merging into existing .po files.
9

10
To properly configure get text, define the following variables:
11

12
- gettext_package_bugs_address
13
- gettext_package_name
14
- gettext_package_version
15

16

17
"""
18
from SCons.Action import Action
19

20

21
def exists(env):
22
	return True
23

24

25
XGETTEXT_COMMON_ARGS = (
26
	"--msgid-bugs-address='$gettext_package_bugs_address' "
27
	"--package-name='$gettext_package_name' "
28
	"--package-version='$gettext_package_version' "
29
	"--keyword=pgettext:1c,2 "
30
	"-c -o $TARGET $SOURCES"
31
)
32

33

34
def generate(env):
35
	env.SetDefault(gettext_package_bugs_address="example@example.com")
36
	env.SetDefault(gettext_package_name="")
37
	env.SetDefault(gettext_package_version="")
38

39
	env['BUILDERS']['gettextMoFile'] = env.Builder(
40
		action=Action("msgfmt -o $TARGET $SOURCE", "Compiling translation $SOURCE"),
41
		suffix=".mo",
42
		src_suffix=".po"
43
	)
44

45
	env['BUILDERS']['gettextPotFile'] = env.Builder(
46
		action=Action("xgettext " + XGETTEXT_COMMON_ARGS, "Generating pot file $TARGET"),
47
		suffix=".pot")
48

49
	env['BUILDERS']['gettextMergePotFile'] = env.Builder(
50
		action=Action(
51
			"xgettext " + "--omit-header --no-location " + XGETTEXT_COMMON_ARGS,
52
			"Generating pot file $TARGET"
53
		),
54
		suffix=".pot"
55
	)
56

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.