Files
OldThink/Tools/ss14_ru/lokalise_project.py
HitPanda 50abbcee11 [Feat] Translates + translate tools (#260)
* autotranslate python script

* 8/52 translated

* autotranslate finished

* updated autotranslate script

* fixes

* updated tool

* once more updated tool

* more translates

* more translates

* fixes
2024-01-20 05:10:24 +03:00

34 lines
1.2 KiB
Python

import lokalise
import typing
from lokalisemodels import LokaliseKey
from pydash import py_
class LokaliseProject:
def __init__(self, project_id, personal_token):
self.project_id = project_id
self.personal_token = personal_token
self.client = lokalise.Client(self.personal_token)
def get_all_keys(self) -> typing.List[LokaliseKey]:
page = 1
keys = self.get_keys(page=page)
keys_items: typing.List[lokalise.client.KeyModel] = []
general_count = 0
while (general_count < keys.total_count):
general_count = general_count + len(keys.items)
keys_items = py_.flatten_depth(py_.concat(keys_items, keys.items), depth=1)
if (general_count == keys.total_count):
break
next_page = page = page + 1
keys = self.get_keys(page=next_page)
sorted_list = py_.sort(keys_items, key=lambda item: item.translations_modified_at_timestamp, reverse=True)
return list(map(lambda k: LokaliseKey(k), sorted_list))
def get_keys(self, page):
return self.client.keys(self.project_id, {'page': page, 'limit': 5000, 'include_translations': 1})