45 lines
		
	
	
		
			No EOL
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Python
		
	
	
		
			Executable file
		
	
	
	
	
			
		
		
	
	
			45 lines
		
	
	
		
			No EOL
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Python
		
	
	
		
			Executable file
		
	
	
	
	
| # Setup parameters.
 | |
| #RESOURCE = "./localization/rssguard_en.ts"
 | |
| #CODES = "cs da de en_GB en_US es fi fr gl he id it ja lt nl pl pt_BR pt_PT ru sv uk zh_CN zh_TW"
 | |
| #TRANSLATION = './localization/rssguard_$CODE.ts'
 | |
| 
 | |
| 
 | |
| import sys
 | |
| import os
 | |
| import urllib
 | |
| 
 | |
| from transifex.api import transifex_api
 | |
| from pprint import pprint
 | |
| 
 | |
| # Read API token.
 | |
| api_token = sys.argv[1]
 | |
| 
 | |
| print("API token: {}".format(api_token))
 | |
| 
 | |
| transifex_api.setup(auth = api_token)
 | |
| 
 | |
| # Constants.
 | |
| org_slug = "martinrotter"
 | |
| proj_slug = "rssguard"
 | |
| translation_file = os.path.normpath("./localization/rssguard_{}.ts")
 | |
| 
 | |
| # Organization/project.
 | |
| organization = transifex_api.Organization.get(slug = org_slug)
 | |
| project = organization.fetch('projects').get(slug = proj_slug)
 | |
| resource = project.fetch('resources').get(slug = proj_slug)
 | |
| languages = project.fetch('languages')
 | |
| 
 | |
| # Upload resource file.
 | |
| with open(translation_file.format("en"), "r", encoding = "utf-8") as file:
 | |
|   print("Uploading resource...")
 | |
|   
 | |
|   resource_data = file.read()
 | |
|   transifex_api.ResourceStringsAsyncUpload.upload(resource_data, resource = resource)
 | |
| 
 | |
| # Download translations.
 | |
| for lang in languages:
 | |
|   print("Downloading {} translation...".format(lang.code))
 | |
| 
 | |
|   url = transifex_api.ResourceTranslationsAsyncDownload.download(resource = resource, language = lang)
 | |
|   target_path = translation_file.format(lang.code)
 | |
|   urllib.request.urlretrieve(url, target_path) |