From version < 7.1 >
edited by superadmin
on 2024/12/12, 21:35
To version < 20.1
edited by superadmin
on 2024/12/13, 16:39
<
Change comment: There is no comment for this version

Summary

Details

Icon Page properties
Content
... ... @@ -57,6 +57,10 @@
57 57  * Dict::Add 函数的行在所有相同语言的字典文件中必须相同(是的,这里有冗余信息)。
58 58  * 请注意某些字符串末尾的 ~~~~。这个后缀不会显示给最终用户。它由Combodo在发布新版本时添加,用于显示哪些新字符串需要翻译。
59 59  
60 +== ==
61 +
62 +== ==
63 +
60 60  == 一些通用规则 ==
61 61  
62 62  一些通用规则:
... ... @@ -108,6 +108,10 @@
108 108   </naming\>
109 109  )))
110 110  
115 +== ==
116 +
117 +== ==
118 +
111 111  == 字典关键词的命名约定 ==
112 112  
113 113  新条目的命名应根据其领域和目的,从最不具体的信息开始命名。
... ... @@ -148,8 +148,198 @@
148 148  
149 149  请注意,在这种情况下,分隔符应该是 ‘/’。
150 150  
159 +==== ====
160 +
161 +==== ====
162 +
163 +(% class="wikigeneratedid" %)
164 +==== ====
165 +
166 +(% class="wikigeneratedid" %)
167 +==== ====
168 +
151 151  ==== 枚举值 ====
152 152  
153 153  枚举或枚举集的值使用自己的语法:
154 154  
173 +(% class="box" %)
174 +(((
175 + 'Class:Action/Attribute:status/Value:test'      \=> 'Being tested',
176 + 'Class:Action/Attribute:status/Value:test+'     \=> 'Action has maybe a different behavior than when in production',
177 + 'Class:Action/Attribute:status/Value:enabled'   \=> 'In production',
178 + 'Class:Action/Attribute:status/Value:enabled+'  \=> '',
179 + 'Class:Action/Attribute:status/Value:disabled' \=> 'Inactive',
180 + 'Class:Action/Attribute:status/Value:disabled+' \=> 'Action is not effective',
181 +)))
182 +
183 +==== ====
184 +
185 +==== ====
186 +
187 +(% class="wikigeneratedid" %)
188 +==== ====
189 +
190 +(% class="wikigeneratedid" %)
191 +==== ====
192 +
193 +==== 实体覆盖 ====
194 +
195 +子类可以覆盖属性(或值)的标签/工具提示,即使该属性已在其父类之一中定义。
196 +
197 +(% class="box" %)
198 +(((
199 + 'Class:ActionEmail/Attribute:status/Value:test+'       \=> 'Only the Test recipient is notified',
200 + 'Class:ActionEmail/Attribute:status/Value:enabled+'    \=> 'All To, Cc and Bcc emails are notified',
201 + 'Class:ActionEmail/Attribute:status/Value:disabled+'   \=> 'The email notification will not be sent',
202 + 'Class:ActionEmail/Attribute:test\_recipient'           \=> 'Test recipient',
203 +)))
204 +
205 +=== ===
206 +
207 +=== ===
208 +
209 +=== 关系 ===
210 +
211 +默认链接相关的操作/图标工具提示、弹出窗口标题和确认消息如下所示。
212 +
213 +它们可以根据需要进行自定义,甚至可以根据类别/关联设置属性进行定制化(请参阅下文)。
214 +
215 +
216 +==== ====
217 +
218 +==== 1:n 关系 ====
219 +
220 +|=通用字典条目代码|=用途|=英文|=法文
221 +|UI:Links:Create:Button+|列表右上角的**加号图标**工具提示|Create a %4$s|Créer un(e) %4$s
222 +|UI:Links:Create:Modal:Title|**子对象创建**弹出窗口标题|Create a %4$s in %2$s|Ajouter un(e) %4$s à %2$s
223 +|UI:Links:ModifyObject:Button+|行右端的**铅笔图标**工具提示|Modify this object|Modifier cet objet
224 +|UI:Links:ModifyObject:Modal:Title|**子对象修改**弹出窗口标题|Modify %5$s|Modifier %5$s
225 +|UI:Links:Remove:Button+|行右端的**减号图标**工具提示|Remove this %4$s|Retirer cet(te) %4$s
226 +|UI:Links:Remove:Modal:Title|**子对象从其宿主中移除**弹出窗口标题|Remove a %4$s from its %1$s|Retirer un(e) %4$s de son/sa %1$s
227 +|UI:Links:Remove:Modal:Message|**子对象移除**的确认消息|Do you really want to remove %5$s from %2$s?|Voulez vous vraiment retirer %5$s de %2$s?
228 +|UI:Links:Delete:Button+|行右端的**垃圾桶图标**工具提示|Delete this %4$s|Supprimer cet(te) %4$s
229 +|UI:Links:Delete:Modal:Title|**子对象删除**弹出窗口标题|Delete a %4$s|Supprimer un(e) %4$s
230 +|UI:Links:Delete:Modal:Message|**子对象删除**的确认消息|Do you really want to delete %5$s?|Voulez vous vraiment supprimer %5$s?
231 +
232 +==== ====
233 +
234 +==== n:n 关系 ====
235 +
236 +|=通用字典条目代码|=用途|=英文|=法文
237 +|UI:Links:Add:Button+|列表右上角的**加号图标**工具提示|Add a %4$s|Ajouter un %4$s
238 +|UI:Links:Add:Modal:Title|**链接创建**弹出窗口标题|Add a %4$s to %2$s|Ajouter un %4$s à %2$s
239 +|UI:Links:ModifyLink:Button+|行右端的**铅笔图标**工具提示|Modify this link|Modifier cette relation
240 +|UI:Links:ModifyLink:Modal:Title|**链接修改**弹出窗口标题|Modify the link between %2$s and %5$s|Modifier la relation entre %2$s et %5$s
241 +|UI:Links:Remove:Button+|行右端的**减号图标**工具提示|Remove this %4$s|Retirer ce %4$s
242 +|UI:Links:Remove:Modal:Title|**链接删除**弹出窗口标题|Remove %4$s|Retirer un %4$s
243 +|UI:Links:Remove:Modal:Message|**链接删除**的确认消息|Do you really want to remove %5$s from %2$s?|Voulez vous vraiment retirer %5$s de %2$s?
244 +
245 +===== =====
246 +
247 +===== **占位符** =====
248 +
249 +
250 +* **$%1s**: 宿主对象类名称(本地化)
251 +* **$%2s**: 宿主对象友好名称
252 +* **$%3s**: 宿主对象内的当前标签名称(本地化)
253 +* **$%4s**: 远程对象类名称(本地化)
254 +* **$%5s**: 远程对象友好名称 注意:并非所有情况下都可用,需要检查!
255 +
256 +===== =====
257 +
258 +===== =====
259 +
260 +===== Specialized =====
261 +
262 +除非为给定类的特定LinkedSet(或LinkedSetIndirect)属性定义了更具体的条目,否则使用上面的通用条目代码。
263 +
264 +以下是考虑法语中类别属性的覆盖逻辑示例:
265 +
266 +(% class="box" %)
267 +(((
268 +Dict::Add('FR FR', 'French', 'Français', [array](http:~/~/www.php.net/array)(
269 + 'Class:Person/Attribute:team\_list/UI:Links:Add:Button+'         \=> 'Ajouter une %4$s',
270 + 'Class:Person/Attribute:team\_list/UI:Links:Add:Modal:Title'     \=> 'Ajouter une %4$s à %2$s',
271 + 'Class:Person/Attribute:team\_list/UI:Links:Remove:Button+'      \=> 'Retirer cette %4$s',
272 + 'Class:Person/Attribute:team\_list/UI:Links:Remove:Modal:Title'  \=> 'Retirer une %4$s',
273 + 'Class:Team/Attribute:persons\_list/UI:Links:Add:Button+'        \=> 'Ajouter une %4$s',
274 + 'Class:Team/Attribute:persons\_list/UI:Links:Add:Modal:Title'    \=> 'Ajouter une %4$s à %2$s',
275 + 'Class:Team/Attribute:persons\_list/UI:Links:Remove:Button+'     \=> 'Retirer cette %4$s',
276 + 'Class:Team/Attribute:persons\_list/UI:Links:Remove:Modal:Title' \=> 'Retirer une %4$s'
277 +));
278 +)))
279 +
280 +
281 +
282 +=== 最终用户门户 ===
283 +
284 +如果您添加了一个新的终端用户门户,您可能希望创建一个字典条目,以便为其创建一个真实的标签,要做到这一点,请按照以下语法进行操作:
285 +
286 +(% class="box" %)
287 +(((
288 +~/~/ Default portal
289 +'portal:itop-portal' \=> 'Standard portal',
290 +'portal:<YOUR\_PORTAIL\_ID>' \=> 'Your new portal label',
291 +)))
292 +
293 +=== ===
294 +
295 +(% class="wikigeneratedid" %)
296 +=== ===
297 +
298 +(% class="wikigeneratedid" %)
299 +=== ===
300 +
301 +=== UI 主题 ===
302 +
303 +如果您为后台创建了一个新主题,您可能希望创建一个字典条目,以便用户在首选项页面中选择它时能够获得一个漂亮的标签。要做到这一点,请按照以下语法进行操作:
304 +
305 +(% class="box" %)
306 +(((
307 +~/~/ Default theme
308 +'theme:fullmoon' \=> 'Full Moon ',
309 +'theme:<YOUR\_THEME\_ID>' \=> 'Your new theme label',
310 +)))
311 +
312 +
313 +(% class="wikigeneratedid" %)
314 +== ==
315 +
316 +(% class="wikigeneratedid" %)
317 +== ==
318 +
319 +== 如何贡献改进现有语言 ==
320 +
321 +要改进现有语言,您需要执行以下步骤:
322 +
323 +1. 从[[iTop主存储库>>url:https://github.com/Combodo/iTop]]或相关的模块存储库创建一个分支(Fork)。
324 +1. 在您的分支上进行修改,并按需改进现有语言的翻译。
325 +1. 提交拉取请求(Pull Request):有关详细的提交步骤,请查看您正在修改的存储库中的CONTRIBUTING.md文件。GitHub的帮助页面也提供了关于[[从分支创建拉取请求>>url:https://help.github.com/articles/creating-a-pull-request-from-a-fork/]]的详细信息。
326 +
327 +**为现有语言添加翻译**:使用 grep 命令查找包含 ~~~~ 的文本,并在原地进行翻译。
328 +
329 +
330 +(% class="box successmessage" %)
331 +(((
332 + 以下是在Linux命令行中查找包含 ~~~~ 标记的德语(de)字典条目的快速命令:
333 +find -name "de*dict*.php" | grep -v "env-" | xargs grep "~~~~"
334 +要查找其他语言的字典条目,只需将命令中的 de* 更改为您想处理的语言代码(例如fr、it、sp等),然后从安装iTop的目录运行此命令。这将帮助您找到包含 ~~~~ 标记的文本行,以便进行翻译。
335 +)))
336 +
337 +**为新语言添加翻译**:首先找到您的语言代码和国家代码。然后将英语文件(dictionary.*.php或en.dict.*.php)复制到相应的目录中,并使用相关的前缀(例如,pt_br.dict…)。然后对这些文件进行翻译。
338 +
339 +
340 +(% class="box warningmessage" %)
341 +(((
342 +不要忘记修改 Dict::Add 函数调用的参数。如果不这样做,将在运行时用您的翻译覆盖英语文本。
343 +)))
344 +
345 +提交的拉取请求将由Combodo的维护人员进行分析,并最终合并到原始存储库中。
346 +
347 +----
348 +
349 +原文:[[https:~~/~~/www.itophub.io/wiki/page?id=3_1_0:customization:translation>>url:https://www.itophub.io/wiki/page?id=3_1_0:customization:translation]]
350 +
351 +版本:3_1_0/customization/translation.txt · Last modified: 2023/07/21 10:19 (external edit)
352 +
155 155  
深圳市艾拓先锋企业管理咨询有限公司