|
7 | 7 | import json
|
8 | 8 | import logging
|
9 | 9 | import os
|
| 10 | +from dataclasses import dataclass |
10 | 11 |
|
11 | 12 | import polib
|
12 | 13 | from dotenv import load_dotenv
|
@@ -99,14 +100,14 @@ def update_po_entry(po_file, original_text, translated_text):
|
99 | 100 | logging.warning("Original text '%s' not found in the .po file.", original_text)
|
100 | 101 |
|
101 | 102 |
|
| 103 | +@dataclass |
102 | 104 | class TranslationConfig:
|
103 | 105 | """ Class to hold configuration parameters for the translation service. """
|
104 |
| - def __init__(self, client, model, bulk_mode=False, fuzzy=False, folder_language=False): # pylint: disable=R0913 |
105 |
| - self.client = client |
106 |
| - self.model = model |
107 |
| - self.bulk_mode = bulk_mode |
108 |
| - self.fuzzy = fuzzy |
109 |
| - self.folder_language = folder_language |
| 106 | + client: object |
| 107 | + model: str |
| 108 | + bulk_mode: bool = False |
| 109 | + fuzzy: bool = False |
| 110 | + folder_language: bool = False |
110 | 111 |
|
111 | 112 |
|
112 | 113 | class TranslationService:
|
@@ -473,8 +474,14 @@ def main():
|
473 | 474 | else:
|
474 | 475 | detail_langs = [None] * len(lang_codes) # If no detailed language is provided, default to None
|
475 | 476 |
|
476 |
| - # Create a configuration object |
477 |
| - config = TranslationConfig(client, args.model, args.bulk, args.fuzzy, args.folder_language) |
| 477 | + # And in main(): |
| 478 | + config = TranslationConfig( |
| 479 | + client=client, |
| 480 | + model=args.model, |
| 481 | + bulk_mode=args.bulk, # Changed bulk to bulk_mode |
| 482 | + fuzzy=args.fuzzy, |
| 483 | + folder_language=args.folder_language |
| 484 | + ) |
478 | 485 |
|
479 | 486 | # Initialize the translation service with the configuration object
|
480 | 487 | translation_service = TranslationService(config, args.bulksize)
|
|
0 commit comments