Revision 33097569
Added by koszko over 1 year ago
.gitignore | ||
---|---|---|
10 | 10 |
*.pyc |
11 | 11 |
setuptools |
12 | 12 |
src/hydrilla/builder/_version.py |
13 |
src/hydrilla/locales/hydrilla_builder.pot |
|
14 |
hydrilla_builder.mo |
|
13 |
src/hydrilla/builder/locales/messages.pot |
|
14 |
messages.mo |
MANIFEST.in | ||
---|---|---|
5 | 5 |
# Available under the terms of Creative Commons Zero v1.0 Universal. |
6 | 6 |
|
7 | 7 |
include src/hydrilla/schemas/*.schema.json* |
8 |
include src/hydrilla/locales/*/LC_MESSAGES/hydrilla_builder.po
|
|
8 |
include src/hydrilla/builder/locales/*/LC_MESSAGES/messages.po
|
|
9 | 9 |
include src/test/source-package-example/* |
10 | 10 |
global-exclude .git .gitignore .gitmodules |
setup.cfg | ||
---|---|---|
39 | 39 |
# reuse |
40 | 40 |
|
41 | 41 |
[options.package_data] |
42 |
* = *.mo
|
|
42 |
hydrilla.builder = locales/*/LC_MESSAGES/messages.mo
|
|
43 | 43 |
|
44 | 44 |
[options.extras_require] |
45 | 45 |
test = pytest |
... | ... | |
58 | 58 |
keywords = _ |
59 | 59 |
width = 80 |
60 | 60 |
input_dirs = src/hydrilla |
61 |
output_file = src/hydrilla/locales/hydrilla_builder.pot
|
|
61 |
output_file = src/hydrilla/builder/locales/messages.pot
|
|
62 | 62 |
msgid_bugs_address = koszko@koszko.org |
63 | 63 |
sort_by_file = True |
64 | 64 |
copyright_holder = Wojtek Kosior <koszko@koszko.org> |
65 | 65 |
|
66 | 66 |
[init_catalog] |
67 |
input_file = src/hydrilla/locales/hydrilla_builder.pot
|
|
68 |
output_dir = src/hydrilla/locales/ |
|
69 |
domain = hydrilla_builder
|
|
67 |
input_file = src/hydrilla/builder/locales/messages.pot
|
|
68 |
output_dir = src/hydrilla/builder/locales/
|
|
69 |
domain = messages
|
|
70 | 70 |
|
71 | 71 |
[update_catalog] |
72 |
input_file = src/hydrilla/locales/hydrilla_builder.pot
|
|
73 |
output_dir = src/hydrilla/locales/ |
|
74 |
domain = hydrilla_builder
|
|
72 |
input_file = src/hydrilla/builder/locales/messages.pot
|
|
73 |
output_dir = src/hydrilla/builder/locales/
|
|
74 |
domain = messages
|
|
75 | 75 |
|
76 | 76 |
[compile_catalog] |
77 |
directory = src/hydrilla/locales |
|
77 |
directory = src/hydrilla/builder/locales
|
|
78 | 78 |
use_fuzzy = True |
79 |
domain = hydrilla_builder |
|
79 |
domain = messages |
src/hydrilla/builder/build.py | ||
---|---|---|
36 | 36 |
|
37 | 37 |
from .. import util |
38 | 38 |
|
39 |
_ = util.translation('hydrilla_builder').gettext |
|
39 |
here = Path(__file__).resolve().parent |
|
40 |
|
|
41 |
_ = util.translation(here / 'locales').gettext |
|
40 | 42 |
|
41 | 43 |
index_validator = util.validator_for('package_source-1.schema.json') |
42 | 44 |
|
src/hydrilla/builder/locales/en_US/LC_MESSAGES/messages.po | ||
---|---|---|
1 |
# SPDX-License-Identifier: CC0-1.0 |
|
2 |
# |
|
3 |
# English (United States) translations for hydrilla.builder. |
|
4 |
# Copyright (C) 2022 Wojtek Kosior <koszko@koszko.org> |
|
5 |
# Available under the terms of Creative Commons Zero v1.0 Universal. |
|
6 |
msgid "" |
|
7 |
msgstr "" |
|
8 |
"Project-Id-Version: hydrilla.builder 0.1.dev16+g4e46d7f.d20220211\n" |
|
9 |
"Report-Msgid-Bugs-To: koszko@koszko.org\n" |
|
10 |
"POT-Creation-Date: 2022-02-12 14:40+0100\n" |
|
11 |
"PO-Revision-Date: 2022-02-12 00:00+0000\n" |
|
12 |
"Last-Translator: Wojtek Kosior <koszko@koszko.org>\n" |
|
13 |
"Language: en_US\n" |
|
14 |
"Language-Team: en_US <koszko@koszko.org>\n" |
|
15 |
"Plural-Forms: nplurals=2; plural=(n != 1)\n" |
|
16 |
"MIME-Version: 1.0\n" |
|
17 |
"Content-Type: text/plain; charset=utf-8\n" |
|
18 |
"Content-Transfer-Encoding: 8bit\n" |
|
19 |
"Generated-By: Babel 2.8.0\n" |
|
20 |
|
|
21 |
#: src/hydrilla/builder/build.py:107 |
|
22 |
msgid "couldnt_import_reuse_is_it_installed" |
|
23 |
msgstr "" |
|
24 |
"Could not import 'reuse'. Is the tool installed and visible to this " |
|
25 |
"Python instance?" |
|
26 |
|
|
27 |
#: src/hydrilla/builder/build.py:112 |
|
28 |
msgid "spdx_report_from_reuse_incompliant" |
|
29 |
msgstr "Attempt to generate an SPDX report for a REUSE-incompliant package." |
|
30 |
|
|
31 |
#: src/hydrilla/builder/build.py:196 |
|
32 |
msgid "loading_{}_outside_package_dir" |
|
33 |
msgstr "Attempt to load '{}' which lies outside package source directory." |
|
34 |
|
|
35 |
#: src/hydrilla/builder/build.py:200 |
|
36 |
msgid "loading_reserved_index_json" |
|
37 |
msgstr "Attempt to load 'index.json' which is a reserved filename." |
|
38 |
|
|
39 |
#: src/hydrilla/builder/build.py:314 |
|
40 |
msgid "report_spdx_not_in_copyright_list" |
|
41 |
msgstr "" |
|
42 |
"Told to generate 'report.spdx' but 'report.spdx' is not listed among " |
|
43 |
"copyright files. Refusing to proceed." |
|
44 |
|
|
45 |
#: src/hydrilla/builder/build.py:386 |
|
46 |
msgid "source_directory_to_build_from" |
|
47 |
msgstr "Source directory to build from." |
|
48 |
|
|
49 |
#: src/hydrilla/builder/build.py:388 |
|
50 |
msgid "path_instead_of_index_json" |
|
51 |
msgstr "" |
|
52 |
"Path to file to be processed instead of index.json (if not absolute, " |
|
53 |
"resolved relative to srcdir)." |
|
54 |
|
|
55 |
#: src/hydrilla/builder/build.py:390 |
|
56 |
msgid "built_package_files_destination" |
|
57 |
msgstr "Destination directory to write built package files to." |
|
58 |
|
|
59 |
#: src/hydrilla/builder/build.py:396 |
|
60 |
msgid "build_package_from_srcdir_to_dstdir" |
|
61 |
msgstr "" |
|
62 |
"Build Hydrilla package from `scrdir` and write the resulting files under " |
|
63 |
"`dstdir`." |
|
64 |
|
|
65 |
#: src/hydrilla/util/_util.py:76 |
|
66 |
msgid "bad_comment" |
|
67 |
msgstr "bad comment" |
|
68 |
|
src/hydrilla/locales/en_US/LC_MESSAGES/hydrilla_builder.po | ||
---|---|---|
1 |
# SPDX-License-Identifier: CC0-1.0 |
|
2 |
# |
|
3 |
# English (United States) translations for hydrilla.builder. |
|
4 |
# Copyright (C) 2022 Wojtek Kosior <koszko@koszko.org> |
|
5 |
# Available under the terms of Creative Commons Zero v1.0 Universal. |
|
6 |
msgid "" |
|
7 |
msgstr "" |
|
8 |
"Project-Id-Version: hydrilla.builder 0.1.dev16+g4e46d7f.d20220211\n" |
|
9 |
"Report-Msgid-Bugs-To: koszko@koszko.org\n" |
|
10 |
"POT-Creation-Date: 2022-02-12 13:07+0100\n" |
|
11 |
"PO-Revision-Date: 2022-02-12 00:00+0000\n" |
|
12 |
"Last-Translator: Wojtek Kosior <koszko@koszko.org>\n" |
|
13 |
"Language: en_US\n" |
|
14 |
"Language-Team: en_US <koszko@koszko.org>\n" |
|
15 |
"Plural-Forms: nplurals=2; plural=(n != 1)\n" |
|
16 |
"MIME-Version: 1.0\n" |
|
17 |
"Content-Type: text/plain; charset=utf-8\n" |
|
18 |
"Content-Transfer-Encoding: 8bit\n" |
|
19 |
"Generated-By: Babel 2.8.0\n" |
|
20 |
|
|
21 |
#: src/hydrilla/builder/build.py:105 |
|
22 |
msgid "couldnt_import_reuse_is_it_installed" |
|
23 |
msgstr "" |
|
24 |
"Could not import 'reuse'. Is the tool installed and visible to this " |
|
25 |
"Python instance?" |
|
26 |
|
|
27 |
#: src/hydrilla/builder/build.py:110 |
|
28 |
msgid "spdx_report_from_reuse_incompliant" |
|
29 |
msgstr "Attempt to generate an SPDX report for a REUSE-incompliant package." |
|
30 |
|
|
31 |
#: src/hydrilla/builder/build.py:194 |
|
32 |
msgid "loading_{}_outside_package_dir" |
|
33 |
msgstr "Attempt to load '{}' which lies outside package source directory." |
|
34 |
|
|
35 |
#: src/hydrilla/builder/build.py:198 |
|
36 |
msgid "loading_reserved_index_json" |
|
37 |
msgstr "Attempt to load 'index.json' which is a reserved filename." |
|
38 |
|
|
39 |
#: src/hydrilla/builder/build.py:312 |
|
40 |
msgid "report_spdx_not_in_copyright_list" |
|
41 |
msgstr "" |
|
42 |
"Told to generate 'report.spdx' but 'report.spdx' is not listed among " |
|
43 |
"copyright files. Refusing to proceed." |
|
44 |
|
|
45 |
#: src/hydrilla/builder/build.py:384 |
|
46 |
msgid "source_directory_to_build_from" |
|
47 |
msgstr "Source directory to build from." |
|
48 |
|
|
49 |
#: src/hydrilla/builder/build.py:386 |
|
50 |
msgid "path_instead_of_index_json" |
|
51 |
msgstr "" |
|
52 |
"Path to file to be processed instead of index.json (if not absolute, " |
|
53 |
"resolved relative to srcdir)." |
|
54 |
|
|
55 |
#: src/hydrilla/builder/build.py:388 |
|
56 |
msgid "built_package_files_destination" |
|
57 |
msgstr "Destination directory to write built package files to." |
|
58 |
|
|
59 |
#: src/hydrilla/builder/build.py:394 |
|
60 |
msgid "build_package_from_srcdir_to_dstdir" |
|
61 |
msgstr "" |
|
62 |
"Build Hydrilla package from `scrdir` and write the resulting files under " |
|
63 |
"`dstdir`." |
|
64 |
|
|
65 |
#: src/hydrilla/util/_util.py:76 |
|
66 |
msgid "bad_comment" |
|
67 |
msgstr "bad comment" |
|
68 |
|
src/hydrilla/util/_util.py | ||
---|---|---|
30 | 30 |
import gettext |
31 | 31 |
|
32 | 32 |
from pathlib import Path |
33 |
from typing import Optional |
|
33 |
from typing import Optional, Union
|
|
34 | 34 |
|
35 | 35 |
from jsonschema import RefResolver, Draft7Validator |
36 | 36 |
|
... | ... | |
130 | 130 |
return Draft7Validator(resolver.resolve(schema_filename)[1], |
131 | 131 |
resolver=resolver) |
132 | 132 |
|
133 |
def translation(domain: str, lang: Optional[str]=None): |
|
133 |
def translation(localedir: Union[Path, str], lang: Optional[str]=None) \ |
|
134 |
-> gettext.GNUTranslations: |
|
134 | 135 |
""" |
135 |
Configure translation and return the object that represents it. |
|
136 |
Configure translations for domain 'messages' and return the object that |
|
137 |
represents them. |
|
136 | 138 |
|
137 | 139 |
If `lang` is set, look for translations for `lang`. Otherwise, try to |
138 | 140 |
determine system's default language and use that. |
... | ... | |
146 | 148 |
except: |
147 | 149 |
lang = locale.getdefaultlocale()[0] or 'C' |
148 | 150 |
|
149 |
return gettext.translation( |
|
150 |
domain, |
|
151 |
localedir=(here.parent / 'locales'), |
|
152 |
languages=[lang, 'en_US'] |
|
153 |
) |
|
151 |
return gettext.translation('messages', localedir=localedir, |
|
152 |
languages=[lang, 'en_US']) |
|
154 | 153 |
|
155 |
_ = translation('hydrilla_builder').gettext |
|
154 |
_ = translation(here.parent / 'builder' / 'locales').gettext |
Also available in: Unified diff
move locales under builder/