Module language
[hide private]
[frames] | no frames]

Source Code for Module language

 1  #-*- coding: iso-8859-15 -*- 
 2   
 3  """ 
 4  [language.py] 
 5  Modulo que contiene todas las cadenas de texto del programa y usa gettext para 
 6  traducirlas a otros idiomas mas fácilmente. 
 7  """ 
 8   
 9  __author__ = "Victor Ramirez de la Corte" 
10  __date__ = "02/04/2009" 
11  __version__ = "PyRubik v0.5" 
12   
13  import gettext 
14   
15 -class Lang:
16 """Clase que contiene todas las cadenas de texto del programa"""
17 - def translate(self, lang):
18 """Funcion para cambiar el idioma y traducir todas las cadenas de texto""" 19 self.t = gettext.translation('language', 'mo', languages = [lang]) 20 _ = self.t.gettext 21 self.menu = [_("timer"), _("capture colours"), _("solve"), _("language <en>"),_("statistic"),\ 22 _("themes"), _("credits"), _("exit")] 23 self.movs = [_("U"), _("U2"), _("U'"), _("D"), _("D2"), _("D'"),\ 24 _("L"), _("L2"), _("L'"), _("R"), _("R2"), _("R'"), _("F"), _("F2"),\ 25 _("F'"), _("B"), _("B2"), _("B'")] 26 self.click = _("Press Enter to go to main menu") 27 self.error1 = _("Error 1: This option isn't in the menu") 28 self.error2 = _("Error 2: invalid move") 29 self.error3 = _("Error 3: Only can exist 9 colours the same type")#TODO solo pueden existir 9 colores del mismo tipo 30 self.error4 = _("Error 4: Insert correct numbers") 31 self.error5 = _("Error 5: More times necessaries")# 32 self.press = _("Press RETURN") 33 self.save = _("Do you want to save your mark?(y/[n])") 34 self.select = _("Cube's name: ") 35 self.saved = _("Save successful") 36 self.yes = [_("yes"), _("y")] 37 self.no = [_("no"), _("n")] 38 self.colores = [[_("0. White-->"), 9, (255, 255, 255, 255)],\ 39 [_("1. Yellow-->"), 9, (255, 255, 0, 255)],\ 40 [_("2. Orange-->"), 9, (255, 127, 0, 255)],\ 41 [_("3. Blue-->"), 9, (0, 0, 255, 255)],\ 42 [_("4. Green-->"), 9, (0, 255, 0, 255)],\ 43 [_("5. Red-->"), 9, (255, 0, 0, 255)]] 44 45 #TODO esto no se si tendré que traducirlo 46 self.credits = (_("Author") + ": Victor Ramirez de la Corte",\ 47 _("Translation") + ": Catalán por Dídac Martorell(dimartorell@gmail.com)", 48 _("Gratitude") + ": Daniel Garcia, Manuel Albarrán, David Medina",\ 49 "Jose Antonio Carmona, Juan Jesus ...") 50 51 self.date = _("Time/Date: ") 52 self.avg = _("Average of ") 53 self.record = _("Your best time is: ") 54 self.time = _("Time: ") 55 self.statistic = (_("1.[Search all]"),_("2.Search average of..."),\ 56 _("3.Search best time"),_("4.Search time of...")) 57 self.mediaDe = _("Average Of(1,2,3,4,[5],...): ") 58 self.consulta = _("Do you search again?(y/n)Press Y or N: ") 59 self.insertEsp = _("Insert time of inspection and press RETURN for start: ") 60 self.fotos = _("Photos") 61 self.optSolve = [_("Webcam"), _("Manual")] 62 self.cadenaMenu = cadenaMenu = [_("Press RETURN or SPACE to start"),_("Press ESC to exit")]
63 64 lll = Lang() 65 lll.translate('en') 66 67 68 ################################################################################ 69 ###################### AYUDA PARA USAR GETTEXT ############################### 70 ##crea fichero messages.pot 71 # $ pygettext test.py 72 # 73 ##crea fichero .po LOCAL, el que se vaya a usar por defecto 74 # $ msginit --locale=en --input=messages.pot 75 # 76 ##Genera el archivo de plantilla para traducir. Ej: traducir al castellano (es.po) 77 # $ msginit -i messages.pot -o es.po 78 # 79 ##crea fichero .mo para usarlo 80 # $ msgfmt es.po -o test.mo 81 # 82 ##crear carpeta con el idioms y eso 83 # $ mkdir -p mo/es/LC_MESSAGES 84 # 85 ##mover el archivo creado a la carpeta idioma 86 # $ mv test.mo mo/es/LC_MESSAGES 87 # 88 """#####EXTRA###EXTRA##EXTRA####""" 89 #Mezclar el fichero de traducciones (.po) con otra plantilla (.pot) 90 # $ msgmerge -U es.po messages.pot 91 # 92