Adds i18n for show_closed_tickets
This commit is contained in:
parent
1edf282942
commit
b2fb45262b
|
@ -55,7 +55,7 @@ class TicketList extends React.Component {
|
|||
|
||||
|
||||
renderFilterCheckbox() {
|
||||
return <Checkbox className="ticket-list__checkbox" label="Show Closed Tickets" value={this.props.closedTicketsShown} onChange={this.props.onClosedTicketsShownChange} wrapInLabel/>
|
||||
return <Checkbox className="ticket-list__checkbox" label={i18n("SHOW_CLOSED_TICKETS")} value={this.props.closedTicketsShown} onChange={this.props.onClosedTicketsShownChange} wrapInLabel/>
|
||||
}
|
||||
|
||||
renderDepartmentsDropDown() {
|
||||
|
|
|
@ -187,6 +187,7 @@ export default {
|
|||
'PRIVATE': 'privado',
|
||||
'ENABLE_USER': 'Ativar usuário',
|
||||
'DISABLE_USER': 'Desativar usuário',
|
||||
'SHOW_CLOSED_TICKETS': 'Mostrar ingressos fechados',
|
||||
|
||||
'CHART_CREATE_TICKET': 'Chamados criados',
|
||||
'CHART_CLOSE': 'Chamados fechados',
|
||||
|
|
|
@ -187,6 +187,7 @@ export default {
|
|||
'PRIVATE': '私人的',
|
||||
'ENABLE_USER': '启用用户',
|
||||
'DISABLE_USER': '禁用用户',
|
||||
'SHOW_CLOSED_TICKETS': '显示已关闭的门票',
|
||||
|
||||
'CHART_CREATE_TICKET': '已創建門票',
|
||||
'CHART_CLOSE': '門票已關閉',
|
||||
|
|
|
@ -187,6 +187,7 @@ export default {
|
|||
'PRIVATE': 'Privatgelände',
|
||||
'ENABLE_USER': 'Benutzer aktivieren',
|
||||
'DISABLE_USER': 'Benutzer deaktivieren',
|
||||
'SHOW_CLOSED_TICKETS': 'Geschlossene Tickets anzeigen',
|
||||
|
||||
'CHART_CREATE_TICKET': 'Tickets erstellt',
|
||||
'CHART_CLOSE': 'Tickets geschlossen',
|
||||
|
|
|
@ -187,6 +187,7 @@ export default {
|
|||
'PRIVATE': 'Private',
|
||||
'ENABLE_USER': 'Enable User',
|
||||
'DISABLE_USER': 'Disable User',
|
||||
'SHOW_CLOSED_TICKETS': 'Show Closed Tickets',
|
||||
|
||||
'CHART_CREATE_TICKET': 'Tickets created',
|
||||
'CHART_CLOSE': 'Tickets closed',
|
||||
|
|
|
@ -187,6 +187,7 @@ export default {
|
|||
'PRIVATE': 'privado',
|
||||
'ENABLE_USER': 'Habilitar usuario',
|
||||
'DISABLE_USER': 'Deshabilitar usuario',
|
||||
'SHOW_CLOSED_TICKETS': 'Mostrar Tickets Cerrados',
|
||||
|
||||
'CHART_CREATE_TICKET': 'Tickets creados',
|
||||
'CHART_CLOSE': 'Tickets cerrados',
|
||||
|
|
|
@ -187,6 +187,7 @@ export default {
|
|||
'PRIVATE': 'privé',
|
||||
'ENABLE_USER': 'Activer l\'utilisateur',
|
||||
'DISABLE_USER': 'Désactiver l\'utilisateur',
|
||||
'SHOW_CLOSED_TICKETS': 'Afficher les billets fermés',
|
||||
|
||||
'CHART_CREATE_TICKET': 'Tickets créés',
|
||||
'CHART_CLOSE': 'Tickets fermés',
|
||||
|
|
|
@ -187,6 +187,7 @@
|
|||
'PRIVATE': 'ιδιωτικός',
|
||||
'ENABLE_USER': 'Ενεργοποίηση χρήστη',
|
||||
'DISABLE_USER': 'Απενεργοποίηση χρήστη',
|
||||
'SHOW_CLOSED_TICKETS': 'Εμφάνιση κλειστών εισιτηρίων',
|
||||
|
||||
'CHART_CREATE_TICKET': 'Τα εισιτήρια δημιουργήθηκαν',
|
||||
'CHART_CLOSE': 'Τα εισιτήρια κλείσανε',
|
||||
|
|
|
@ -187,6 +187,7 @@ export default {
|
|||
'PRIVATE': 'निजी',
|
||||
'ENABLE_USER': 'उपयोगकर्ता सक्षम करें',
|
||||
'DISABLE_USER': 'उपयोगकर्ता को अक्षम करें',
|
||||
'SHOW_CLOSED_TICKETS': 'बंद टिकट दिखाएं',
|
||||
|
||||
'CHART_CREATE_TICKET': 'टिकट बनाया',
|
||||
'CHART_CLOSE': 'टिकट बंद कर दिया',
|
||||
|
|
|
@ -187,6 +187,7 @@ export default {
|
|||
'PRIVATE': 'privato',
|
||||
'ENABLE_USER': 'Abilita utente',
|
||||
'DISABLE_USER': 'Disabilita utente',
|
||||
'SHOW_CLOSED_TICKETS': 'Mostra biglietti chiusi',
|
||||
|
||||
'CHART_CREATE_TICKET': 'Tickets creato',
|
||||
'CHART_CLOSE': 'Tickets chiuso',
|
||||
|
|
|
@ -187,6 +187,7 @@ export default {
|
|||
'PRIVATE': 'プライベート',
|
||||
'ENABLE_USER': 'ユーザーを有効にする',
|
||||
'DISABLE_USER': 'ユーザーを無効にする',
|
||||
'SHOW_CLOSED_TICKETS': 'クローズドチケットを表示する',
|
||||
|
||||
'CHART_CREATE_TICKET': '作成されたチケット',
|
||||
'CHART_CLOSE': 'チケットが閉じられました',
|
||||
|
|
|
@ -0,0 +1,78 @@
|
|||
from googletrans import Translator
|
||||
import colorama
|
||||
import ast
|
||||
|
||||
class Translater:
|
||||
def __init__(self):
|
||||
colorama.init(autoreset=True)
|
||||
self.data = self.get_language_data('en')
|
||||
|
||||
def get_language_description(self, data):
|
||||
return data[15:len(data)-2];
|
||||
|
||||
def get_dest_language(self, lang):
|
||||
if lang == 'br':
|
||||
return 'pt'
|
||||
if lang == 'cn':
|
||||
return 'zh-cn'
|
||||
if lang == 'gr':
|
||||
return 'el'
|
||||
if lang == 'in':
|
||||
return 'hi'
|
||||
if lang == 'jp':
|
||||
return 'ja'
|
||||
return lang
|
||||
|
||||
def get_language_data(self, lang):
|
||||
data = {}
|
||||
with open(lang + '.js', encoding='utf-8') as f:
|
||||
lineno = 0
|
||||
for l in f:
|
||||
lineno += 1
|
||||
last_char = l[-2:-1]
|
||||
if last_char != ',' and last_char != "'":
|
||||
continue
|
||||
line_data = ast.literal_eval('{'+l+'}')
|
||||
if line_data.keys():
|
||||
key = list(line_data.keys())[0]
|
||||
data[key] = {
|
||||
'value': line_data[key],
|
||||
'lineno': lineno,
|
||||
}
|
||||
return data
|
||||
|
||||
def add_property(self, lang, key, value, line):
|
||||
"""Adds a property to a lang.js file.
|
||||
"""
|
||||
f = open(lang + '.js', 'r')
|
||||
contents = f.readlines()
|
||||
f.close()
|
||||
|
||||
new_line = " '{0}': '{1}',\n".format(key, value)
|
||||
print(colorama.Fore.GREEN + str(line) + ': ' + new_line[:-1])
|
||||
contents.insert(line - 1, new_line)
|
||||
|
||||
f = open(lang + '.js', 'w')
|
||||
contents = "".join(contents)
|
||||
f.write(contents)
|
||||
f.close()
|
||||
|
||||
def main(self):
|
||||
translator = Translator()
|
||||
language_list = ['br', 'cn', 'de', 'es', 'fr', 'gr', 'in', 'it',
|
||||
'jp', 'nl', 'pt', 'ru', 'tr']
|
||||
|
||||
for language in language_list:
|
||||
print('Translating for language: ' + language)
|
||||
dest_language = self.get_dest_language(language)
|
||||
odata = self.get_language_data(language)
|
||||
|
||||
for key in self.data.keys():
|
||||
if not key in odata:
|
||||
value = translator.translate(self.data[key]['value'],
|
||||
src='en', dest=dest_language).text
|
||||
self.add_property(language, key, value, self.data[key]['lineno'])
|
||||
|
||||
if __name__ == "__main__":
|
||||
translater = Translater()
|
||||
translater.main()
|
|
@ -187,6 +187,7 @@ export default {
|
|||
'PRIVATE': 'privaat',
|
||||
'ENABLE_USER': 'Schakel gebruiker in',
|
||||
'DISABLE_USER': 'Gebruiker uitschakelen',
|
||||
'SHOW_CLOSED_TICKETS': 'Toon gesloten tickets',
|
||||
|
||||
'CHART_CREATE_TICKET': 'Aangemaakte incidenten',
|
||||
'CHART_CLOSE': 'Gesloten incidenten',
|
||||
|
|
|
@ -187,6 +187,7 @@ export default {
|
|||
'PRIVATE': 'privado',
|
||||
'ENABLE_USER': 'Ativar usuário',
|
||||
'DISABLE_USER': 'Desativar usuário',
|
||||
'SHOW_CLOSED_TICKETS': 'Mostrar ingressos fechados',
|
||||
|
||||
'CHART_CREATE_TICKET': 'Ingressos criados',
|
||||
'CHART_CLOSE': 'Ingressos fechados',
|
||||
|
|
|
@ -187,6 +187,7 @@ export default {
|
|||
'PRIVATE': 'частный',
|
||||
'ENABLE_USER': 'Включить пользователя',
|
||||
'DISABLE_USER': 'Отключить пользователя',
|
||||
'SHOW_CLOSED_TICKETS': 'Показать закрытые билеты',
|
||||
|
||||
'CHART_CREATE_TICKET': 'Билеты создано',
|
||||
'CHART_CLOSE': ' Билеты закрыты',
|
||||
|
|
|
@ -187,6 +187,7 @@ export default {
|
|||
'PRIVATE': 'gizli',
|
||||
'ENABLE_USER': 'Kullanıcıyı Etkinleştir',
|
||||
'DISABLE_USER': 'Kullanıcıyı Devre Dışı Bırak',
|
||||
'SHOW_CLOSED_TICKETS': 'Kapalı Biletleri Göster',
|
||||
|
||||
'CHART_CREATE_TICKET': 'Biletler oluşturuldu',
|
||||
'CHART_CLOSE': 'Biletler kapandı',
|
||||
|
|
Loading…
Reference in New Issue