[gtkmm-documentation: 15/31] translate chapter 24.
- From: Kjell Ahlstedt <kjellahl src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtkmm-documentation: 15/31] translate chapter 24.
- Date: Tue, 12 Jan 2021 15:40:35 +0000 (UTC)
commit 50a0decec3f4ac9266be5403d78202b90b796413
Author: CCTV-1 <script tar gz gmail com>
Date: Mon Jan 4 22:33:16 2021 +0800
translate chapter 24.
docs/tutorial/zh_CN/zh_CN.po | 136 ++++++++++++++++++++++++++++++++++++++++---
1 file changed, 127 insertions(+), 9 deletions(-)
---
diff --git a/docs/tutorial/zh_CN/zh_CN.po b/docs/tutorial/zh_CN/zh_CN.po
index a35ae28..47a5af5 100644
--- a/docs/tutorial/zh_CN/zh_CN.po
+++ b/docs/tutorial/zh_CN/zh_CN.po
@@ -10487,7 +10487,7 @@ msgstr ""
#: C/index-in.docbook:6103
msgid "Glade and Gtk::Builder"
-msgstr ""
+msgstr "Gladeå’ŒGtk::Builder"
#: C/index-in.docbook:6104
msgid ""
@@ -10499,22 +10499,27 @@ msgid ""
"application> API to load that XML file at runtime and obtain a pointer to "
"specifically named widget instances."
msgstr ""
+"å°½ç®¡ä½ å¯ä»¥ä½¿ç”¨C++代ç 对部件进行实例化和排列,但是这很快就会å˜å¾—枯燥且é‡å¤ã€‚并"
+"且需è¦é‡æ–°ç¼–译æ‰èƒ½æ˜¾ç¤ºæ›´æ”¹ã€‚<application>Glade</application>应用程åºå…è®¸ä½ åœ¨"
+"å±å¹•ä¸Šå¸ƒå±€éƒ¨ä»¶å¹¶ç„¶åŽå°†å¸ƒå±€ä¿å˜ä¸ºXMLæè¿°ã€‚ä½ çš„åº”ç”¨ç¨‹åºå¯ä»¥åœ¨ä¹‹åŽä½¿ç”¨"
+"<application>Gtk::Builder</application>API在è¿è¡Œæ—¶åŠ 载该XML文件,并获å–特定å"
+"称部件实例的指针。"
#: C/index-in.docbook:6117
msgid "Less C++ code is required."
-msgstr ""
+msgstr "需è¦çš„C++代ç 更少。"
#: C/index-in.docbook:6118
msgid "UI changes can be seen more quickly, so UIs are able to improve."
-msgstr ""
+msgstr "å¯ä»¥æ›´å¿«çš„看到UI的更改,更便于改进UI。"
#: C/index-in.docbook:6119
msgid "Designers without programming skills can create and edit UIs."
-msgstr ""
+msgstr "没有编程技能的设计人员å¯ä»¥åˆ›å»ºå’Œç¼–辑UI。"
#: C/index-in.docbook:6114
msgid "This has the following advantages: <_:orderedlist-1/>"
-msgstr ""
+msgstr "这具有以下优点:<_:orderedlist-1/>"
#: C/index-in.docbook:6123
msgid ""
@@ -10522,10 +10527,12 @@ msgid ""
"user actions, but using <application>Gtk::Builder</application> for the "
"widget layout allows you to focus on implementing that functionality."
msgstr ""
+"ä½ ä»ç„¶éœ€è¦ç¼–写C++代ç 以处ç†ç”±ç”¨æˆ·æ“作触å‘çš„UI更改,但是将<application>Gtk::"
+"Builder</application>用于部件布局å…è®¸ä½ æ›´ä¸“æ³¨çš„å®žçŽ°è¯¥åŠŸèƒ½ã€‚"
#: C/index-in.docbook:6130
msgid "Loading the .glade file"
-msgstr ""
+msgstr "åŠ è½½.glade文件"
#: C/index-in.docbook:6135
#, no-wrap
@@ -10533,6 +10540,8 @@ msgid ""
"\n"
"auto builder = Gtk::Builder::create_from_file(\"basic.glade\");\n"
msgstr ""
+"\n"
+"auto builder = Gtk::Builder::create_from_file(\"basic.glade\");\n"
#: C/index-in.docbook:6131
msgid ""
@@ -10542,6 +10551,10 @@ msgid ""
"programlisting-1/> This will instantiate the windows defined in the "
"<filename>.glade</filename> file."
msgstr ""
+"<classname>Gtk::Builder</classname>必须通过<classname>Glib::RefPtr</"
+"classname>æ¥ä½¿ç”¨ã€‚与所有æ¤ç±»ç±»ä¸€æ ·ï¼Œä½ 需è¦é€šè¿‡ä½¿ç”¨<methodname>create()</"
+"methodname>方法实例化它。例如:<_:programlisting-1/>这将实例化<filename>."
+"glade</filename>文件ä¸å®šä¹‰çš„窗å£ã€‚"
#: C/index-in.docbook:6142
#, no-wrap
@@ -10549,6 +10562,8 @@ msgid ""
"\n"
"auto builder = Gtk::Builder::create_from_file(\"basic.glade\", \"treeview_products\");\n"
msgstr ""
+"\n"
+"auto builder = Gtk::Builder::create_from_file(\"basic.glade\", \"treeview_products\");\n"
#: C/index-in.docbook:6141
msgid ""
@@ -10556,10 +10571,12 @@ msgid ""
"specify the name of a widget as the second parameter. For instance, <_:"
"programlisting-1/>"
msgstr ""
+"如果åªæƒ³å®žä¾‹åŒ–一个窗å£æˆ–实例化一个åéƒ¨ä»¶ï¼Œä½ å¯ä»¥å°†éƒ¨ä»¶çš„å称指定为第二个å‚"
+"数。例如:<_:programlisting-1/>"
#: C/index-in.docbook:6150
msgid "Accessing widgets"
-msgstr ""
+msgstr "访问部件"
#: C/index-in.docbook:6158
#, no-wrap
@@ -10567,6 +10584,8 @@ msgid ""
"\n"
"auto pDialog = builder->get_widget<Gtk::Dialog>(\"DialogBasic\");\n"
msgstr ""
+"\n"
+"auto pDialog = builder->get_widget<Gtk::Dialog>(\"DialogBasic\");\n"
#: C/index-in.docbook:6152
msgid ""
@@ -10577,6 +10596,10 @@ msgid ""
"the wrong type, then the pointer will be set to nullptr. <_:programlisting-1/"
">"
msgstr ""
+"è¦è®¿é—®éƒ¨ä»¶ï¼Œä¾‹å¦‚<methodname>show()</methodname>一个对è¯æ¡†ï¼Œè¯·ä½¿ç”¨"
+"<methodname>get_widget()</methodname>方法,并å‘å…¶æ供一个部件å。这个å称应该"
+"在<application>Glade</application>的窗å£å±žæ€§ä¸æŒ‡å®šã€‚如果找ä¸åˆ°è¯¥éƒ¨ä»¶æˆ–是部件"
+"的类型ä¸å¯¹ï¼Œåˆ™æŒ‡é’ˆå°†è¢«è®¾ä¸º<literal>nullptr</literal>。<_:programlisting-1/>"
#: C/index-in.docbook:6163
msgid ""
@@ -10584,6 +10607,8 @@ msgid ""
"checks that the widget is of the expected type, and will show warnings on "
"the command line about these."
msgstr ""
+"<application>Gtk::Builder</application>会进行空指针和部件类型检查,并在命令行"
+"上显示相关的è¦å‘Šã€‚"
#: C/index-in.docbook:6169
msgid ""
@@ -10595,6 +10620,11 @@ msgid ""
"are instantiated during <methodname>Gtk::Builder::create_from_file()</"
"methodname>."
msgstr ""
+"请注æ„ï¼Œä½ å¹¶æ²¡æœ‰ä½¿ç”¨<methodname>get_widget()</methodname>å®žä¾‹åŒ–éƒ¨ä»¶ï¼Œä½ åªæ˜¯èŽ·"
+"得了指å‘å·²ç»å˜åœ¨çš„éƒ¨ä»¶çš„æŒ‡é’ˆã€‚å½“ä½ åœ¨åŒä¸€ä¸ª<classname>Gtk::Builder</classname>"
+"上用åŒä¸€ä¸ªå称调用<methodname>get_widget()</methodname>ä½ æ€»æ˜¯ä¼šå¾—åˆ°æŒ‡å‘åŒä¸€å®ž"
+"例的指针。部件在函数<methodname>Gtk::Builder::create_from_file()</methodname>"
+"执行期间被实例化。"
#: C/index-in.docbook:6178
msgid ""
@@ -10607,12 +10637,20 @@ msgid ""
"of <classname>Gtk::Builder</classname> has more to say about the memory "
"management of different kinds of objects."
msgstr ""
+"<methodname>get_widget()</methodname>返回一个ç»<function>manage()</function>"
+"处ç†çš„å部件(å‚阅<link linkend=\"chapter-memory\">内å˜ç®¡ç†</link>ç« èŠ‚ï¼‰ï¼Œå› "
+"æ¤åœ¨åˆ é™¤å…¶çˆ¶éƒ¨ä»¶æ—¶å®ƒä»¬å°†è¢«ä¸€å¹¶åˆ é™¤ã€‚æ— æ³•ç®¡ç†<classname>Windows</"
+"classname>(例如<classname>Dialogs</classname>ï¼‰å› ä¸ºå®ƒä»¬æ²¡æœ‰çˆ¶å®¹å™¨ï¼Œæ‰€ä»¥ä½ å¿…"
+"须在æŸä¸ªæ—¶å€™åˆ 除它们。<classname>Gtk::Builder</classname>的文档ä¸æœ‰æ›´å¤šå…³äºŽå¯¹"
+"ä¸åŒç±»åž‹çš„对象如何进行内å˜ç®¡ç†çš„介ç»ã€‚"
#: C/index-in.docbook:6188
msgid ""
"<ulink url=\"http://developer.gnome.org/gtkmm/unstable/classGtk_1_1Builder.";
"html\">Reference</ulink>"
msgstr ""
+"<ulink url=\"http://developer.gnome.org/gtkmm/unstable/classGtk_1_1Builder.";
+"html\">å‚考</ulink>"
#: C/index-in.docbook:6192
msgid ""
@@ -10620,16 +10658,20 @@ msgid ""
"file at runtime and access the widgets with <application>Gtk::Builder</"
"application>."
msgstr ""
+"这个简å•ç¤ºä¾‹å±•ç¤ºäº†å¦‚何在è¿è¡Œæ—¶åŠ è½½<application>Glade</application>文件并使用"
+"<application>Gtk::Builder</application>访问部件。"
#: C/index-in.docbook:6197
msgid ""
"<ulink url=\"https://gitlab.gnome.org/GNOME/gtkmm-documentation/tree/master/";
"examples/book/builder/basic\">Source Code</ulink>"
msgstr ""
+"<ulink url=\"https://gitlab.gnome.org/GNOME/gtkmm-documentation/tree/master/";
+"examples/book/builder/basic\">æºä»£ç </ulink>"
#: C/index-in.docbook:6204
msgid "Using derived widgets"
-msgstr ""
+msgstr "使用派生部件"
#: C/index-in.docbook:6205
msgid ""
@@ -10640,6 +10682,10 @@ msgid ""
"business logic, avoiding having most of your source just be setting "
"properties and packing in containers."
msgstr ""
+"ä½ å¯ä»¥ä½¿ç”¨<classname>Gtk::Builder</classname>å’Œ<application>Glade</"
+"application>å¸ƒå±€ä½ ä»Ž<application>gtkmm</application>部件类派生的自定义部件。"
+"è¿™ä½¿å¾—ä½ çš„ä»£ç ä¿æŒæœ‰åºå’Œå°è£…性,将声明å¼è¡¨è¿°ä¸Žä¸šåŠ¡é€»è¾‘分离开æ¥ï¼Œé¿å…ä½ çš„å¤§å¤š"
+"æ•°æºä»£ç 都是在设置属性和装填容器。"
#: C/index-in.docbook:6214
#, no-wrap
@@ -10647,12 +10693,16 @@ msgid ""
"\n"
"auto pDialog = Gtk::Builder::get_widget_derived<DerivedDialog>(builder, \"DialogDerived\");\n"
msgstr ""
+"\n"
+"auto pDialog = Gtk::Builder::get_widget_derived<DerivedDialog>(builder, \"DialogDerived\");\n"
#: C/index-in.docbook:6213
msgid ""
"Use <methodname>Gtk::Builder::get_widget_derived()</methodname> like so: <_:"
"programlisting-1/>"
msgstr ""
+"åƒè¿™æ ·ç”¨<methodname>Gtk::Builder::get_widget_derived()</methodname>:<_:"
+"programlisting-1/>"
#: C/index-in.docbook:6219
msgid ""
@@ -10663,6 +10713,11 @@ msgid ""
"Dialog</classname> typedefs <classname>BaseObjectType</classname> as "
"<type>GtkDialog</type>, for instance)."
msgstr ""
+"ä½ çš„æ´¾ç”Ÿç±»å¿…é¡»æœ‰ä¸€ä¸ªå°†æŒ‡å‘底层C类型的指针和<classname>Gtk::Builder</"
+"classname>实例作为å‚æ•°çš„æž„é€ å‡½æ•°ã€‚æ‰€æœ‰ä¸Ž<application>gtkmm</application>相关"
+"的类的都将其的底层C类型别å(typedef)为<classname>BaseObjectType</"
+"classname>(例如:<classname>Gtk::Dialog</classname>将<type>GtkDialog</type>"
+"别å为<classname>BaseObjectType</classname>)。"
#: C/index-in.docbook:6229
#, no-wrap
@@ -10673,12 +10728,19 @@ msgid ""
"{\n"
"}\n"
msgstr ""
+"\n"
+"DerivedDialog::DerivedDialog(BaseObjectType* cobject, const Glib::RefPtr<Gtk::Builder>&
builder)\n"
+": Gtk::Dialog(cobject)\n"
+"{\n"
+"}\n"
#: C/index-in.docbook:6226
msgid ""
"You must call the base class's constructor in the initialization list, "
"providing the C pointer. For instance, <_:programlisting-1/>"
msgstr ""
+"ä½ å¿…é¡»åœ¨åˆå§‹åŒ–列表ä¸è°ƒç”¨åŸºç±»çš„æž„é€ å‡½æ•°ï¼Œå¹¶æä¾›C指针。例如:<_:"
+"programlisting-1/>"
#: C/index-in.docbook:6241
#, no-wrap
@@ -10696,6 +10758,18 @@ msgid ""
" }\n"
"}\n"
msgstr ""
+"\n"
+"DerivedDialog::DerivedDialog(BaseObjectType* cobject, const Glib::RefPtr<Gtk::Builder>&
builder)\n"
+": Gtk::Dialog(cobject),\n"
+" m_builder(builder),\n"
+" //Get the Glade-instantiated Button, and connect a signal handler:\n"
+" m_pButton(m_builder->get_widget<Gtk::Button>(\"quit_button\"))\n"
+"{\n"
+" if(m_pButton)\n"
+" {\n"
+" m_pButton->signal_clicked().connect( sigc::mem_fun(*this, &DerivedDialog::on_button_quit) );\n"
+" }\n"
+"}\n"
#: C/index-in.docbook:6237
msgid ""
@@ -10704,6 +10778,9 @@ msgid ""
"methodname> or <methodname>get_widget_derived()</methodname> again. For "
"instance, <_:programlisting-1/>"
msgstr ""
+"然åŽä½ å¯ä»¥å°†å¯¹å部件的æ“作å°è£…äºŽæ´¾ç”Ÿç±»çš„æž„é€ å‡½æ•°ä¸ï¼Œå¯ä»¥åœ¨æž„é€ å‡½æ•°ä¸å†æ¬¡ä½¿ç”¨"
+"<methodname>get_widget()</methodname>或<methodname>get_widget_derived()</"
+"methodname>。例如:<_:programlisting-1/>"
#: C/index-in.docbook:6260
#, no-wrap
@@ -10711,6 +10788,8 @@ msgid ""
"\n"
"auto pDialog = Gtk::Builder::get_widget_derived<DerivedDialog>(builder, \"DialogDerived\", true);\n"
msgstr ""
+"\n"
+"auto pDialog = Gtk::Builder::get_widget_derived<DerivedDialog>(builder, \"DialogDerived\", true);\n"
#: C/index-in.docbook:6264
#, no-wrap
@@ -10724,6 +10803,14 @@ msgid ""
" // ....\n"
"}\n"
msgstr ""
+"\n"
+"DerivedDialog::DerivedDialog(BaseObjectType* cobject, const Glib::RefPtr<Gtk::Builder>& builder,
bool warning)\n"
+": Gtk::Dialog(cobject),\n"
+" m_builder(builder),\n"
+" m_pButton(m_builder->get_widget<Gtk::Button>(\"quit_button\"))\n"
+"{\n"
+" // ....\n"
+"}\n"
#: C/index-in.docbook:6256
msgid ""
@@ -10733,10 +10820,13 @@ msgid ""
"methodname> <_:programlisting-1/> can invoke this constructor <_:"
"programlisting-2/>"
msgstr ""
+"å¯ä»¥ä¼ 递é¢å¤–çš„å‚æ•°ç»™<methodname>get_widget_derived()</methodname>,他们将被转"
+"å‘ç»™æ´¾ç”Ÿéƒ¨ä»¶çš„æž„é€ å‡½æ•°ã€‚ä¾‹å¦‚è¿™æ ·è°ƒç”¨<methodname>get_widget_derived()</"
+"methodname>:<_:programlisting-1/>å¯ä»¥è°ƒç”¨æ¤æž„é€ å‡½æ•°ï¼š<_:programlisting-2/>"
#: C/index-in.docbook:6276
msgid "Gtk::Builder and Glib::Property"
-msgstr ""
+msgstr "Gtk::Builderå’ŒGlib::Property"
#: C/index-in.docbook:6287
#, no-wrap
@@ -10751,6 +10841,15 @@ msgid ""
" // ....\n"
"}\n"
msgstr ""
+"\n"
+"DerivedButton::DerivedButton(BaseObjectType* cobject, const Glib::RefPtr<Gtk::Builder>&
builder)\n"
+": Glib::ObjectBase(\"MyButton\"), // The GType name will be gtkmm__CustomObject_MyButton.\n"
+" Gtk::Button(cobject),\n"
+" prop_ustring(*this, \"button-ustring\"),\n"
+" prop_int(*this, \"button-int\", 10)\n"
+"{\n"
+" // ....\n"
+"}\n"
#: C/index-in.docbook:6277
msgid ""
@@ -10766,6 +10865,14 @@ msgid ""
"ObjectBase</classname> constructor to register the <type>GType</type>. <_:"
"programlisting-1/>"
msgstr ""
+"å¦‚æžœä½ æ´¾ç”Ÿçš„éƒ¨ä»¶ä½¿ç”¨äº†<classname>Glib::Property</classname>,它将å˜å¾—æ›´å¤æ‚了"
+"一些。包涵<classname>Glib::Property</classname>æˆå‘˜çš„派生部件必须在"
+"<type>GType</type>系统ä¸ç”¨è‡ªå·±çš„å称进行注册。必须在调用任何"
+"<methodname>create_from_*()</methodname>或<methodname>add_from_*()</"
+"methodname>方法之å‰è¿›è¡Œæ³¨å†Œï¼Œè¿™æ„味ç€ä½ å¯èƒ½éœ€è¦å®Œæˆå¯¹è¯¥ç±»çš„注册æ‰èƒ½åˆ›å»ºæ´¾ç”Ÿéƒ¨"
+"ä»¶çš„å®žä¾‹ã€‚ä½ æ´¾ç”Ÿçš„éƒ¨ä»¶å¿…é¡»æœ‰ä¸€ä¸ªå…·æœ‰<methodname>get_widget_derived()</"
+"methodname>所需的所有å‚数以åŠè°ƒç”¨<classname>Glib::ObjectBase</classname>æž„é€ "
+"函数以注册<type>GType</type>çš„æž„é€ å‡½æ•°ã€‚<_:programlisting-1/>"
#: C/index-in.docbook:6298
msgid ""
@@ -10780,18 +10887,29 @@ msgid ""
"stable/properties.html\"> property class definitions</ulink> and a catalog "
"declaring those new properties."
msgstr ""
+"如果将<application>gtkmm</application>与<application>glibmm</application>2.62"
+"以上的版本一起使用,则还å¯ä»¥åœ¨<filename>.glade</filename>文件ä¸æŒ‡å®šä½¿ç”¨"
+"<application>gtkmm</application>在C++代ç ä¸å£°æ˜Žçš„派生部件的属性,并使用"
+"<classname>Gtk::Builder</classname>åŠ è½½/设置这些属性。更多实现æ¤åŠŸèƒ½çš„详细信"
+"æ¯è¯·å‚阅<classname>Gtk::Builder</classname>的文档。Gladeä¸ä¼šæŒ‰åŽŸæ ·è¯†åˆ«è¿™äº›å±ž"
+"性,但这应该能通过使用<ulink url=\"https://developer.gnome.org/gladeui/";
+"stable/properties.html\">属性类定义</ulink>和声明一个新属性目录æ¥å®žçŽ°ã€‚"
#: C/index-in.docbook:6312
msgid ""
"This example shows how to load a <application>Glade</application> file at "
"runtime and access the widgets via derived classes."
msgstr ""
+"本示例展示了如何在è¿è¡Œæ—¶åŠ è½½<application>Glade</application>文件以åŠå¦‚何通过"
+"派生类访问部件。"
#: C/index-in.docbook:6316
msgid ""
"<ulink url=\"https://gitlab.gnome.org/GNOME/gtkmm-documentation/tree/master/";
"examples/book/builder/derived\">Source Code</ulink>"
msgstr ""
+"<ulink url=\"https://gitlab.gnome.org/GNOME/gtkmm-documentation/tree/master/";
+"examples/book/builder/derived\">æºä»£ç </ulink>"
#: C/index-in.docbook:6325
msgid "Internationalization and Localization"
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]