Unverified Commit 6e4f708b authored by dmMaze's avatar dmMaze Committed by GitHub
Browse files

Merge pull request #318 from bropines/PS-import-script

Rewrite russian readme, add Export from BT to Photoshop and add some features to deepl translator
parents f9835ca0 3199d848
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -223,3 +223,4 @@ Available translators: Google, DeepL, ChatGPT, Sugoi, Caiyun, Baidu. Papago, and
* Accelarate performance if you have a [NVIDIA's CUDA](https://pytorch.org/docs/stable/notes/cuda.html) or [AMD's ROCm](https://pytorch.org/docs/stable/notes/hip.html) device as most modules uses [PyTorch](https://pytorch.org/get-started/locally/).
* Fonts are from your system's fonts.
* Thanks to [bropines](https://github.com/bropines) for the Russian localization.
* Added Export to photoshop JSX script by [bropines](https://github.com/bropines). </br> To read the instructions, improve the code and just poke around to see how it works, you can go to `scripts/export to photoshop` -> `install_manual.md`.
+170 −94

File changed.

Preview size limit exceeded, changes collapsed.

+49 −3
Original line number Diff line number Diff line
from .base import *
import deepl


@register_translator('DeepL')
class DeeplTranslator(BaseTranslator):

@@ -9,8 +10,41 @@ class DeeplTranslator(BaseTranslator):
    params: Dict = {
        'api_key': '',
        'delay': 0.0,
        'formality': {
            'type': 'selector',
            'options': [
                'less',
                'more',
                'default',
                'prefer_more',
                'prefer_less'
            ],
            'select': 'default'
        },
        'context': {
            'type': 'editor',
            'content': ''  
        },
        'preserve_formatting': {
            'type': 'selector',
            'options': ['enabled', 'disabled'],
            'select': 'disabled' 
        }
    }


    @property
    def preserve_formatting(self) -> bool:
        return self.params['preserve_formatting']['select'] == 'enabled'

    @property
    def context(self) -> str:
        return self.params['context']['content']

    @property
    def formality(self) -> str:
        return self.params['formality']['select']

    def _setup_translator(self):
        self.lang_map['简体中文'] = 'zh'
        self.lang_map['日本語'] = 'ja'
@@ -44,9 +78,21 @@ class DeeplTranslator(BaseTranslator):
    def _translate(self, src_list: List[str]) -> List[str]:
        api_key = self.params['api_key']
        translator = deepl.Translator(api_key)
        formality_selected = self.formality
        context_text = self.context
        preserve_formatting = self.preserve_formatting
        source = self.lang_map[self.lang_source]
        target = self.lang_map[self.lang_target]
        if source == 'EN-US':
            source = "EN"
        result = translator.translate_text(src_list, source_lang=source, target_lang=target)

        # Languages that support formality setting in DeepL
        languages_supporting_formality = {'de', 'fr', 'it', 'es', 'nl', 'pl', 'pt', 'pt-br', 'ru', 'ja'}

        # Check if the target language supports formality
        if target in languages_supporting_formality:
            result = translator.translate_text(src_list, source_lang=source, target_lang=target, formality=formality_selected, context=context_text, preserve_formatting=preserve_formatting)
        else:
            result = translator.translate_text(src_list, source_lang=source, target_lang=target, context=context_text, preserve_formatting=preserve_formatting)

        return [i.text for i in result]
 No newline at end of file
+1 −1
Original line number Diff line number Diff line
@@ -17,7 +17,7 @@ pyclipper
einops
termcolor
bs4
deepl
deepl>=1.16.0
qtpy
spacy-pkuseg
sentencepiece
+679 −0

File added.

Preview size limit exceeded, changes collapsed.

Loading