рддреБрд░рдВрдд рдПрдХ рдЖрд░рдХреНрд╖рдг рдХрд░реЗрдВ рдХрд┐ рдЕрдЬрдЧрд░ рдФрд░ gtk рдореИрдВ рджреВрд╕рд░рд╛ рд╕рдВрд╕реНрдХрд░рдг рд╣реИред
рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреЗ рдореБрдЦреНрдп рд░реВрдк рдкрд░ рд╢рд┐рд▓рд╛рд▓реЗрдЦ рдмрдирд╛рдиреЗ рдХреА рдПрдХ рдЕрдкреНрд░рддреНрдпрд╛рд╢рд┐рдд рдЗрдЪреНрдЫрд╛ рдореИрдВ рди рдХреЗрд╡рд▓ рд░реВрд╕реА рд╡рд┐рдХрд╕рд┐рдд рдХрд░ рд░рд╣рд╛ рд╣реВрдВ, рдмрд▓реНрдХрд┐ рдЕрдиреНрдп рднрд╛рд╖рд╛рдУрдВ рдореЗрдВ рднреА (рдпрджрд┐ рдпрд╣ рдореЗрд░реЗ рд▓рд┐рдП рди рдХреЗрд╡рд▓ рдЖрд╡рд╢реНрдпрдХ рд╣реЛрдЧрд╛), рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рддрд░реАрдХреЛрдВ рдХреА рдЦреЛрдЬ рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдордЬрдмреВрд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ред рдореБрдЭреЗ рд╕реНрдиреИрдк рд╕реЗ рд╕реНрдерд╛рдиреАрдпрдХрд░рдг рдХреЗ рд░реВрдкреЛрдВ рдкрд░ рдХрд╛рдо рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдирд╣реАрдВ рдорд┐рд▓реЗ, рдЗрд╕рд▓рд┐рдП рднрд╡рд┐рд╖реНрдп рдореЗрдВ рдЗрд╕ рд▓реЗрдЦ рдХреЛ рд▓рд┐рдЦрдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓рд┐рдпрд╛ рдЧрдпрд╛ рддрд╛рдХрд┐ рдЕрдиреНрдп рд▓реЛрдЧ рдЕрдзрд┐рдХ рднрд╛рдЧреНрдпрд╢рд╛рд▓реА рд╣реЛрдВрдЧреЗред
рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ рдХреНрдпрд╛ рдирд╣реАрдВ рд╣реИ:
- рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рдлреЙрд░реНрдо рдХрд╛ рдЕрдиреБрд╡рд╛рдж рдХреИрд╕реЗ рдХрд░реЗрдВред рдореБрдЭреЗ рдпрд╣ рдирд╣реАрдВ рдорд┐рд▓рд╛, рд▓реЗрдХрд┐рди рдореИрдВ рдЬрд╛рдирдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛ ...
- рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ .py рдХреЛрдб рдореЗрдВ рдкрд╛рда рдХрд╛ рдЕрдиреБрд╡рд╛рдж рдХреИрд╕реЗ рдХрд░реЗрдВред
- рдмреЗрд╢рдХ, рдмреАрдпрд░, рд▓рд╛рдареА рдФрд░ рдмрд╛рдХреА рдпрд╣рд╛рдБ рдирд╣реАрдВ рд╣реИрдВред
рдЕрдиреБрд╡рд╛рдж рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк (рдпрд╛ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд▓реЛрдХреЗрд▓) рдкрд░ рд╕реНрдерд╛рди рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдХреЗ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред
рдкрд╣рд▓реА рдЪреАрдЬрд╝ рдЬреЛ рдЖрдкрдХреЛ рдЪрд╛рд╣рд┐рдП рд╡рд╣ рд╣реИ рдПрдХ рд░реЗрдбреА-рдореЗрдб рдЧреНрд▓реЗрдб рдлреЙрд░реНрдоред рдХреНрдпреЛрдВрдХрд┐ рдореИрдВрдиреЗ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рд╛рдзрд╛рд░рдг рдкрд░реАрдХреНрд╖рдг рдХрд┐рдпрд╛, рдлрд┐рд░ рдореЗрд░рд╛ рдлреЙрд░реНрдо рдПрдХ рд▓реЗрдмрд▓, рдмрдЯрди рдФрд░ рдЪреЗрдХрдмреЙрдХреНрд╕ рдХреЗ рд╕рд╛рде рд╕рд░рд▓ рд╣реИред
xml рдлреЙрд░реНрдо рдХреЛрдб<?xml version="1.0" encoding="UTF-8" standalone="no"?> <!DOCTYPE glade-interface SYSTEM "glade-2.0.dtd"> <glade-interface> <widget class="GtkWindow" id="window1"> <child> <widget class="GtkVBox" id="vbox1"> <property name="visible">True</property> <child> <widget class="GtkLabel" id="label1"> <property name="visible">True</property> <property name="label" translatable="yes">label text</property> </widget> </child> <child> <widget class="GtkButton" id="button1"> <property name="visible">True</property> <property name="can_focus">True</property> <property name="receives_default">True</property> <property name="label" translatable="yes">button text</property> <property name="response_id">0</property> </widget> <packing> <property name="position">1</property> </packing> </child> <child> <widget class="GtkCheckButton" id="checkbutton1"> <property name="visible">True</property> <property name="can_focus">True</property> <property name="label" translatable="yes">checkbutton text</property> <property name="response_id">0</property> <property name="draw_indicator">True</property> </widget> <packing> <property name="position">2</property> </packing> </child> </widget> </child> </widget> </glade-interface>
рдЖрдкрдХреЛ рдПрдХ рдЕрдЬрдЧрд░ рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА (рдЬрдм рд╕реЗ рдореИрдВ рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд▓рд┐рдЦ рд░рд╣рд╛ рд╣реВрдВ), рдЬреЛ рдЗрд╕ рдлреЙрд░реНрдо рдХреЛ рджрд┐рдЦрд╛рддрд╛ рд╣реИ:
рдЙрд╕реА рд╕рдордп, рдпрд╣ рдХрдВрд╕реЛрд▓ рдХреЛ рдПрдХ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдЖрдЙрдЯрдкреБрдЯ рдХрд░реЗрдЧрд╛ рдпрд╣ рджрд┐рдЦрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдХрдВрд╕реЛрд▓ рдореЗрдВ рднрд╛рд╖рд╛ рднреА рдмрджрд▓ рд░рд╣реА рд╣реИред
рдЖрдк рд╡рд┐рднрд┐рдиреНрди рддрд░реАрдХреЛрдВ рд╕реЗ рд╕реНрдерд╛рдиреАрдпрдХрд░рдг рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдкреНрд░рддреНрдпреЗрдХ рд▓рд╛рдЗрди / рд╡рд┐рдЬреЗрдЯ рдХреЗ рд▓рд┐рдП рдкреНрд░реЛрд╕реЗрд╕рд┐рдВрдЧ рдХреЛрдб рд╕реНрд╡рдпрдВ рд▓рд┐рдЦреЗрдВ рдФрд░ рдХреБрдЫ рдкреНрд░рдХрд╛рд░ рдХреЗ рдирд┐рдпрдВрддреНрд░рдг рдХрдорд╛рдВрдб рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рд▓рд╛рдЗрдиреЛрдВ рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░реЗрдВред рдЗрд╕рдореЗрдВ рдПрдХ рдЫреЛрдЯрд╛ рдкреНрд▓рд╕ рд╣реИ - рд╕рднреА рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреЗ рдХрд┐рд╕реА рднреА рд╕рдордп рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдмрд╛рдХреА рд╕рднреА minuses рд╣реИрдВред рдФрд░ рдпрд╣ рднрдпрд╛рдирдХ рдФрд░ рдХрд╛рдо рджрд┐рдЦреЗрдЧрд╛ред
рд╕рд╡рд╛рд▓ рд╕реНрд╡рд╛рднрд╛рд╡рд┐рдХ рд░реВрдк рд╕реЗ рдЙрдарддрд╛ рд╣реИ - рд╡рд░реНрдЧ рдкрд╣рд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рдкрд╣рд┐рдпрд╛ рдХреЛ рдХреИрд╕реЗ рдордЬрдмреВрдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рдП? рдпрд╣ рдкрддрд╛ рдЪрд▓рд╛ рдХрд┐ рд╕рдм рдХреБрдЫ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╣реИ, рдЖрдкрдХреЛ рдХреЗрд╡рд▓ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ (рдЬреНрдпрд╛рджрд╛рддрд░ рдорд╛рдорд▓реЛрдВ рдореЗрдВ)ред
рдкрд╣рд▓реЗ рдЖрдкрдХреЛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд▓рд┐рдП рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рд╕реНрдерд╛рдиреАрдп рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреЛ рд░реАрд╕реЗрдЯ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ (рдЖрдорддреМрд░ рдкрд░ рд▓реИрдВрдЧ рд╡рд╛рддрд╛рд╡рд░рдг рдЪрд░ рдореЗрдВ рдкрд░рд┐рднрд╛рд╖рд┐рдд)ред рдпрд╣ рдмрд╣реБ-рдзрд╛рдЧрд╛ рдХрд╛рд░реНрдпрдХреНрд░рдо рдореЗрдВ рд╕рдВрднрд╛рд╡рд┐рдд рд╕рдорд╕реНрдпрд╛рдУрдВ рд╕реЗ рдЫреБрдЯрдХрд╛рд░рд╛ рдкрд╛рдиреЗ рдореЗрдВ рдорджрдж рдХрд░реЗрдЧрд╛ред рдРрд╕реА рдХрд╛рд░реНрд░рд╡рд╛рдИ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ
рд╕реНрдерд╛рдиреАрдп рдореЙрдбреНрдпреВрд▓ рдХреЛ рдХрдиреЗрдХреНрдЯ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
locale.setlocale(locale.LC_ALL, '')
рдЕрдЧрд▓рд╛, рд╣рдо
рдЧреЗрдЯрдЯреЗрдХреНрд╕реНрдЯ рдореЙрдбреНрдпреВрд▓ рдХреА рдХреНрд╖рдорддрд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗ (рдЗрд╕рд▓рд┐рдП, рдЗрд╕реЗ рднреА рдХрдиреЗрдХреНрдЯ рдХрд░рдирд╛ рд╣реЛрдЧрд╛)ред рдЙрдирдХреЗ рдкреНрд░рд▓реЗрдЦрди рдХреЛ рджреЗрдЦрддреЗ рд╣реБрдП, рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдЙрдиреНрд╣реЗрдВ рдХреБрдЫ "рджреНрд╡рд┐рдЖрдзрд╛рд░реА .mo рдлрд╝рд╛рдЗрд▓реЛрдВ" рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
.mo рдлрд╛рдЗрд▓реЗрдВ рд╕рднреА рдЯреНрд░рд╛рдВрд╕рдлрд╝реЙрд░реНрдореЗрдмрд▓ рдкреНрд░реЛрдЧреНрд░рд╛рдо рд▓рд╛рдЗрдиреЛрдВ рдХреА рд╕реВрдЪреА рд╡рд╛рд▓реА рдлрд╛рдЗрд▓реЗрдВ рд╣реИрдВред
рдЙрдиреНрд╣реЗрдВ рдХреИрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ:
рдкрд╣рд▓реЗ рдЖрдкрдХреЛ рдЧреНрд▓реЗрдб рдлреЙрд░реНрдо (рд╡рд┐рдЬреЗрдЯреНрд╕ рдкрд░ рд╢рд┐рд▓рд╛рд▓реЗрдЦ) рд╕реЗ рд╕рднреА рд▓рд╛рдЗрдиреЛрдВ рдХреЛ рдлрд╛рдбрд╝рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдРрд╕рд╛ рдХрд░рдирд╛, рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдЗрд╕рдХреЗ рд▓рд╛рдпрдХ рдирд╣реАрдВ рд╣реИред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдо intltool рдХрдорд╛рдВрдб рдХреЗ рд╕реЗрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗ:
intltool-extract --type=gettext/glade localize.glade
рдпрджрд┐ рд╡рд╛рдВрдЫрд┐рдд рд╣реИ, рддреЛ рдЕрддрд┐рд░рд┐рдХреНрдд рдкреИрд░рд╛рдореАрдЯрд░ рдордиреБрд╖реНрдп рдореЗрдВ рдкрд╛рдП рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВред рдЕрдВрддрд┐рдо рдЗрдирдкреБрдЯ рдкреИрд░рд╛рдореАрдЯрд░ рдЙрд╕ рдлрд╝реЙрд░реНрдо рдХреА рдЧреНрд▓реЗрдб рдлрд╝рд╛рдЗрд▓ рд╣реИ рдЬрд╣рд╛рдВ рд╕реЗ рдЖрдк рдкрд╛рда рдХреЛ рдЪреАрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред рдпрд╣ рдХрдорд╛рдВрдб localize.glade.h рдлрд╝рд╛рдЗрд▓ рдмрдирд╛рдПрдЧреА:
char *s = N_("label text"); char *s = N_("button text"); char *s = N_("checkbutton text");
рдЬрд╣рд╛рдВ, рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рдкреНрд░рдкрддреНрд░ рдХреЗ рд╡рд┐рдЬреЗрдЯ рд╕реЗ рд╕рднреА рдкрд╛рда рд▓рд╛рдЗрдиреЗрдВ рд╕реВрдЪреАрдмрджреНрдз рд╣реИрдВред
рд╣рдореЗрдВ рдпрд╛рдж рд╣реИ рдХрд┐ рдкрд╛рдпрдерди рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдПрдХ рдкрдВрдХреНрддрд┐ рднреА рд╣реИ рдЬрд┐рд╕реЗ рдореИрдВ рдЕрдиреБрд╡рд╛рдж рдХрд░рдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛ред рдЖрдкрдХреЛ рдЗрд╕реЗ рдЪреАрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ, рдЖрдкрдХреЛ рдмрд╕ рдЗрд╕реЗ рдЪрд┐рд╣реНрдирд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рддрд╛рдХрд┐ рд╕реНрдерд╛рдиреАрдпрдХрд░рдг рдЯреАрдореЛрдВ рдХреЛ рд╕рдордЭ рдореЗрдВ рдЖ рдЬрд╛рдП рдХрд┐ рдЗрд╕рдХрд╛ рдЕрдиреБрд╡рд╛рдж рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП, рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдХреЗ рд░реВрдк рдореЗрдВ рд▓рд╛рдЗрди рд▓рд┐рдЦрдиреЗ рдХрд╛ рд╕реБрдЭрд╛рд╡ рд╣реИ:
print _("hello to me")
рдпрд╛рдиреА рд▓реЗрдирд╛ in _ ()
рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рдКрдкрд░ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, localize.glade.h рдореЗрдВ, рд▓рд╛рдЗрдиреЛрдВ рдХреЛ N_ () рдореЗрдВ рд▓рдкреЗрдЯрд╛ рдЧрдпрд╛ рд╣реИред рдпрд╣ рднреА рдПрдХ рддрд░рд╣ рдХрд╛ рдорд╛рд░реНрдХрд░ рд╣реИред
рдЗрд╕рд▓рд┐рдП, рд╕рднреА рдЖрд╡рд╢реНрдпрдХ рдкрд╛рда рдЪрд┐рд╣реНрдирд┐рдд рд╣реИрдВ рдФрд░ рдЕрдм рдЗрд╕реЗ рдПрдХ рд╣реА рд╕реНрдерд╛рди рдкрд░ рдПрдХрддреНрд░ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдЯреАрдо рдЗрд╕рдореЗрдВ рд╣рдорд╛рд░реА рдорджрдж рдХрд░реЗрдЧреА:
xgettext --language=Python --keyword=_ --keyword=N_ --output=show_form.pot show_form.py localize.glade.h
--Keyword рд╡рд┐рдХрд▓реНрдк рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреЛ рджрд┐рдЦрд╛рддрд╛ рд╣реИ рдХрд┐ рдПрдХрддреНрд░рд┐рдд рдХрд░рддреЗ рд╕рдордп рдХреНрдпрд╛ рд▓реЗрдмрд▓ рджреЗрдЦрдирд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣рд╛рдВ рджреЛ "_" рдФрд░ "N_" рд╣реИрдВред --рдЖрдЙрдЯрдкреБрдЯ рдЖрдЙрдЯрдкреБрдЯ рдлрд╛рдЗрд▓ рдХрд╛ рдирд╛рдо рд╕реЗрдЯ рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдлрд┐рд░ рдЙрди рд╕рднреА рдлрд╛рдЗрд▓реЛрдВ рдХреА рдПрдХ рд╕реВрдЪреА рд╣реЛрддреА рд╣реИ, рдЬрд╣рд╛рдВ рдЖрдкрдХреЛ рд▓реЗрдмрд▓ рдХреА рдЦреЛрдЬ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ (рд╣рдо рдирд┐рд╖реНрдХрд░реНрд╖ рдирд┐рдХрд╛рд▓ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рд▓реЗрдмрд▓ рдЕрд▓рдЧ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдореИрдВ рдЙрдирдХреЗ рд╕рд╛рде рдкрд░реЗрд╢рд╛рди рдирд╣реАрдВ рд╣реБрдЖ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдирд╣реАрдВ рд╣реИ)ред
рдкрд░рд┐рдгрд╛рдо рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╕рд╛рдордЧреНрд░реА рдХреЗ рд╕рд╛рде рдПрдХ рдлрд╝рд╛рдЗрд▓ рд╣реИ:# рдХреБрдЫ рдЖрдХрд░реНрд╖рдХ рд╢реАрд░реНрд╖рдХред
# рдХреЙрдкреАрд░рд╛рдЗрдЯ рдкреИрдХреЗрдЬ рдХрд╛ рдХреЙрдкреАрд░рд╛рдЗрдЯ рдзрд╛рд░рдХ
# рдпрд╣ рдлрд╝рд╛рдЗрд▓ рдЙрд╕реА рдкреИрдХреЗрдЬ рдХреЗ рддрд╣рдд рд╡рд┐рддрд░рд┐рдд рдХреА рдЬрд╛рддреА рд╣реИ рдЬреИрд╕реЗ рдХрд┐ рдкреИрдХреЗрдЬ рдкреИрдХреЗрдЬред
# рдкреНрд░рдердо рдСрдЯреЛ <EMAIL @ ADDRESS>, рд╡рд░реНрд╖ред
#
#, рдлрдЬреА
msgstr ""
msgstr ""
"рдкреНрд░реЛрдЬреЗрдХреНрдЯ-рдЖрдИрдбреА-рд╕рдВрд╕реНрдХрд░рдг: рдкреИрдХреЗрдЬ рд╕рдВрд╕реНрдХрд░рдг \ n"
"рд░рд┐рдкреЛрд░реНрдЯ-рдорд┐рд╕рдЧрд┐рдб-рдмрдЧреНрд╕-рдЯреВ: \ n"
"рдкреЙрдЯ-рдХреНрд░рд┐рдПрд╢рди-рдбреЗрдЯ: 2012-11-14 13: 54 + 0300 \ n"
"PO-Revision-Date: YEAR-MO-DA HO: MI + ZONE \ n"
"рдЕрдВрддрд┐рдо-рдЕрдиреБрд╡рд╛рджрдХ: рдкреВрд░реНрдг рдирд╛рдо <EMAIL @ ADDRESS> \ n"
"рднрд╛рд╖рд╛-рдЯреАрдо: рднрд╛рд╖рд╛ <LL@li.org> \ n"
"рднрд╛рд╖рд╛: \ n"
"MIME- рд╕рдВрд╕реНрдХрд░рдг: 1.0 \ n"
"рд╕рд╛рдордЧреНрд░реА-рдкреНрд░рдХрд╛рд░: рдкрд╛рда / рд╕рд╛рджрд╛; charset = CHARSET \ n ┬╗
"рд╕рд╛рдордЧреНрд░реА-рдЕрдВрддрд░рдг-рдПрдиреНрдХреЛрдбрд┐рдВрдЧ: 8bit \ n"
#: show_form.py:14
msgstr "рдореЗрд░реЗ рд▓рд┐рдП рдирдорд╕реНрдХрд╛рд░"
msgstr ""
#: localize.glade.h: 1
msgstr "рд▓реЗрдмрд▓ рдкрд╛рда"
msgstr ""
#: localize.glade.h: 2
msgstr "рдмрдЯрди рдкрд╛рда"
msgstr ""
#: localize.glade.h: 3
msgstr "рдЪреЗрдХрдмрдЯрди рдкрд╛рда"
msgstr ""
рдпрд╣ рднрд╡рд┐рд╖реНрдп рдХреА рд╕рднреА рдЕрдиреБрд╡рд╛рдж рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рдЯреЗрдореНрдкреНрд▓реЗрдЯ рд╣реИред рдЖрдкрдХреЛ рдЗрд╕реЗ рд╕рдВрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред рдЕрдм рднрд╛рд╖рд╛рдУрдВ рдкрд░ рдлреИрд╕рд▓рд╛ рдХрд░рдиреЗ рдХрд╛ рд╕рдордп рдЖ рдЧрдпрд╛ рд╣реИред рдореИрдВрдиреЗ рдЕрдВрдЧреНрд░реЗрдЬреА (en_US), рд░реВрд╕реА (ru) рдФрд░ рдЬрд░реНрдорди (de_DE) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ (рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдЬрд░реНрдорди рд╕реЗ рдореИрдВ рдХреЗрд╡рд▓ "рд╣рд┐рдЯрд▓рд░ рдХрдкреВрдд" рдФрд░ "рд╣рд╛рдВрдбреЗрдЦ" рдЬрд╛рдирддрд╛ рд╣реВрдВ рдФрд░ рдпрд╣ рд▓рд┐рдЦрд╛ рдирд╣реАрдВ рдЧрдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕реЗ рдвреЗрд░ рдХрд░рдиреЗ рджреЗрдВ)ред рдкреНрд░рддреНрдпреЗрдХ рднрд╛рд╖рд╛ рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЛ рдЯреЗрдореНрдкрд▓реЗрдЯ рд╕реЗ рдПрдХ рд╕реНрдерд╛рдиреАрдп рдлрд╝рд╛рдЗрд▓ рдмрдирд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рдпрд╣ рдЖрджреЗрд╢реЛрдВ рджреНрд╡рд╛рд░рд╛ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ:
msginit --locale=ru --input=show_form.pot msginit --locale=en_US --input=show_form.pot msginit --locale=de_DE --input=show_form.pot
рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, рддреАрди ru.po, de.po, рдФрд░ en_US.po рдлрд╝рд╛рдЗрд▓реЗрдВ рдкреНрд░рдХрдЯ рд╣реЛрддреА рд╣реИрдВред рдЕрдВрджрд░, рд╡реЗ рд▓рдЧрднрдЧ рдЯреЗрдореНрдкрд▓реЗрдЯ рдХреЗ рд░реВрдк рдореЗрдВ рдЦрд╛рд▓реА рд╣реИрдВ, рд▓реЗрдХрд┐рди рд╣реЗрдбрд░ рднрд░рд╛ рд╣реБрдЖ рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдмрд┐рд▓реНрдХреБрд▓ рдЙрд╕ рдбреЗрдЯрд╛ рдХреЗ рд╕рд╛рде рдирд╣реАрдВ рд╣реИ рдЬреЛ рдореБрдЭреЗ рдкрд╕рдВрдж рдЖрдПрдЧрд╛ (рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдореИрдВ рдХреБрдВрдЬрд┐рдпреЛрдВ рдореЗрдВ рдХреБрдЫ рдЗрдВрдЧрд┐рдд рдирд╣реАрдВ рдХрд░рддрд╛) рдФрд░ рдЕрдиреНрдп рднрд╛рд╖рд╛рдУрдВ рдореЗрдВ рд▓рд╛рдЗрдиреЛрдВ рдХрд╛ рдЕрдиреБрд╡рд╛рдж рдХрд┐рдП рдмрд┐рдирд╛ (рд╕реНрд╡рд╛рднрд╛рд╡рд┐рдХ рд░реВрдк рд╕реЗ)ред рдЖрдкрдХреЛ рдЕрдкрдиреЗ рд╣рд╛рдереЛрдВ рд╕реЗ рдЕрдиреБрд╡рд╛рдж рдХреЛ рдПрдлрд╝рдЯреАрдкреА рдХреНрд╖реЗрддреНрд░реЛрдВ рдореЗрдВ рдЪрд▓рд╛рдирд╛ рд╣реЛрдЧрд╛ред рдореИрдВрдиреЗ utf-8 рдХреЛ charset рднреА рд╕рд╣реА рдХрд┐рдпрд╛, рдЪрд░рд┐рддреНрд░ рдХрд╛ рдЖрдХрд╛рд░ 16 рдмрд┐рдЯреНрд╕ рдФрд░ рдИ-рдореЗрд▓ рд╣реИред
рдкрд░рд┐рдгрд╛рдо рд╣реИ:
ru.po# рдкреИрдХреЗрдЬ рдкреИрдХреЗрдЬ рдХреЗ рд▓рд┐рдП рд░реВрд╕реА рдЕрдиреБрд╡рд╛рджред
# рдХреЙрдкреАрд░рд╛рдЗрдЯ 2012 рдкреИрдХреЗрдЬреЗрдЬ рдХреЙрдкреАрд░рд╛рдЗрдЯ рдзрд╛рд░рдХ
# рдпрд╣ рдлрд╝рд╛рдЗрд▓ рдЙрд╕реА рдкреИрдХреЗрдЬ рдХреЗ рддрд╣рдд рд╡рд┐рддрд░рд┐рдд рдХреА рдЬрд╛рддреА рд╣реИ рдЬреИрд╕реЗ рдХрд┐ рдкреИрдХреЗрдЬ рдкреИрдХреЗрдЬред
# <рдЖрдЖ @ рдмрдмреНрдм>, реирежрезреи
#
msgstr ""
msgstr ""
"рдкреНрд░реЛрдЬреЗрдХреНрдЯ-рдЖрдИрдбреА-рд╕рдВрд╕реНрдХрд░рдг: рдкреИрдХреЗрдЬ рд╕рдВрд╕реНрдХрд░рдг \ n"
"рд░рд┐рдкреЛрд░реНрдЯ-рдорд┐рд╕рдЧрд┐рдб-рдмрдЧреНрд╕-рдЯреВ: \ n"
"рдкреЙрдЯ-рдХреНрд░рд┐рдПрд╢рди-рдбреЗрдЯ: 2012-11-14 13: 54 + 0300 \ n"
"рдкреАрдУ-рд╕рдВрд╢реЛрдзрди-рддрд┐рдерд┐: 2012-11-14 13: 58 + 0300 \ n"
"рдЕрдВрддрд┐рдо-рдЕрдиреБрд╡рд╛рджрдХ: <aaa @ bbb> \ n"
"рднрд╛рд╖рд╛-рдЯреАрдо: рд░реВрд╕реА \ n"
"рднрд╛рд╖рд╛: рдЖрд░рдпреВ \ n"
"MIME- рд╕рдВрд╕реНрдХрд░рдг: 1.0 \ n"
"рд╕рд╛рдордЧреНрд░реА-рдкреНрд░рдХрд╛рд░: рдкрд╛рда / рд╕рд╛рджрд╛; charset = utf-8 \ n "
"рд╕рд╛рдордЧреНрд░реА-рдЕрдВрддрд░рдг-рдПрдиреНрдХреЛрдбрд┐рдВрдЧ: 16bit \ n"
"рдмрд╣реБрд╡рдЪрди-рд░реВрдк: nplurals = 3; рдмрд╣реБрд╡рдЪрди = (n% 10 == 1 && n% 100! = 11; 0: n% 10> = 2 & n "
"% 10 <= 4 && (n% 100 <10 || n% 100> = 20)? 1: 2) \ n"?
#: show_form.py:14
msgstr "рдореЗрд░реЗ рд▓рд┐рдП рдирдорд╕реНрдХрд╛рд░"
"рдореБрдЭреЗ рдирдорд╕реНрдХрд╛рд░"
#: localize.glade.h: 1
msgstr "рд▓реЗрдмрд▓ рдкрд╛рда"
msgstr "рд▓реЗрдмрд▓"
#: localize.glade.h: 2
msgstr "рдмрдЯрди рдкрд╛рда"
msgstr "рдмрдЯрди"
#: localize.glade.h: 3
msgstr "рдЪреЗрдХрдмрдЯрди рдкрд╛рда"
рдЪреЗрдХрдорд╛рд░реНрдХ
de.po(рд╣рд╛рдБ, рдпрд╣ рдЬрд░реНрдорди рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдирд╣реАрдВ рд╣реИ):
# рдкреИрдХреЗрдЬ рдкреИрдХреЗрдЬ рдХреЗ рд▓рд┐рдП рдЬрд░реНрдорди рдЕрдиреБрд╡рд╛рджред
# рдХреЙрдкреАрд░рд╛рдЗрдЯ 2012 рдкреИрдХреЗрдЬреЗрдЬ рдХреЙрдкреАрд░рд╛рдЗрдЯ рдзрд╛рд░рдХ
# рдпрд╣ рдлрд╝рд╛рдЗрд▓ рдЙрд╕реА рдкреИрдХреЗрдЬ рдХреЗ рддрд╣рдд рд╡рд┐рддрд░рд┐рдд рдХреА рдЬрд╛рддреА рд╣реИ рдЬреИрд╕реЗ рдХрд┐ рдкреИрдХреЗрдЬ рдкреИрдХреЗрдЬред
# <рдЖрдЖ @ рдмрдмреНрдм>, реирежрезреи
#
msgstr ""
msgstr ""
"рдкреНрд░реЛрдЬреЗрдХреНрдЯ-рдЖрдИрдбреА-рд╕рдВрд╕реНрдХрд░рдг: рдкреИрдХреЗрдЬ рд╕рдВрд╕реНрдХрд░рдг \ n"
"рд░рд┐рдкреЛрд░реНрдЯ-рдорд┐рд╕рдЧрд┐рдб-рдмрдЧреНрд╕-рдЯреВ: \ n"
"рдкреЙрдЯ-рдХреНрд░рд┐рдПрд╢рди-рдбреЗрдЯ: 2012-11-14 13: 54 + 0300 \ n"
"рдкреАрдУ-рд╕рдВрд╢реЛрдзрди-рддрд┐рдерд┐: 2012-11-14 14: 14 + 0300 \ n"
"рдЕрдВрддрд┐рдо-рдЕрдиреБрд╡рд╛рджрдХ: <aaa @ bbb> \ n"
"рднрд╛рд╖рд╛-рдЯреАрдо: рдЬрд░реНрдорди \ n"
"рднрд╛рд╖рд╛: рдбреА \ n"
"MIME- рд╕рдВрд╕реНрдХрд░рдг: 1.0 \ n"
"рд╕рд╛рдордЧреНрд░реА-рдкреНрд░рдХрд╛рд░: рдкрд╛рда / рд╕рд╛рджрд╛; charset = utf-8 \ n "
"рд╕рд╛рдордЧреНрд░реА-рдЕрдВрддрд░рдг-рдПрдиреНрдХреЛрдбрд┐рдВрдЧ: 16bit \ n"
"рдмрд╣реБрд╡рдЪрди-рд░реВрдк: nplurals = 2; рдмрд╣реБрд╡рдЪрди = (n! = 1); \ n "
#: show_form.py:14
msgstr "рдореЗрд░реЗ рд▓рд┐рдП рдирдорд╕реНрдХрд╛рд░"
msgstr "рдПрдл"
#: localize.glade.h: 1
msgstr "рд▓реЗрдмрд▓ рдкрд╛рда"
msgstr "рдбреА"
#: localize.glade.h: 2
msgstr "рдмрдЯрди рдкрд╛рда"
msgstr "рдЬреА"
#: localize.glade.h: 3
msgstr "рдЪреЗрдХрдмрдЯрди рдкрд╛рда"
msgstr "рдИ"
en_US.po# рдкреИрдХреЗрдЬ рдкреИрдХреЗрдЬ рдХреЗ рд▓рд┐рдП рдЕрдВрдЧреНрд░реЗрдЬреА рдЕрдиреБрд╡рд╛рджред
# рдХреЙрдкреАрд░рд╛рдЗрдЯ 2012 рдкреИрдХреЗрдЬреЗрдЬ рдХреЙрдкреАрд░рд╛рдЗрдЯ рдзрд╛рд░рдХ
# рдпрд╣ рдлрд╝рд╛рдЗрд▓ рдЙрд╕реА рдкреИрдХреЗрдЬ рдХреЗ рддрд╣рдд рд╡рд┐рддрд░рд┐рдд рдХреА рдЬрд╛рддреА рд╣реИ рдЬреИрд╕реЗ рдХрд┐ рдкреИрдХреЗрдЬ рдкреИрдХреЗрдЬред
# <рдЖрдЖ @ рдмрдмреНрдм>, реирежрезреи
#
msgstr ""
msgstr ""
"рдкреНрд░реЛрдЬреЗрдХреНрдЯ-рдЖрдИрдбреА-рд╕рдВрд╕реНрдХрд░рдг: рдкреИрдХреЗрдЬ рд╕рдВрд╕реНрдХрд░рдг \ n"
"рд░рд┐рдкреЛрд░реНрдЯ-рдорд┐рд╕рдЧрд┐рдб-рдмрдЧреНрд╕-рдЯреВ: \ n"
"рдкреЙрдЯ-рдХреНрд░рд┐рдПрд╢рди-рдбреЗрдЯ: 2012-11-14 13: 54 + 0300 \ n"
"рдкреАрдУ-рд╕рдВрд╢реЛрдзрди-рддрд┐рдерд┐: 2012-11-14 13: 58 + 0300 \ n"
"рдЕрдВрддрд┐рдо-рдЕрдиреБрд╡рд╛рджрдХ: <aaa @ bbb> \ n"
"рднрд╛рд╖рд╛-рдЯреАрдо: рдЕрдВрдЧреНрд░реЗрдЬреА \ n"
"рднрд╛рд╖рд╛: en_US \ n"
"MIME- рд╕рдВрд╕реНрдХрд░рдг: 1.0 \ n"
"рд╕рд╛рдордЧреНрд░реА-рдкреНрд░рдХрд╛рд░: рдкрд╛рда / рд╕рд╛рджрд╛; charset = utf-8 \ n "
"рд╕рд╛рдордЧреНрд░реА-рдЕрдВрддрд░рдг-рдПрдиреНрдХреЛрдбрд┐рдВрдЧ: 16bit \ n"
"рдмрд╣реБрд╡рдЪрди-рд░реВрдк: nplurals = 2; рдмрд╣реБрд╡рдЪрди = (n! = 1); \ n "
#: show_form.py:14
msgstr "рдореЗрд░реЗ рд▓рд┐рдП рдирдорд╕реНрдХрд╛рд░"
msgstr "рдореЗрд░реЗ рд▓рд┐рдП рдирдорд╕реНрдХрд╛рд░"
#: localize.glade.h: 1
msgstr "рд▓реЗрдмрд▓ рдкрд╛рда"
msgstr "рд▓реЗрдмрд▓ рдЯреЗрдХреНрд╕реНрдЯ"
#: localize.glade.h: 2
msgstr "рдмрдЯрди рдкрд╛рда"
msgstr "рдмрдЯрди рдкрд╛рда"
#: localize.glade.h: 3
msgstr "рдЪреЗрдХрдмрдЯрди рдкрд╛рда"
msgstr "рдЪреЗрдХрдмрдЯрди рдкрд╛рда"
рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ - рдХреНрдпреЛрдВ рджреЗрд╢реА рд╕рдВрд╕реНрдХрд░рдг (рдореИрдВ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ en_US рд╣реИ) рдмрдирд╛рддреЗ рд╣реИрдВред рд▓реЗрдХрд┐рди рдЖрдЦрд┐рд░рдХрд╛рд░, рдХрд┐рд╕реА рдЕрдиреНрдп рд╡реНрдпрдХреНрддрд┐ рдХреЛ рдПрдХ рдкреНрд░рд┐рдп рд╡реНрдпрдХреНрддрд┐ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, de_DE, рдФрд░ рд╡рд╣ рдЕрдВрдЧреНрд░реЗрдЬреА рдореЗрдВ рдЕрдиреБрд╡рд╛рдж рджреЗрдЦрдирд╛ рдЪрд╛рд╣реЗрдЧрд╛ред рд╣рд╛рдВ, рдФрд░ рдЧреЗрдЯрдЯреЗрдХреНрд╕реНрдЯ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдЗрд╕реЗ рдмрдирд╛рдиреЗ рдХреА рд╕рд▓рд╛рд╣ рджреЗрддреЗ рд╣реИрдВред
рдХреБрдЫ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдЗрдВрдЯреЙрд▓реВрд▓-рдорд░реНрдЬ рдХрдорд╛рдВрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдлреЙрд░реНрдо рдореЗрдВ рд╡рд╛рдкрд╕ рдкрд░рд┐рд╡рд░реНрддрди рдХрд░рдиреЗ рдХрд╛ рд╕реБрдЭрд╛рд╡ рднреА рджреЗрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рддрдм рд╕реЗ рдЙрд╕реА рд╕рдордп рдореИрдВрдиреЗ рдмрд┐рдирд╛ рдХрд┐рд╕реА рдмрджрд▓рд╛рд╡ рдХреЗ рдареАрдХ рд╡реИрд╕рд╛ рд╣реА рд░реВрдк рдмрдирд╛рдпрд╛, рдлрд┐рд░ рдореБрдЭреЗ рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рджрд┐рдЦрддреАред
рдЗрд╕рд▓рд┐рдП, .mo рдлрд╛рдЗрд▓реЗрдВ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдм рдХреБрдЫ рд╣реИред рдпрд╣ рдЖрджреЗрд╢реЛрдВ рджреНрд╡рд╛рд░рд╛ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ:
msgfmt ru.po -o locale/ru/LC_MESSAGES/show_form.mo msgfmt en_US.po -o locale/en_US/LC_MESSAGES/show_form.mo msgfmt de.po -o locale/de/LC_MESSAGES/show_form.mo
-рдУ рд╡рд┐рдХрд▓реНрдк (рдХрд╛рдлреА рд╕реНрдкрд╖реНрдЯ) рдЙрд╕ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рд╕рдорд╛рдкреНрдд рдлрд╝рд╛рдЗрд▓ рд╕реНрдерд┐рдд рд╣реЛрдЧреА, рдФрд░ рдпрд╣ рдзреНрдпрд╛рди рджреЗрдиреЗ рдпреЛрдЧреНрдп рд╣реИ рдХрд┐ рд╢реАрд░реНрд╖ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ (рдпрд╣рд╛рдВ "рд▓реЛрдХреЗрд▓") рд╕рднреА .mo рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рд▓рд┐рдП рд╕рдорд╛рди рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдП, рдФрд░ рдлрд┐рд░ рд╕реНрдерд╛рдиреАрдп рдирд╛рдо рд╡рд╛рд▓реА рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдХреЛ рдЬрд╛рдирд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред (ru, de, en_US, de_DE, ru_RU - рдХреНрдпреЛрдВрдХрд┐ рдЕрдВрддрд┐рдо рджреЛ рдмреЛрд▓рд┐рдпреЛрдВ рдХреЗ рдмрд┐рдирд╛ рд╣реИрдВ, рдХрд╛рд░реНрдпрдХреНрд░рдо рдЙрдиреНрд╣реЗрдВ рдкрд╣рд▓реЗ рдЕрдХреНрд╖рд░реЛрдВ рддрдХ рдХрдо рдХрд░ рджреЗрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЖрдк рдкреВрд░реНрдг рдирд╛рдореЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ)ред рдЗрд╕реЗ рдЙрд╕реА рддрд░рд╣ рд╕реЗ рдмреБрд▓рд╛рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдЬреИрд╕реЗ рдХрд┐ рдкрд╛рдпрдерди рдХрд╛рд░реНрдпрдХреНрд░рдо рдореЗрдВ рд╕рдВрдХреЗрддрд┐рдд рдбреЛрдореЗрди, рдХреЗрд╡рд▓ ".mo" рдХреЗ рд╕рд╛рдеред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛ LC_MESSAGES рдЖрдВрддрд░рд┐рдХ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдХреЗ рдирд╛рдо рдХреЗ рдХрдИ рд╕рдВрднрд╛рд╡рд┐рдд рд░реВрдкреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рд╣реИ (рдпрд╣ рднреА, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╕рдорд╛рди рдирд╛рдореЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдмреЗрд╣рддрд░ рд╣реИ)ред
рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рджрд╕реНрддрд╛рд╡реЗрдЬ рдХреНрдпрд╛ рдХрд╣рддреЗ рд╣реИрдВ:
...
рд╕реНрдерд╛рдиреАрдп рднрд╛рд╖рд╛ / рднрд╛рд╖рд╛ / LC_MESSAGES / domain.mo, рдЬрд╣рд╛рдБ рднрд╛рд╖рд╛рдУрдВ рдХреЛ рдХреНрд░рдорд╢рдГ рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░, LC_ALL, LC_MESSAGES, рдФрд░ LANG рдореЗрдВ рдЦреЛрдЬрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдирддреАрдЬрддрди, рд╣рдореЗрдВ рд▓рд╛рдЗрди рдлреАрдбреНрд╕ рд╡рд╛рд▓реА рдлрд╛рдЗрд▓реЗрдВ рдорд┐рд▓реАрдВ рдЬрд┐рдиреНрд╣реЗрдВ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдкреНрд░реЛрдЧреНрд░рд╛рдо рдореЗрдВ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ (рдЗрд╕ рддрд░рд╣ рдХреЗ рдЬреЛрдбрд╝-рддреЛрдбрд╝ рди рдХреЗрд╡рд▓ рдЕрдЬрдЧрд░ / рдЧреНрд▓реЗрдб рдХреЗ рд▓рд┐рдП рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ)ред
рдЖрдЗрдП рдЕрдЬрдЧрд░ рдХрд╛рд░реНрдпрдХреНрд░рдо рдкрд░ рд╡рд╛рдкрд╕ рдЬрд╛рдПрдВред
рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, gettext рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░реЗрдВред рд▓реЛрдХреЗрд▓ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреЛ рд░реАрд╕реЗрдЯ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдЖрдкрдХреЛ рдЙрд╕реЗ рдпрд╣ рдмрддрд╛рдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИ рдХрд┐ рдЯреНрд░рд╛рдВрд╕рд▓реЗрд╢рди рдлрд╛рдЗрд▓реЗрдВ рдФрд░ рдХреМрди рд╕реА рдлрд╛рдЗрд▓реНрд╕ рдХрд╣рд╛рдВ рд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВред рдЗрд╕рдХреЗ рд▓рд┐рдП, рдореИрдВрдиреЗ рджреЛ рдЪрд░ рдкреЗрд╢ рдХрд┐рдП рд╣реИрдВ:
APP="show_form" DIR="locale"
рддрдереНрдп рдпрд╣ рд╣реИ рдХрд┐ рдПрдкреАрдкреА рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреЗ рдирд╛рдо рд╕реЗ рдореЗрд▓ рдЦрд╛рддрд╛ рд╣реИ, рдкреНрд░рд▓реЗрдЦрди рд╕реЗ рдмрдЪрд╛ рд╣реБрдЖ рд╣реИ, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдХреЛрдИ рднреА рдирд╛рдо рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдпрджреНрдпрдкрд┐ рдпрджрд┐ рдЖрдк .mo рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдЙрд╕ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреЗ рдирд╛рдо рд╕реЗ рджреЗрдЦрддреЗ рд╣реИрдВ, рдЬрд┐рд╕рд╕реЗ рд╡реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реИрдВ, рддреЛ рдпрд╣ рд╕рдордЭрдирд╛ рдмрд╣реБрдд рдЖрд╕рд╛рди рд╣реИ рдХрд┐ рдХреНрдпрд╛ рд╣реИред
рдПрдкреАрдкреА .mo рдлрд╝рд╛рдЗрд▓реЛрдВ рдХрд╛ рдирд╛рдо рд╣реИ, рдбреАрдЖрдИрдЖрд░ рднрд╛рд╖рд╛рдУрдВ рдХреЗ рд╕рд╛рде рдЖрдо рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рд╣реИред рдЗрд╕ рддрдереНрдп рдХреЗ рд╕реНрдкрд╖реНрдЯреАрдХрд░рдг рдХреА рд╡реНрдпрд╛рдЦреНрдпрд╛ рд▓рд╛рдЗрдиреЛрдВ рджреНрд╡рд╛рд░рд╛ рдирд┐рд░реНрдорд┐рдд рд╣реИ:
gettext.bindtextdomain(APP, DIR) gettext.textdomain(APP)
рдЕрдм рдЖрдкрдХреЛ рдЕрдЬрдЧрд░ рдХреЛ рд╕рдордЭрд╛рдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИ рдХрд┐ рдлреЙрд░реНрдо _ () рдХреА рд▓рд╛рдЗрдиреЛрдВ рдХреЗ рд╕рд╛рде рдХреНрдпрд╛ рдХрд░рдирд╛ рд╣реИред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, "_" рдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдлрд╝рд╛рдЗрд▓ рд╕реЗ рдЕрдиреБрд╡рд╛рдж рд▓реЗрдиреЗ рдХрд╛ рдХрд╛рд░реНрдп рд╕реМрдВрдкрд╛ рдЧрдпрд╛ рд╣реИред рдЗрд╕реЗ рджреЛ рддрд░рд╣ рд╕реЗ рд▓рд┐рдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:
lang = gettext.translation(APP, DIR) _ = lang.gettext
рдпрд╛
_ = gettext.gettext
рдпрджрд┐ рдЖрдк рдореЙрдбреНрдпреВрд▓ рдХреЛрдб рдХреЛ рджреЗрдЦрддреЗ рд╣реИрдВ, рддреЛ рд╡рд╣реА рдмрд╛рддред рддреЛ рдпрд╣ рдПрдХ рдЫреЛрдЯрд╛ рд░рд┐рдХреЙрд░реНрдб рдЪреБрдирдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдордЭ рдореЗрдВ рдЖрддрд╛ рд╣реИред
рдпрд╣ рд╡рд╛рдВрдЫрд┐рдд рднрд╛рд╖рд╛ рдореЗрдВ рдкреНрд░рджрд░реНрд╢рд┐рдд рд╣реЛрдиреЗ рд╡рд╛рд▓реА .py рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╣реИред рдФрд░ рдЧреНрд▓реЗрдб рдлреЙрд░реНрдо рдХреЛ рд╕реНрдерд╛рдиреАрдп рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ gtk рдХреА рд╡реНрдпрд╛рдЦреНрдпрд╛ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдЬрд╣рд╛рдВ рдЕрдиреБрд╡рд╛рдж рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рд╣реИ рдФрд░ рдЬреЛ рдПрдХ рд╣реИ:
gtk.glade.bindtextdomain(APP, DIR) wTree = gtk.glade.XML("localize.glade", "window1", APP)
рдЕрдВрддрд┐рдо рдХреЛрдб:
рдЪрд▓ рд░рд╣рд╛ рд╣реИ:
LANG=en_US.utf-8 ./show_form.py

LANG=ru_RU.utf-8 ./show_form.py

LANG=de_DE.utf-8 ./show_form.py
рдФрд░ рдпрд╣рд╛рдБ рддреНрд░реБрдЯрд┐ рдИрдорд╛рдирджрд╛рд░реА рд╕реЗ рдмрд╛рд╣рд░ рдирд┐рдХрд▓рддреА рд╣реИ, tkред рдЬрд░реНрдорди рд▓реЛрдХреЗрд▓ рдореБрдЭрд╕реЗ рдЬреБрдбрд╝реА рдирд╣реАрдВ рд╣реИред рдЗрд╕ рдкреНрд░рдХрд╛рд░, рд▓реЛрдХреЗрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдЗрд╕реЗ рдЧреНрд░рд╛рдлрд┐рдХрд▓ рд╢реЗрд▓ рдХреА рд╕реЗрдЯрд┐рдВрдЧ рдореЗрдВ рдЬреЛрдбрд╝рдирд╛ рд╣реЛрдЧрд╛ред
рд╡рд╣ рд╕рдм рд╣реИред
рдЕрдкрдбреЗрдЯ :
рдмрд┐рд▓реНрдбрд░ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВред рдпрджрд┐ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдкрд░рд┐рд╡рд╛рдж рдХреЗ рд▓рд┐рдП рдПрдХ рд░реВрдк рд╣реИ, рддреЛ рдЖрдк рдпрд╛ рддреЛ рдкрд░рд┐рд╡рд╛рдж-рд░реВрдкрд╛рдВрддрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ (рдореБрдЭреЗ рдПрдХ рддреНрд░реБрдЯрд┐ рдорд┐рд▓реА) рдпрд╛ рдмрд┐рд▓реНрдбрд░ рдХреЗ рд▓рд┐рдП рдПрдХ рдирдпрд╛ рдбреНрд░рд╛ рдХрд░реЗрдВред
рдХреЛрдб рдЗрд╕ рддрд░рд╣ рджрд┐рдЦреЗрдЧрд╛:
рдФрд░, рдЬреИрд╕рд╛ рдХрд┐ рдореВрдирд░рд╛рдЗрдЬ рдиреЗ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рд╣реИ, рд╕рд╛рдордЧреНрд░реА-рдЕрдВрддрд░рдг-рдПрдиреНрдХреЛрдбрд┐рдВрдЧ рдХреЛ рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рддреМрд░ рдкрд░ 8 рдмрд┐рдЯреНрд╕ рдкрд░ рд╕реЗрдЯ рдХрд░рдиреЗ рдХреА рд╕рд┐рдлрд╛рд░рд┐рд╢ рдХреА рдЧрдИ рд╣реИ (рдпрд╛рдиреА, рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдирд╣реАрдВ)ред