Changeset 1742


Ignore:
Timestamp:
May 30, 2016, 1:45:09 PM (3 years ago)
Author:
jrpelegrina
Message:

Fix i18n in some files of lycee ex

Location:
pyromaths/trunk/fuentes/src/pyromaths/ex/lycee
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • pyromaths/trunk/fuentes/src/pyromaths/ex/lycee/ExoPolynome.py

    r423 r1742  
    121121    P, sgns = poly_id_remarquables(rac_min, rac_max, X)  # sgns=-2,0 ou 2
    122122    exo.append(_(u"\\item Factoriser  $%s(%s)=%s$ à l'aide d'une identité remarquable.") % (nomP, var, P(var)))
    123     cor.append(_("\\item Factoriser $%s(%s)=%s$") % (nomP, var, P(var)))
     123    cor.append(_(u"\\item Factoriser $%s(%s)=%s$") % (nomP, var, P(var)))
    124124
    125125    factorisation, dummy = factorise_identites_remarquables(P, sgns, var, racines=True)
     
    137137
    138138    exo.append("\\item $%s(%s)=%s$" % (nomP, var, P(var)))
    139     cor.append(_("\\item Factoriser $%s(%s)=%s$\\par") % (nomP, var, P(var)))
     139    cor.append(_(u"\\item Factoriser $%s(%s)=%s$\\par") % (nomP, var, P(var)))
    140140    exo, cor = redaction_factorisation(P, nomP, exo, cor)
    141141
     
    149149
    150150    exo.append("\\item $%s(%s)=%s$" % (nomP, var, P(var)))
    151     cor.append(_("\\item Factoriser $%s(%s)=%s$\\par") % (nomP, var, P(var)))
     151    cor.append(_(u"\\item Factoriser $%s(%s)=%s$\\par") % (nomP, var, P(var)))
    152152    exo, cor = redaction_factorisation(P, nomP, exo, cor)
    153153
     
    164164
    165165    exo.append("\\item $%s(%s)=%s$" % (nomP, var, P(var)))
    166     cor.append(_("\\item Factoriser $%s(%s)=%s$\\par") % (nomP, var, P(var)))
     166    cor.append(_(u"\\item Factoriser $%s(%s)=%s$\\par") % (nomP, var, P(var)))
    167167    exo, cor = redaction_factorisation(P, nomP, exo, cor)
    168168
     
    521521    VImoins = "\\substack{%s\\to %s\\\\%s<%s}" % (var, fTeX(VI), var, fTeX(VI))
    522522    if Q[1] < 0:
    523         cor.append(_("De plus, $%s>0$ si $%s<%s$") % (Q, var, TeX(VI)))
    524         cor.append(_("et  $%s<0$ si $%s>%s$.\\\\") % (Q, var, TeX(VI)))
    525     else:
    526         cor.append(_("De plus, $%s<0$ si $%s<%s$") % (Q, var, TeX(VI)))
    527         cor.append(_("et  $%s>0$ si $%s>%s$.\\\\") % (Q, var, TeX(VI)))
     523        cor.append(_(u"De plus, $%s>0$ si $%s<%s$") % (Q, var, TeX(VI)))
     524        cor.append(_(u"et  $%s<0$ si $%s>%s$.\\\\") % (Q, var, TeX(VI)))
     525    else:
     526        cor.append(_(u"De plus, $%s<0$ si $%s<%s$") % (Q, var, TeX(VI)))
     527        cor.append(_(u"et  $%s>0$ si $%s>%s$.\\\\") % (Q, var, TeX(VI)))
    528528
    529529    cor.append(u"$$\\lim_{%s}\\dfrac{%s}{%s}=%s $$" % (VImoins, P, Q, limites[0]))
     
    629629        cor.append(_(u"Donc la fonction polynômiale $%s$ est croissante sur $%s$.") % (nomP, TeX_intervalle))
    630630    else:
    631         cor.append(_("On obtient ainsi le tableau de variation de $%s$.\\par") % nomP)
     631        cor.append(_(u"On obtient ainsi le tableau de variation de $%s$.\\par") % nomP)
    632632#         [x1, x2] = racines
    633633        # macro=[["txb","txh"],["fm","fd"]]
     
    705705    str_variables = "{$%s$/1, $%s\\,(x)$/1}" % (var, nomP)
    706706    if delta < 0:
    707         cor.append(_("Comme $\\Delta <0$, $%s(%s)$ ne s'annule pas et est toujours du signe de $a$") % (nomP, var))
    708         cor.append(_("Ainsi "))
     707        cor.append(_(u"Comme $\\Delta <0$, $%s(%s)$ ne s'annule pas et est toujours du signe de $a$") % (nomP, var))
     708        cor.append(_(u"Ainsi "))
    709709        str_valeurs = "{$%s$,$%s$}" % (TeX(borneinf), TeX(bornesup))
    710710        str_signes = "\\tkzTabLine{,%s}" % signe_a
     
    714714        ligne_valeurs = [borneinf, bornesup]
    715715    elif delta == 0:
    716         cor.append(_("Comme $\\Delta =0$, $%s(%s)$ s'annule une seule fois pour $%s_0=%s$ et est toujours du signe de $a$.\\par") % (nomP, var, var, racines[0]))
     716        cor.append(_(u"Comme $\\Delta =0$, $%s(%s)$ s'annule une seule fois pour $%s_0=%s$ et est toujours du signe de $a$.\\par") % (nomP, var, var, racines[0]))
    717717        if racines[0] < borneinf or racines[0] > bornesup:
    718718            if borneinf != float("-inf"):
     
    725725            else:
    726726                intervalle += "]"
    727             cor.append(_("Or $%s$ n'est pas dans l'intervalle $%s$ donc ") % (TeX(racines[0]), intervalle))
     727            cor.append(_(u"Or $%s$ n'est pas dans l'intervalle $%s$ donc ") % (TeX(racines[0]), intervalle))
    728728            ligne_valeurs = [borneinf, bornesup]
    729729
     
    748748    elif delta > 0:
    749749        [x1, x2] = racines
    750         cor.append(_("Comme $\\Delta >0$, $%s(%s)$ est du signe de $-a$ entre les racines.") % (nomP, var))
     750        cor.append(_(u"Comme $\\Delta >0$, $%s(%s)$ est du signe de $-a$ entre les racines.") % (nomP, var))
    751751        compare = [(x1 <= borneinf) + (x2 <= borneinf), (x2 >= bornesup) + (x1 >= bornesup)]
    752752        # x_x1=x_x2=sign_x1=sign_x2=""
     
    791791        if sum(compare) == 2 :
    792792            # les deux racines sont à supprimer
    793             cor.append(_("\\par Or $%s$ et $%s$ ne sont pas dans $%s$.") % (TeX(x1), TeX(x2), intervalle))
     793            cor.append(_(u"\\par Or $%s$ et $%s$ ne sont pas dans $%s$.") % (TeX(x1), TeX(x2), intervalle))
    794794
    795795        elif compare[0] == 1:
     
    797797        elif compare[1] == 1:
    798798            cor.append(_("\\par Or $%s$ n'est pas dans $%s$.") % (TeX(x2), intervalle))
    799         cor.append("Ainsi \\par")
     799        cor.append(_(u"Ainsi \\par"))
    800800
    801801        str_valeurs = "{$%s$, %s %s $%s$}" % (TeX(borneinf), x_x1, x_x2, TeX(bornesup))
     
    10111011    else:
    10121012        exo.append(_(u"\\item Vérifier que $%s$ est une racine de $%s$.") % (TeX(x0), nomE))
    1013     exo.append(_("\\item Factoriser $%s $.") % (nomE))
     1013    exo.append(_(u"\\item Factoriser $%s $.") % (nomE))
    10141014    cor.append("\\item ")
    10151015
     
    10191019        E2 = (E / (X ** degre_facteur))[0]
    10201020        if degre_facteur == 1:
    1021             cor.append(_("On remarque que $%s$ peut se factoriser par $%s$ et $%s=%s\\left(%s\\right)$") % (nomE, var, nomE, var, E2))
     1021            cor.append(_(u"On remarque que $%s$ peut se factoriser par $%s$ et $%s=%s\\left(%s\\right)$") % (nomE, var, nomE, var, E2))
    10221022        elif degre_facteur == 2:
    10231023            cor.append(_(u"On remarque que $%s$ peut se factoriser par $%s^2$ et $%s=%s^2\\left(%s\\right)$")\
     
    10271027            return exo, cor
    10281028    else:
    1029         cor.append(_("Comme $%s(%s)=0$, on peut diviser $%s$ par $%s$") % (nomE, TeX(x0), nomE, X - x0))
     1029        cor.append(_(u"Comme $%s(%s)=0$, on peut diviser $%s$ par $%s$") % (nomE, TeX(x0), nomE, X - x0))
    10301030        cor.append(TeX_division(E, (X - x0)) + "")
    10311031        E2, reste = E / (X - x0)
    1032     cor.append(_("\\item On doit maintenant factoriser le polynome $%s_2=%s$\\\\") % (nomE, E2))
     1032    cor.append(_(u"\\item On doit maintenant factoriser le polynome $%s_2=%s$\\\\") % (nomE, E2))
    10331033    delta, simplrac, racines, str_racines, factorisation = factorisation_degre2(E2, factorisation=True)
    10341034    cor = redaction_factorisation(E2, nomP=nomE + "_2", exo=[], cor=cor)[1]
    10351035    cor.append("\\par")
    1036     cor.append(_("On en conclue donc que $%s=") % (nomE))
     1036    cor.append(_(u"On en conclue donc que $%s=") % (nomE))
    10371037#     final = 0
    10381038    if x0 == 0:
     
    11061106    cor.append(ligne_delta)
    11071107    if delta < 0:
    1108         cor.append(_("Comme $\\Delta <0$, $%s(%s)$ n'a pas de racines.") % (nomP, var))
     1108        cor.append(_(u"Comme $\\Delta <0$, $%s(%s)$ n'a pas de racines.") % (nomP, var))
    11091109    elif delta == 0:
    1110         cor.append(_("Comme $\\Delta=0$, $%s(%s)$ a une seule racine $%s_0=%s=%s$.\\par") % (nomP, var, var, liste_str_racines[0], TeX(liste_racines[0])))
     1110        cor.append(_(u"Comme $\\Delta=0$, $%s(%s)$ a une seule racine $%s_0=%s=%s$.\\par") % (nomP, var, var, liste_str_racines[0], TeX(liste_racines[0])))
    11111111    else:  # delta>0
    11121112        [x1, x2] = liste_racines
    1113         cor.append(_("Comme $\\Delta>0$, $%s(%s)$ a deux racines :") % (nomP, var))
     1113        cor.append(_(u"Comme $\\Delta>0$, $%s(%s)$ a deux racines :") % (nomP, var))
    11141114        if isinstance(x1, RacineDegre2):
    11151115#             simplification1 = simplification2 = ""
     
    11331133            cor.pop(-1)
    11341134            cor.append("\\end{align*}")
    1135             cor.append(_("Les racines de $%s$ sont $%s_1=%s$ et $%s_2=%s$.\\par") % (nomP, var, x1, var, x2))
     1135            cor.append(_(u"Les racines de $%s$ sont $%s_1=%s$ et $%s_2=%s$.\\par") % (nomP, var, x1, var, x2))
    11361136        else:
    11371137            [strx1, strx2] = liste_str_racines
    1138             cor.append(_("Les racines de $%s$ sont $%s_1=%s=%s$ et $%s_2=%s=%s$.") % (nomP, var, strx1, x1, var, strx2, x2))
     1138            cor.append(_(u"Les racines de $%s$ sont $%s_1=%s=%s$ et $%s_2=%s=%s$.") % (nomP, var, strx1, x1, var, strx2, x2))
    11391139
    11401140    return cor
  • pyromaths/trunk/fuentes/src/pyromaths/ex/lycee/TermesSuite.py

    r423 r1742  
    3434
    3535FRANCAIS_ORDINAL = {
    36     1: u"premier",
    37     2: u"deuxième",
    38     3: u"troisième",
    39     4: u"quatrième",
    40     5: u"cinquième",
    41     6: u"sixième",
    42     7: u"septième",
     36    1: _(u"premier"),
     37    2: _(u"deuxième"),
     38    3: _(u"troisième"),
     39    4: _(u"quatrième"),
     40    5: _(u"cinquième"),
     41    6: _(u"sixième"),
     42    7: _(u"septième"),
    4343    }
    4444FRANCAIS_INVERSE = {
    45     2: u"à la moitié du",
    46     3: u"au tiers du",
    47     4: u"au quart du",
    48     5: u"au cinquième du",
    49     6: u"au sixième du",
    50     7: u"au septième du",
    51     8: u"au huitième du",
    52     9: u"au neuvième du",
    53     10: u"au dixième du",
     45    2: _(u"à la moitié du"),
     46    3: _(u"au tiers du"),
     47    4: _(u"au quart du"),
     48    5: _(u"au cinquième du"),
     49    6: _(u"au sixième du"),
     50    7: _(u"au septième du"),
     51    8: _(u"au huitième du"),
     52    9: _(u"au neuvième du"),
     53    10: _(u"au dixième du"),
    5454    }
    5555FRANCAIS_MULTIPLE = {
    56     2: u"au double du",
    57     3: u"au triple du",
    58     4: u"au quadruple du",
    59     5: u"à cinq fois le",
    60     6: u"à six fois le",
    61     7: u"à sept fois le",
    62     8: u"à huit fois le",
    63     9: u"à neuf fois le",
    64     10: u"à dix fois le",
     56    2: _(u"au double du"),
     57    3: _(u"au triple du"),
     58    4: _(u"au quadruple du"),
     59    5: _(u"à cinq fois le"),
     60    6: _(u"à six fois le"),
     61    7: _(u"à sept fois le"),
     62    8: _(u"à huit fois le"),
     63    9: _(u"à neuf fois le"),
     64    10: _(u"à dix fois le"),
    6565    }
    6666NOTATIONS = [
     
    407407    def francais(self):
    408408        if isinstance(self.raison, Fraction):
    409             return u"{} précédent".format(FRANCAIS_INVERSE[self.raison.denominateur])
    410         else:
    411             return u"{} précédent".format(FRANCAIS_MULTIPLE[self.raison.valeur])
     409            return _(u"{} précédent").format(FRANCAIS_INVERSE[self.raison.denominateur])
     410        else:
     411            return _(u"{} précédent").format(FRANCAIS_MULTIPLE[self.raison.valeur])
    412412
    413413    def expression(self, variable):
     
    466466    def francais(self):
    467467        if self.raison > 0:
    468             return u"au terme précédent auquel on ajoute {}".format(self.raison)
    469         else:
    470             return u"au terme précédent auquel on soustrait {}".format(-self.raison)
     468            return _(u"au terme précédent auquel on ajoute {}").format(self.raison)
     469        else:
     470            return _(u"au terme précédent auquel on soustrait {}").format(-self.raison)
    471471
    472472    def expression(self, variable):
     
    485485    @property
    486486    def francais(self):
    487         return u"à l'opposé du précédent"
     487        return _(u"à l'opposé du précédent")
    488488
    489489    def expression(self, variable):
     
    506506    @property
    507507    def francais(self):
    508         return u"à l'inverse du précédent"
     508        return _(u"à l'inverse du précédent")
    509509
    510510    def expression(self, variable):
     
    628628    def tex_statement(self):
    629629        exo = [r'\exercice']
    630         exo.append(ur'Pour chacune des suites $u$ suivantes, calculer :')
    631         exo.append(ur' (a) le {} terme ;'.format(FRANCAIS_ORDINAL[self.rang[0]]))
    632         exo.append(ur' (b) le terme de rang {} ;'.format(self.rang[1]))
    633         exo.append(ur' (c) $u_{}$.'.format(self.rang[2]))
     630        exo.append(_(ur'Pour chacune des suites $u$ suivantes, calculer :'))
     631        exo.append(_(ur' (a) le {} terme ;').format(FRANCAIS_ORDINAL[self.rang[0]]))
     632        exo.append(_(ur' (b) le terme de rang {} ;').format(self.rang[1]))
     633        exo.append(_(ur' (c) $u_{}$.').format(self.rang[2]))
    634634
    635635        exo.append(ur'\begin{enumerate}')
    636         exo.append(ur'  \item ${notation}$ est une suite de premier terme $u_{indice0}={terme0}$, et dont chaque terme (sauf le premier) est égal {suivant}.'.format(**self.questions[0].latex_params))
    637         exo.append(ur'  \item ${notation}$ est la suite définie pour $n\geq{indice0}$ par : $u_n={fonction}$.'.format(**self.questions[1].latex_params))
    638         exo.append(textwrap.dedent(ur"""
     636        exo.append(_(ur'  \item ${notation}$ est une suite de premier terme $u_{indice0}={terme0}$, et dont chaque terme (sauf le premier) est égal {suivant}.').format(**self.questions[0].latex_params))
     637        exo.append(_(ur'  \item ${notation}$ est la suite définie pour $n\geq{indice0}$ par : $u_n={fonction}$.').format(**self.questions[1].latex_params))
     638        exo.append(textwrap.dedent(_(ur"""
    639639            \item ${notation}$ est la suite définie pour $n\geq{indice0}$ par :
    640640                \[\left\{{\begin{{array}}{{l}}
    641641                  u_{indice0}={terme0}\\
    642                   \text{{Pour tout $n\geq{indice0}$ : }} u_{{n+1}}={fonction}.
     642                  _(u\text{{Pour tout $n\geq{indice0}$ :) }} u_{{n+1}}={fonction}.
    643643              \end{{array}}\right.\]
    644               """).format(**self.questions[2].latex_params))
     644              """)).format(**self.questions[2].latex_params))
    645645        exo.append(ur'\end{enumerate}')
    646646        return exo
     
    650650        exo.append(ur'\begin{enumerate}')
    651651        # Question 0
    652         exo.append(ur"  \item Selon l'énoncé, le premier terme de ${notation}$ est $u_{indice0}={terme0}$. Puisque chaque terme (sauf le premier) est égal {suivant}, on a :".format(**self.questions[0].latex_params))
     652        exo.append(_(ur"  \item Selon l'énoncé, le premier terme de ${notation}$ est $u_{indice0}={terme0}$. Puisque chaque terme (sauf le premier) est égal {suivant}, on a :").format(**self.questions[0].latex_params))
    653653        termes = dict([(self.questions[0].indice0, self.questions[0].terme0)])
    654654        calcul_termes = []
     
    665665        exo.append(" ; ".join(calcul_termes) + ".")
    666666        exo.append(ur'\begin{enumerate}')
    667         exo.append(ur' \item Calcul du {} terme :'.format(FRANCAIS_ORDINAL[self.rang[0]]))
     667        exo.append(_(ur' \item Calcul du {} terme :').format(FRANCAIS_ORDINAL[self.rang[0]]))
    668668        enumeration = []
    669669        for indice in range(0, self.rang[0]):
    670             enumeration.append(u"le {ordinal} terme est $u_{indice}$".format(ordinal=FRANCAIS_ORDINAL[indice+1], indice=self.questions[0].indice0+indice))
     670            enumeration.append(_(u"le {ordinal} terme est $u_{indice}$").format(ordinal=FRANCAIS_ORDINAL[indice+1], indice=self.questions[0].indice0+indice))
    671671        exo.append(" ; ".join(enumeration) + ".")
    672         exo.append(ur"Le terme demandé est donc : $u_{}={}$.".format(self.rang[0] + self.questions[0].indice0 - 1, termes[self.rang[0] + self.questions[0].indice0 - 1].latex()))
    673         exo.append(ur'\item Le terme de rang {indice} est : $u_{indice}={valeur}$.'.format(indice=self.rang[1], valeur=termes[self.rang[1]].latex()))
    674         exo.append(ur'\item Nous avons calculé que : $u_{indice}={valeur}$.'.format(indice=self.rang[2], valeur=termes[self.rang[2]].latex()))
     672        exo.append(_(ur"Le terme demandé est donc : $u_{}={}$.").format(self.rang[0] + self.questions[0].indice0 - 1, termes[self.rang[0] + self.questions[0].indice0 - 1].latex()))
     673        exo.append(_(ur'\item Le terme de rang {indice} est : $u_{indice}={valeur}$.').format(indice=self.rang[1], valeur=termes[self.rang[1]].latex()))
     674        exo.append(_(ur'\item Nous avons calculé que : $u_{indice}={valeur}$.').format(indice=self.rang[2], valeur=termes[self.rang[2]].latex()))
    675675        exo.append(ur'\end{enumerate}')
    676676
    677677        # Question 1
    678         exo.append(ur'  \item La suite ${notation}$ est définie pour $n\geq{indice0}$ par : $u_n={fonction}$.'.format(**self.questions[1].latex_params))
    679         exo.append(ur"Elle est donc définie par son terme général : pour calculer un terme de rang $n$, on peut calculer directement l'image de $n$ par la suite.")
     678        exo.append(_(ur'  \item La suite ${notation}$ est définie pour $n\geq{indice0}$ par : $u_n={fonction}$.').format(**self.questions[1].latex_params))
     679        exo.append(_(ur"Elle est donc définie par son terme général : pour calculer un terme de rang $n$, on peut calculer directement l'image de $n$ par la suite."))
    680680        exo.append(ur'\begin{enumerate}')
    681         exo.append(ur' \item Calcul du {} terme :'.format(FRANCAIS_ORDINAL[self.rang[0]]))
     681        exo.append(_(ur' \item Calcul du {} terme :').format(FRANCAIS_ORDINAL[self.rang[0]]))
    682682        enumeration = []
    683683        for indice in range(0, self.rang[0]):
    684             enumeration.append(u"le {ordinal} terme est $u_{indice}$".format(ordinal=FRANCAIS_ORDINAL[indice+1], indice=self.questions[1].indice0+indice))
     684            enumeration.append(_(u"le {ordinal} terme est $u_{indice}$").format(ordinal=FRANCAIS_ORDINAL[indice+1], indice=self.questions[1].indice0+indice))
    685685        exo.append(" ; ".join(enumeration) + ".")
    686         exo.append(ur"Le terme demandé est donc : $u_{}=".format(self.rang[0] + self.questions[1].indice0 - 1))
     686        exo.append(_(ur"Le terme demandé est donc : $u_{}=").format(self.rang[0] + self.questions[1].indice0 - 1))
    687687        calcul = []
    688688        for etape in self.questions[1].fonction.calcul(Entier(self.rang[0] + self.questions[1].indice0 - 1)):
    689689            calcul.append(etape)
    690690        exo.append(u" = ".join(calcul) + ur"$.")
    691         exo.append(ur"La solution est $u_{{ {} }}={}$.".format(self.rang[0] + self.questions[1].indice0 - 1, self.questions[1].fonction.resultat(Entier(self.rang[0] + self.questions[1].indice0 - 1)).latex()))
    692         exo.append(ur"\item Le terme de rang {rang} est $u_{{ {rang} }}$.".format(rang=self.rang[1]))
     691        exo.append(_(ur"La solution est $u_{{ {} }}={}$.").format(self.rang[0] + self.questions[1].indice0 - 1, self.questions[1].fonction.resultat(Entier(self.rang[0] + self.questions[1].indice0 - 1)).latex()))
     692        exo.append(_(ur"\item Le terme de rang {rang} est $u_{{ {rang} }}$.").format(rang=self.rang[1]))
    693693        if self.rang[0] + self.questions[1].indice0 - 1 == self.rang[1]:
    694             exo.append(ur"Ce terme a déjà été calculé, et $u_{{ {} }}={}$.".format(self.rang[1], self.questions[1].fonction.resultat(Entier(self.rang[1])).latex()))
     694            exo.append(_(ur"Ce terme a déjà été calculé, et $u_{{ {} }}={}$.").format(self.rang[1], self.questions[1].fonction.resultat(Entier(self.rang[1])).latex()))
    695695        else:
    696696            calcul = []
    697697            for etape in self.questions[1].fonction.calcul(Entier(self.rang[1])):
    698698                calcul.append(etape)
    699             exo.append(ur"Le terme demandé est donc : $u_{{ {} }}=".format(self.rang[1]) + " = ".join(calcul) + ur"$.")
    700             exo.append(ur"La solution est donc  : $u_{{ {} }}={}$.".format(self.rang[1], self.questions[1].fonction.resultat(Entier(self.rang[1])).latex()))
     699            exo.append(_(ur"Le terme demandé est donc : $u_{{ {} }}=").format(self.rang[1]) + " = ".join(calcul) + ur"$.")
     700            exo.append(_(ur"La solution est donc  : $u_{{ {} }}={}$.").format(self.rang[1], self.questions[1].fonction.resultat(Entier(self.rang[1])).latex()))
    701701        exo.append(ur"\item")
    702702        if self.rang[0] + self.questions[1].indice0 - 1 == self.rang[2]:
    703             exo.append(ur"Ce terme a déjà été calculé, et $u_{{ {} }}={}$.".format(self.rang[2], self.questions[1].fonction.resultat(Entier(self.rang[2])).latex()))
     703            exo.append((ur"Ce terme a déjà été calculé, et $u_{{ {} }}={}$.").format(self.rang[2], self.questions[1].fonction.resultat(Entier(self.rang[2])).latex()))
    704704        else:
    705705            calcul = []
    706706            for etape in self.questions[1].fonction.calcul(Entier(self.rang[2])):
    707707                calcul.append(etape)
    708             exo.append(ur"On a : $u_{{ {} }}=".format(self.rang[2]) + " = ".join(calcul) + ur"$.")
    709             exo.append(ur"La solution est donc  : $u_{{ {} }}={}$.".format(self.rang[2], self.questions[1].fonction.resultat(Entier(self.rang[2])).latex()))
     708            exo.append(_(ur"On a : $u_{{ {} }}=").format(self.rang[2]) + " = ".join(calcul) + ur"$.")
     709            exo.append(_(ur"La solution est donc  : $u_{{ {} }}={}$.").format(self.rang[2], self.questions[1].fonction.resultat(Entier(self.rang[2])).latex()))
    710710        exo.append(ur'\end{enumerate}')
    711711
    712712        # Question 2
    713         exo.append(textwrap.dedent(ur"""
     713        exo.append(textwrap.dedent(_(ur"""
    714714            \item La suite ${notation}$ est définie par récurrence, pour $n\geq{indice0}$, par :
    715715                \[\left\{{\begin{{array}}{{l}}
    716                   u_{indice0}={terme0}\\
    717                   \text{{Pour tout $n\geq{indice0}$ : }} u_{{n+1}}={fonction}.
     716                  u_{indice0}={terme0}_(u\\
     717                  \text{{Pour tout $n\geq{indice0}$ : }} u_{{n+1}}={fonction}).
    718718              \end{{array}}\right.\]
    719               """).format(**self.questions[2].latex_params))
     719              """)).format(**self.questions[2].latex_params))
    720720        termes = dict([(self.questions[2].indice0, self.questions[2].terme0)])
    721721        calcul_termes = []
     
    733733        exo.append(ur"\end{align*}")
    734734        exo.append(ur'\begin{enumerate}')
    735         exo.append(ur' \item Calcul du {} terme :'.format(FRANCAIS_ORDINAL[self.rang[0]]))
     735        exo.append(_(ur' \item Calcul du {} terme :').format(FRANCAIS_ORDINAL[self.rang[0]]))
    736736        enumeration = []
    737737        for indice in range(0, self.rang[0]):
    738             enumeration.append(u"le {ordinal} terme est $u_{indice}$".format(ordinal=FRANCAIS_ORDINAL[indice+1], indice=self.questions[2].indice0+indice))
     738            enumeration.append(_(u"le {ordinal} terme est $u_{indice}$").format(ordinal=FRANCAIS_ORDINAL[indice+1], indice=self.questions[2].indice0+indice))
    739739        exo.append(" ; ".join(enumeration) + ".")
    740         exo.append(ur"Le terme demandé est donc : $u_{}={}$.".format(self.rang[0] + self.questions[2].indice0 - 1, termes[self.rang[0] + self.questions[2].indice0 - 1].latex()))
    741         exo.append(ur'\item Le terme de rang {indice} est : $u_{indice}={valeur}$.'.format(indice=self.rang[1], valeur=termes[self.rang[1]].latex()))
    742         exo.append(ur'\item Nous avons calculé que : $u_{indice}={valeur}$.'.format(indice=self.rang[2], valeur=termes[self.rang[2]].latex()))
     740        exo.append(_(ur"Le terme demandé est donc : $u_{}={}$.").format(self.rang[0] + self.questions[2].indice0 - 1, termes[self.rang[0] + self.questions[2].indice0 - 1].latex()))
     741        exo.append(_(ur'\item Le terme de rang {indice} est : $u_{indice}={valeur}$.').format(indice=self.rang[1], valeur=termes[self.rang[1]].latex()))
     742        exo.append(_(ur'\item Nous avons calculé que : $u_{indice}={valeur}$.').format(indice=self.rang[2], valeur=termes[self.rang[2]].latex()))
    743743        exo.append(ur'\end{enumerate}')
    744744
Note: See TracChangeset for help on using the changeset viewer.