Skip to content

Commit a38c73a

Browse files
kwagyemanclaude
andcommitted
docs: translate settings editor config-file reference (26 languages)
Translate the new OpenMV Cam Settings Editor reference pages (index, containers, value-controls, display, example) and the Viewer overview's settings-editor note into all 26 locales. Markup was preserved and audited with docutils: inline literals, roles, and links are structure-checked (a role's visible text may be translated while its target is kept), and a CJK/RTL delimiter-adjacency pass keeps closing markup from abutting non-Latin characters. All 26 locales build warning-free under the CI toolchain (Sphinx 9.0.4 / docutils 0.22.4); zero untranslated and zero build-breaking strings remain in these files. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
1 parent b4f2861 commit a38c73a

156 files changed

Lines changed: 31281 additions & 1913 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
Lines changed: 172 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,172 @@
1+
# SOME DESCRIPTIVE TITLE.
2+
# Copyright (C) The OpenMV MicroPython Documentation is Copyright ©
3+
# 2014-2026 by OpenMV, Damien P. George, and others.
4+
# This file is distributed under the same license as the OpenMV MicroPython
5+
# package.
6+
# FIRST AUTHOR <EMAIL@ADDRESS>, 2026.
7+
#
8+
#, fuzzy
9+
msgid ""
10+
msgstr ""
11+
"Project-Id-Version: OpenMV MicroPython 1.28\n"
12+
"Report-Msgid-Bugs-To: \n"
13+
"POT-Creation-Date: 2026-07-07 11:18-0700\n"
14+
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
15+
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
16+
"Language-Team: ar <LL@li.org>\n"
17+
"Language: ar\n"
18+
"MIME-Version: 1.0\n"
19+
"Content-Type: text/plain; charset=utf-8\n"
20+
"Content-Transfer-Encoding: 8bit\n"
21+
"Plural-Forms: nplurals=6; plural=(n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=0 && n%100<=2 ? 4 : 5);\n"
22+
"Generated-By: Babel 2.17.0\n"
23+
24+
#: ../../openmvcam/tutorial/tools/ide/settings-editor/containers.rst:2
25+
msgid "Containers"
26+
msgstr "الحاويات"
27+
28+
#: ../../openmvcam/tutorial/tools/ide/settings-editor/containers.rst:4
29+
msgid ""
30+
"Containers do not hold a value of their own -- they organise other controls."
31+
" Each spans the full width of the form, and the controls listed inside it "
32+
"are built as a form of their own. There are two: *group* draws a labelled "
33+
"box, and *tabs* draws a tab strip."
34+
msgstr ""
35+
"لا تحمل الحاويات قيمة خاصة بها -- بل تنظّم عناصر التحكم الأخرى. تمتد كل "
36+
"واحدة على كامل عرض النموذج، وتُبنى عناصر التحكم المدرجة داخلها كنموذج مستقل "
37+
"بذاته. وهناك نوعان: *group* يرسم صندوقًا بعنوان، و*tabs* يرسم شريط علامات "
38+
"تبويب."
39+
40+
#: ../../openmvcam/tutorial/tools/ide/settings-editor/containers.rst:10
41+
msgid ""
42+
"All controls also accept the common keys (*name*, *label*, *tooltip*, "
43+
"*enabled*); see the :doc:`overview <index>`."
44+
msgstr ""
45+
"تقبل جميع عناصر التحكم أيضاً المفاتيح المشتركة ( *name* ، *label* ، "
46+
"*tooltip* ، *enabled* )؛ انظر :doc:`نظرة عامة <index>` ."
47+
48+
#: ../../openmvcam/tutorial/tools/ide/settings-editor/containers.rst:15
49+
msgid "group"
50+
msgstr "group"
51+
52+
#: ../../openmvcam/tutorial/tools/ide/settings-editor/containers.rst:17
53+
msgid ""
54+
"A labelled box around a set of controls. Optionally *checkable*, which turns"
55+
" the heading into a switch for everything inside it."
56+
msgstr ""
57+
"صندوق بعنوان يحيط بمجموعة من عناصر التحكم. ويمكن اختياريًا جعله *checkable*،"
58+
" مما يحوّل العنوان إلى مفتاح تبديل لكل ما بداخله."
59+
60+
#: ../../openmvcam/tutorial/tools/ide/settings-editor/containers.rst:35
61+
#: ../../openmvcam/tutorial/tools/ide/settings-editor/containers.rst:82
62+
msgid "Arguments:"
63+
msgstr "الوسائط:"
64+
65+
#: ../../openmvcam/tutorial/tools/ide/settings-editor/containers.rst:37
66+
msgid "*title* (string) -- the heading shown on the box."
67+
msgstr "*title* (سلسلة نصية) -- العنوان المعروض على الصندوق."
68+
69+
#: ../../openmvcam/tutorial/tools/ide/settings-editor/containers.rst:38
70+
msgid ""
71+
"*checkable* (boolean, default ``false``) -- when ``true``, the heading "
72+
"carries a checkbox that enables or disables every control inside the box, "
73+
"and whose own on/off state is saved."
74+
msgstr ""
75+
"*checkable* (قيمة منطقية، الافتراضي ``false``) -- عندما تكون ``true``، يحمل "
76+
"العنوان مربع اختيار يُفعّل أو يُعطّل كل عنصر تحكم داخل الصندوق، وتُحفظ حالته"
77+
" الخاصة (تشغيل/إيقاف)."
78+
79+
#: ../../openmvcam/tutorial/tools/ide/settings-editor/containers.rst:42
80+
msgid ""
81+
"*value* (boolean, default ``true``) -- the initial state of that heading "
82+
"checkbox. Only meaningful when *checkable* is ``true``."
83+
msgstr ""
84+
"*value* (قيمة منطقية، الافتراضي ``true``) -- الحالة الأولية لمربع اختيار "
85+
"العنوان ذاك. وله معنى فقط عندما تكون *checkable* بقيمة ``true``."
86+
87+
#: ../../openmvcam/tutorial/tools/ide/settings-editor/containers.rst:45
88+
msgid "*controls* (array) -- the controls shown inside the box."
89+
msgstr "*controls* (مصفوفة) -- عناصر التحكم المعروضة داخل الصندوق."
90+
91+
#: ../../openmvcam/tutorial/tools/ide/settings-editor/containers.rst:48
92+
msgid ""
93+
"Saves: a **boolean** (the heading checkbox) when *checkable* is ``true``; a "
94+
"plain group saves nothing of its own -- only the controls inside it save "
95+
"their values."
96+
msgstr ""
97+
"يحفظ: قيمة **منطقية** (مربع اختيار العنوان) عندما تكون *checkable* بقيمة "
98+
"``true``؛ أما المجموعة العادية فلا تحفظ شيئًا خاصًا بها -- إذ تحفظ فقط عناصر"
99+
" التحكم بداخلها قيمها."
100+
101+
#: ../../openmvcam/tutorial/tools/ide/settings-editor/containers.rst:54
102+
msgid "tabs"
103+
msgstr "tabs"
104+
105+
#: ../../openmvcam/tutorial/tools/ide/settings-editor/containers.rst:56
106+
msgid ""
107+
"A tab strip. Each tab is a page with its own list of controls, so a long "
108+
"form can be split across *Camera*, *Network*, *System*, and so on."
109+
msgstr ""
110+
"شريط علامات تبويب. كل علامة تبويب هي صفحة لها قائمتها الخاصة من عناصر "
111+
"التحكم، لذا يمكن تقسيم نموذج طويل عبر *Camera* و*Network* و*System* وهكذا."
112+
113+
#: ../../openmvcam/tutorial/tools/ide/settings-editor/containers.rst:84
114+
msgid ""
115+
"*tab_position* (string, default ``\"north\"``) -- which edge the tab bar "
116+
"sits on: ``\"north\"``, ``\"south\"``, ``\"west\"``, or ``\"east\"``."
117+
msgstr ""
118+
"*tab_position* (سلسلة نصية، الافتراضي ``\"north\"``) -- الحافة التي يقع "
119+
"عليها شريط علامات التبويب: ``\"north\"`` أو ``\"south\"`` أو ``\"west\"`` أو"
120+
" ``\"east\"``."
121+
122+
#: ../../openmvcam/tutorial/tools/ide/settings-editor/containers.rst:87
123+
msgid ""
124+
"*tabs* (array) -- the tab pages, in order. Each page is an object with:"
125+
msgstr ""
126+
"*tabs* (مصفوفة) -- صفحات علامات التبويب، بالترتيب. كل صفحة كائن يحتوي على:"
127+
128+
#: ../../openmvcam/tutorial/tools/ide/settings-editor/containers.rst:90
129+
msgid "*title* (string) -- the tab's label."
130+
msgstr "*title* (سلسلة نصية) -- تسمية علامة التبويب."
131+
132+
#: ../../openmvcam/tutorial/tools/ide/settings-editor/containers.rst:91
133+
msgid "*tooltip* (string) -- hover text for the tab."
134+
msgstr ""
135+
"*tooltip* (سلسلة نصية) -- نص التلميح عند تمرير المؤشر فوق علامة التبويب."
136+
137+
#: ../../openmvcam/tutorial/tools/ide/settings-editor/containers.rst:92
138+
msgid "*controls* (array) -- the controls shown on that page."
139+
msgstr "*controls* (مصفوفة) -- عناصر التحكم المعروضة على تلك الصفحة."
140+
141+
#: ../../openmvcam/tutorial/tools/ide/settings-editor/containers.rst:95
142+
msgid ""
143+
"Saves: nothing of its own; the controls on each page save their own values."
144+
msgstr "يحفظ: لا شيء خاص به؛ تحفظ عناصر التحكم على كل صفحة قيمها الخاصة."
145+
146+
#: ../../openmvcam/tutorial/tools/ide/settings-editor/containers.rst:99
147+
msgid "Nesting"
148+
msgstr "التداخل"
149+
150+
#: ../../openmvcam/tutorial/tools/ide/settings-editor/containers.rst:101
151+
msgid ""
152+
"Any control can go inside any container, to any depth. A *group* can contain"
153+
" a *tabs*, a tab page can contain *group* boxes, groups can nest inside "
154+
"groups. Every *controls* array -- the top-level one, a group's, and a tab "
155+
"page's -- takes the same control objects, so the rules on these pages apply "
156+
"the same at every level."
157+
msgstr ""
158+
"يمكن وضع أي عنصر تحكم داخل أي حاوية، وإلى أي عمق. يمكن أن يحتوي *group* على "
159+
"*tabs*، ويمكن أن تحتوي صفحة علامة تبويب على صناديق *group*، ويمكن تداخل "
160+
"المجموعات داخل المجموعات. تأخذ كل مصفوفة *controls* -- سواء أكانت في المستوى"
161+
" الأعلى، أم في مجموعة، أم في صفحة علامة تبويب -- كائنات التحكم نفسها، لذا "
162+
"تنطبق القواعد الواردة في هذه الصفحات بالطريقة نفسها على كل مستوى."
163+
164+
#: ../../openmvcam/tutorial/tools/ide/settings-editor/containers.rst:108
165+
msgid ""
166+
"A checkable *group* nested inside a tab is a common shape: the tab holds a "
167+
"feature, the group's checkbox turns the feature on or off, and the controls "
168+
"inside configure it."
169+
msgstr ""
170+
"من الترتيبات الشائعة وجود *group* قابل للتحديد متداخل داخل علامة تبويب: تحمل"
171+
" علامة التبويب ميزة، ويشغّل مربع اختيار المجموعة الميزة أو يوقفها، وتضبطها "
172+
"عناصر التحكم بداخلها."
Lines changed: 70 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,70 @@
1+
# SOME DESCRIPTIVE TITLE.
2+
# Copyright (C) The OpenMV MicroPython Documentation is Copyright ©
3+
# 2014-2026 by OpenMV, Damien P. George, and others.
4+
# This file is distributed under the same license as the OpenMV MicroPython
5+
# package.
6+
# FIRST AUTHOR <EMAIL@ADDRESS>, 2026.
7+
#
8+
#, fuzzy
9+
msgid ""
10+
msgstr ""
11+
"Project-Id-Version: OpenMV MicroPython 1.28\n"
12+
"Report-Msgid-Bugs-To: \n"
13+
"POT-Creation-Date: 2026-07-07 11:18-0700\n"
14+
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
15+
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
16+
"Language-Team: ar <LL@li.org>\n"
17+
"Language: ar\n"
18+
"MIME-Version: 1.0\n"
19+
"Content-Type: text/plain; charset=utf-8\n"
20+
"Content-Transfer-Encoding: 8bit\n"
21+
"Plural-Forms: nplurals=6; plural=(n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=0 && n%100<=2 ? 4 : 5);\n"
22+
"Generated-By: Babel 2.17.0\n"
23+
24+
#: ../../openmvcam/tutorial/tools/ide/settings-editor/display.rst:2
25+
msgid "Display"
26+
msgstr "العرض"
27+
28+
#: ../../openmvcam/tutorial/tools/ide/settings-editor/display.rst:5
29+
msgid "label"
30+
msgstr "label"
31+
32+
#: ../../openmvcam/tutorial/tools/ide/settings-editor/display.rst:7
33+
msgid ""
34+
"A block of static text -- a heading, a note, or a link. A *label* holds no "
35+
"value and is never saved; it is there to explain the controls around it."
36+
msgstr ""
37+
"كتلة من النص الثابت -- عنوان أو ملاحظة أو رابط. لا يحمل *label* أي قيمة ولا "
38+
"يُحفظ أبدًا؛ فهو موجود لشرح عناصر التحكم من حوله."
39+
40+
#: ../../openmvcam/tutorial/tools/ide/settings-editor/display.rst:19
41+
msgid "Arguments:"
42+
msgstr "الوسائط:"
43+
44+
#: ../../openmvcam/tutorial/tools/ide/settings-editor/display.rst:21
45+
msgid ""
46+
"*text* (string) -- the text to show. Rich text: HTML tags such as ``<b>`` "
47+
"and ``<br/>``, and ``<a href>`` links (which open in a browser), all work."
48+
msgstr ""
49+
"*text* (سلسلة نصية) -- النص المراد عرضه. نص منسّق: تعمل جميع وسوم HTML مثل "
50+
"``<b>`` و``<br/>``، وروابط ``<a href>`` (التي تُفتح في المتصفح)."
51+
52+
#: ../../openmvcam/tutorial/tools/ide/settings-editor/display.rst:24
53+
msgid ""
54+
"*align* (string, default left) -- ``\"center\"`` or ``\"right\"`` to align "
55+
"the text; any other value is left-aligned."
56+
msgstr ""
57+
"*align* (سلسلة نصية، الافتراضي محاذاة لليسار) -- ``\"center\"`` أو "
58+
"``\"right\"`` لمحاذاة النص؛ وأي قيمة أخرى تُحاذى لليسار."
59+
60+
#: ../../openmvcam/tutorial/tools/ide/settings-editor/display.rst:28
61+
msgid "Saves: nothing -- a *label* is display only."
62+
msgstr "يحفظ: لا شيء -- فـ*label* للعرض فقط."
63+
64+
#: ../../openmvcam/tutorial/tools/ide/settings-editor/display.rst:30
65+
msgid ""
66+
"A *label* also accepts the common keys (*tooltip*, *enabled*); see the "
67+
":doc:`overview <index>`."
68+
msgstr ""
69+
"يقبل *label* أيضاً المفاتيح المشتركة ( *tooltip* ، *enabled* )؛ انظر "
70+
":doc:`نظرة عامة <index>` ."
Lines changed: 81 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,81 @@
1+
# SOME DESCRIPTIVE TITLE.
2+
# Copyright (C) The OpenMV MicroPython Documentation is Copyright ©
3+
# 2014-2026 by OpenMV, Damien P. George, and others.
4+
# This file is distributed under the same license as the OpenMV MicroPython
5+
# package.
6+
# FIRST AUTHOR <EMAIL@ADDRESS>, 2026.
7+
#
8+
#, fuzzy
9+
msgid ""
10+
msgstr ""
11+
"Project-Id-Version: OpenMV MicroPython 1.28\n"
12+
"Report-Msgid-Bugs-To: \n"
13+
"POT-Creation-Date: 2026-07-07 11:18-0700\n"
14+
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
15+
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
16+
"Language-Team: ar <LL@li.org>\n"
17+
"Language: ar\n"
18+
"MIME-Version: 1.0\n"
19+
"Content-Type: text/plain; charset=utf-8\n"
20+
"Content-Transfer-Encoding: 8bit\n"
21+
"Plural-Forms: nplurals=6; plural=(n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=0 && n%100<=2 ? 4 : 5);\n"
22+
"Generated-By: Babel 2.17.0\n"
23+
24+
#: ../../openmvcam/tutorial/tools/ide/settings-editor/example.rst:2
25+
msgid "Full example"
26+
msgstr "مثال كامل"
27+
28+
#: ../../openmvcam/tutorial/tools/ide/settings-editor/example.rst:4
29+
msgid ""
30+
"*Create Default Config* writes the file below and opens it. It is a demo -- "
31+
"not a real device config -- built to exercise every control type at once: "
32+
"labels, both kinds of container, all seven value controls, the "
33+
"*options*/*values* mapping, a tristate checkbox, a hex spinbox, an input "
34+
"mask, a regex, a password field, and a disabled field. Read it alongside the"
35+
" reference pages to see each key in context, then strip it down to the "
36+
"settings your own application needs."
37+
msgstr ""
38+
"يكتب *Create Default Config* الملف أدناه ويفتحه. وهو عرض توضيحي -- وليس "
39+
"إعداد جهاز حقيقي -- بُني ليجرّب كل نوع من عناصر التحكم دفعة واحدة: التسميات،"
40+
" ونوعي الحاوية كليهما، وجميع عناصر التحكم القيمية السبعة، وتعيين "
41+
"*options*/*values*، ومربع اختيار ثلاثي الحالات، و spinbox بالنظام الست عشري،"
42+
" وقناع إدخال، وتعبير نمطي، وحقل كلمة مرور، وحقل معطّل. اقرأه إلى جانب "
43+
"الصفحات المرجعية لترى كل مفتاح في سياقه، ثم اختصره إلى الإعدادات التي "
44+
"يحتاجها تطبيقك الخاص."
45+
46+
#: ../../openmvcam/tutorial/tools/ide/settings-editor/example.rst:151
47+
msgid "Reading it back"
48+
msgstr "قراءته مرة أخرى"
49+
50+
#: ../../openmvcam/tutorial/tools/ide/settings-editor/example.rst:153
51+
msgid ""
52+
"You authored this layout, so you know the path to each value. With the "
53+
"``find`` helper from the :doc:`overview <index>`, name the tab and the "
54+
"control -- ``find`` steps through the tab strip and any unnamed group in "
55+
"between:"
56+
msgstr ""
57+
"لقد أنشأت هذا التخطيط، لذا فأنت تعرف المسار إلى كل قيمة. باستخدام المساعد "
58+
"``find`` من :doc:`نظرة عامة <index>` ، حدّد اسم علامة التبويب وعنصر التحكم "
59+
"-- ``find`` يتنقل عبر شريط علامات التبويب وأي مجموعة غير مسماة بينهما:"
60+
61+
#: ../../openmvcam/tutorial/tools/ide/settings-editor/example.rst:165
62+
msgid ""
63+
"The *Manual Exposure* group has a *name*, so it is a step in the path -- and"
64+
" ``find(config, \"Camera\", \"manual_exposure\")`` reads its checkbox. The "
65+
"*Format* group has no *name*, so it is transparent: ``resolution`` is "
66+
"reached straight from the *Camera* tab."
67+
msgstr ""
68+
"تحمل مجموعة *Manual Exposure* اسمًا *name*، لذا فهي خطوة في المسار -- ويقرأ "
69+
"``find(config, \"Camera\", \"manual_exposure\")`` مربع اختيارها. أما مجموعة "
70+
"*Format* فليس لها *name*، لذا فهي شفافة: يُوصل إلى ``resolution`` مباشرة من "
71+
"علامة التبويب *Camera*."
72+
73+
#: ../../openmvcam/tutorial/tools/ide/settings-editor/example.rst:171
74+
msgid ""
75+
"Note how the *combobox* with a *values* array returns the stored value "
76+
"(``\"qvga\"``), not the label the user picked (``\"QVGA\"``) -- exactly what"
77+
" a script wants to branch on."
78+
msgstr ""
79+
"لاحظ كيف يُرجع *combobox* المزوّد بمصفوفة *values* القيمة المخزَّنة "
80+
"(``\"qvga\"``)، وليس التسمية التي اختارها المستخدم (``\"QVGA\"``) -- وهو "
81+
"تمامًا ما يريد النص البرمجي أن يبني عليه قراره."

0 commit comments

Comments
 (0)