60 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			Python
		
	
	
			
		
		
	
	
			60 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			Python
		
	
	
#!/usr/bin/env python
 | 
						|
# coding:utf-8
 | 
						|
 | 
						|
import os
 | 
						|
import sys
 | 
						|
 | 
						|
curr_dir = os.path.split(os.path.abspath(__file__))[0]
 | 
						|
print("curr_dir = " + curr_dir)
 | 
						|
sys.path.append(os.path.join(curr_dir, "../"))
 | 
						|
sys.path.append(os.path.join(curr_dir, "../google_drive"))
 | 
						|
 | 
						|
from google_drive.google_sheet import GoogleSheetHelper
 | 
						|
 | 
						|
"""
 | 
						|
多语言表格读取类
 | 
						|
"""
 | 
						|
class multilingual_table:
 | 
						|
    def __init__(self, sheet_file_name, sheet_table_name):
 | 
						|
        sheet_helper = GoogleSheetHelper()
 | 
						|
        sheet = sheet_helper.get_sheet_table(sheet_file_name, sheet_table_name)
 | 
						|
        sheet_datas = sheet.get_all_values(major_dimension='ROWS')
 | 
						|
        self.multi_col_dict = {}
 | 
						|
        self.multi_language_dict = {}
 | 
						|
 | 
						|
        for i, row_values in enumerate(sheet_datas):
 | 
						|
            row = i + 1
 | 
						|
            if row < 3:
 | 
						|
                continue
 | 
						|
            if row == 3:
 | 
						|
                for j, cell_value in enumerate(row_values):
 | 
						|
                    col = j + 1
 | 
						|
                    self.multi_col_dict[col] = cell_value
 | 
						|
            if row > 3:
 | 
						|
                key = row_values[0]
 | 
						|
                language_item_dict = {}
 | 
						|
                for j, cell_value in enumerate(row_values):
 | 
						|
                    if j == 0:
 | 
						|
                        continue
 | 
						|
                    col = j + 1
 | 
						|
                    language_item_dict[self.multi_col_dict[col]] = cell_value
 | 
						|
                self.multi_language_dict[key] = language_item_dict
 | 
						|
 | 
						|
 | 
						|
    def get_language_item(self, key):
 | 
						|
        if key in self.multi_language_dict:
 | 
						|
            return self.multi_language_dict[key]
 | 
						|
        return None
 | 
						|
 | 
						|
    def get_item_language_value(self, key, language):
 | 
						|
        language_item = self.get_language_item(key)
 | 
						|
        if language_item is None:
 | 
						|
            return ""
 | 
						|
        if language in language_item:
 | 
						|
            return language_item[language]
 | 
						|
        return ""
 | 
						|
 | 
						|
if __name__ == '__main__':
 | 
						|
    multi = multilingual_table("AI Localization FindIt", "_gen_play_type")
 | 
						|
    print(multi.get_language_item("thesmiths"))
 |