From 28ddfe39a2ce0c403f6535a53d9e2bb692b161cc Mon Sep 17 00:00:00 2001 From: janezd Date: Mon, 2 Sep 2024 17:13:25 +0200 Subject: [PATCH 1/7] Setup: Add translation if trubar is available --- setup.py | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/setup.py b/setup.py index 8a5fe8c9..414ee040 100755 --- a/setup.py +++ b/setup.py @@ -1,5 +1,9 @@ #! /usr/bin/env python +import os + from setuptools import setup, find_packages +from setuptools.command.install import install + NAME = "orange-canvas-core" VERSION = "0.2.3.dev0" @@ -62,6 +66,25 @@ PYTHON_REQUIRES = ">=3.8" + +class InstallMultilingualCommand(install): + def run(self): + super().run() + self.compile_to_multilingual() + + def compile_to_multilingual(self): + try: + from trubar import translate + except ImportError: + return + + package_dir = os.path.dirname(os.path.abspath(__file__)) + translate( + "msgs.jaml", + source_dir=os.path.join(self.install_lib, "orangecanvas"), + config_file=os.path.join(package_dir, "i18n", "trubar-config.yaml")) + + if __name__ == "__main__": setup( name=NAME, @@ -76,6 +99,9 @@ packages=PACKAGES, package_data=PACKAGE_DATA, install_requires=INSTALL_REQUIRES, + cmdclass={ + 'install': InstallMultilingualCommand, + }, extras_require=EXTRAS_REQUIRE, project_urls=PROJECT_URLS, python_requires=PYTHON_REQUIRES, From 859470f5400039c597e6b11aed514fd8b74754f0 Mon Sep 17 00:00:00 2001 From: Marko Toplak Date: Fri, 20 Sep 2024 09:51:49 +0200 Subject: [PATCH 2/7] Make trubar a setup dependency --- setup.py | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/setup.py b/setup.py index 414ee040..9e1dbdcc 100755 --- a/setup.py +++ b/setup.py @@ -73,10 +73,7 @@ def run(self): self.compile_to_multilingual() def compile_to_multilingual(self): - try: - from trubar import translate - except ImportError: - return + from trubar import translate package_dir = os.path.dirname(os.path.abspath(__file__)) translate( @@ -98,6 +95,7 @@ def compile_to_multilingual(self): license=LICENSE, packages=PACKAGES, package_data=PACKAGE_DATA, + setup_requires=["trubar>=0.3.3"], install_requires=INSTALL_REQUIRES, cmdclass={ 'install': InstallMultilingualCommand, From 1e1cd37dd944aa5efa6636c2653f8942f841c323 Mon Sep 17 00:00:00 2001 From: Marko Toplak Date: Fri, 20 Sep 2024 10:02:13 +0200 Subject: [PATCH 3/7] Require Python>=3.9 --- .github/workflows/run-docs-build.yml | 2 +- .github/workflows/run-tests-workflow.yml | 10 +++------- setup.py | 2 +- 3 files changed, 5 insertions(+), 9 deletions(-) diff --git a/.github/workflows/run-docs-build.yml b/.github/workflows/run-docs-build.yml index 06bfa8fb..29ab62cd 100644 --- a/.github/workflows/run-docs-build.yml +++ b/.github/workflows/run-docs-build.yml @@ -16,7 +16,7 @@ jobs: matrix: include: - os: ubuntu-20.04 - python: "3.8" + python: "3.9" steps: - uses: actions/checkout@v4 diff --git a/.github/workflows/run-tests-workflow.yml b/.github/workflows/run-tests-workflow.yml index e39b2224..eb3873ca 100644 --- a/.github/workflows/run-tests-workflow.yml +++ b/.github/workflows/run-tests-workflow.yml @@ -18,13 +18,9 @@ jobs: include: # Linux - os: ubuntu-20.04 - python-version: 3.8 + python-version: 3.9 test-env: "PyQt5~=5.12.0" - - os: ubuntu-20.04 - python-version: 3.8 - test-env: "PyQt5~=5.15.0" - - os: ubuntu-20.04 python-version: 3.9 test-env: "PyQt5~=5.14.0" @@ -53,7 +49,7 @@ jobs: # macOS - os: macos-12 - python-version: 3.8 + python-version: 3.9 test-env: "PyQt5~=5.12.0" - os: macos-12 @@ -82,7 +78,7 @@ jobs: # Windows - os: windows-2019 - python-version: 3.8 + python-version: 3.9 test-env: "PyQt5~=5.12.0" - os: windows-2019 diff --git a/setup.py b/setup.py index 9e1dbdcc..a39b9807 100755 --- a/setup.py +++ b/setup.py @@ -64,7 +64,7 @@ "Documentation": "https://orange-canvas-core.readthedocs.io/en/latest/", } -PYTHON_REQUIRES = ">=3.8" +PYTHON_REQUIRES = ">=3.9" class InstallMultilingualCommand(install): From 7cddc64f43242da7c893a363503742ab31b2be00 Mon Sep 17 00:00:00 2001 From: Marko Toplak Date: Fri, 20 Sep 2024 10:12:27 +0200 Subject: [PATCH 4/7] update rtd version --- .readthedocs.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.readthedocs.yml b/.readthedocs.yml index 3917de26..95889b0c 100644 --- a/.readthedocs.yml +++ b/.readthedocs.yml @@ -3,7 +3,7 @@ version: 2 build: os: ubuntu-22.04 tools: - python: "3.8" + python: "3.9" python: install: From e09d0a312abca06b5499c9848a6c1e543c2255a9 Mon Sep 17 00:00:00 2001 From: Marko Toplak Date: Fri, 20 Sep 2024 10:34:15 +0200 Subject: [PATCH 5/7] Update to sphinx 7.4 --- docs/requirements-rtd.txt | 4 ++-- docs/source/conf.py | 6 +++--- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/docs/requirements-rtd.txt b/docs/requirements-rtd.txt index 53aff798..eaf976ae 100644 --- a/docs/requirements-rtd.txt +++ b/docs/requirements-rtd.txt @@ -1,7 +1,7 @@ --only-binary PyQt5,numpy setuptools -sphinx~=4.2.0 +sphinx~=7.4.7 sphinx-rtd-theme PyQt5 AnyQt @@ -9,4 +9,4 @@ AnyQt # sphinx pins docutils version, but the installation in the RTD worker/config # overrides it because docutils is also in our dependencies. # https://docs.readthedocs.io/en/stable/faq.html#i-need-to-install-a-package-in-a-environment-with-pinned-versions --e . \ No newline at end of file +-e . diff --git a/docs/source/conf.py b/docs/source/conf.py index cf26be9c..50919559 100644 --- a/docs/source/conf.py +++ b/docs/source/conf.py @@ -46,7 +46,7 @@ # The suffix(es) of source filenames. # You can specify multiple suffix as a list of string: # source_suffix = ['.rst', '.md'] -source_suffix = '.rst' +source_suffix = {'.rst': 'restructuredtext'} # The encoding of source files. #source_encoding = 'utf-8-sig' @@ -73,7 +73,7 @@ # # This is also used if you do content translation via gettext catalogs. # Usually you set "language" from the command line for these cases. -language = None +language = "en" # There are two options for replacing |today|: either, you set today to some # non-false value, then it is used: @@ -296,4 +296,4 @@ # Example configuration for intersphinx: refer to the Python standard library. -intersphinx_mapping = {'https://docs.python.org/': None} +intersphinx_mapping = {'python': ('https://docs.python.org/3', None)} From f3b3648db09df5f1a1e4e000c44cbc601ebf6402 Mon Sep 17 00:00:00 2001 From: janezd Date: Fri, 20 Sep 2024 12:01:15 +0200 Subject: [PATCH 6/7] Resolve missing translations --- i18n/si/msgs.jaml | 69 ++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 68 insertions(+), 1 deletion(-) diff --git a/i18n/si/msgs.jaml b/i18n/si/msgs.jaml index 7b3603e1..775b0fe9 100644 --- a/i18n/si/msgs.jaml +++ b/i18n/si/msgs.jaml @@ -365,6 +365,7 @@ application/application.py: -style: false styleHints: false setShowShortcutsInContextMenus: false + QMessageBox: false def `argumentParser`: -style: false -colortheme: false @@ -3653,7 +3654,7 @@ utils/localization/__init__.py: i18n: false .json: false 'Invalid language file ': false - English: null + English: false def `language_changed`: application/language: false application/last-used-language: false @@ -3673,3 +3674,69 @@ utils/localization/__init__.py: def `c`: : false eval: false +utils/localization/si.py: + def `plsi`: + '|': false + a: false + i: false + e: false + ov: false + def `plsi_sz`: + {n:_}: false + _: false + 1: false + z: false + zszzzzsssssssssszzzzzz: false + s: false + 0: false + zzzssssszz: false + def `z_besedo`: + nič: false + m: false + en: false + enega: false + enemu: false + enem: false + enim: false + f: false + ena: false + ene: false + eni: false + eno: false + n: false + dva: false + dveh: false + dvema: false + dve: false + tri: false + treh: false + trem: false + tremi: false + štiri: false + štirih: false + štirim: false + štirimi: false + pet: false + petih: false + petim: false + petimi: false + šest: false + šestih: false + šestim: false + šestimi: false + sedem: false + sedmih: false + sedmim: false + sedmimi: false + osem: false + osmih: false + osmim: false + osmimi: false + devet: false + devetih: false + devetim: false + devetimi: false + deset: false + desetih: false + desetim: false + desetimi: false From 1d92da3839afcf5de67da398eb35c4b14a9428b2 Mon Sep 17 00:00:00 2001 From: janezd Date: Fri, 20 Sep 2024 12:20:52 +0200 Subject: [PATCH 7/7] Add pyproject.toml with build dependencies --- pyproject.toml | 3 +++ setup.py | 1 - 2 files changed, 3 insertions(+), 1 deletion(-) create mode 100644 pyproject.toml diff --git a/pyproject.toml b/pyproject.toml new file mode 100644 index 00000000..f5bf2329 --- /dev/null +++ b/pyproject.toml @@ -0,0 +1,3 @@ +[build-system] +requires = ["setuptools", "wheel", "trubar>=0.3.3"] +build-backend = "setuptools.build_meta" diff --git a/setup.py b/setup.py index a39b9807..9e8cb38c 100755 --- a/setup.py +++ b/setup.py @@ -95,7 +95,6 @@ def compile_to_multilingual(self): license=LICENSE, packages=PACKAGES, package_data=PACKAGE_DATA, - setup_requires=["trubar>=0.3.3"], install_requires=INSTALL_REQUIRES, cmdclass={ 'install': InstallMultilingualCommand,