开源改变世界

法语翻译 #153

推推 grbl 3年前 (2023-01-31) 234次浏览
关闭
ThierryM 打开了这个问题 2015 年 11 月 19 日 · 37条评论
关闭

法语翻译#153

ThierryM 打开了这个问题 2015 年 11 月 19 日 · 37条评论

注释

法语翻译 #153
贡献者

您好,
感谢您的工作和分享。
我如何添加 GUI 的法语翻译或其他语言?当然是为了分享。
问候,

蒂埃里

法语翻译 #153
所有者

我没想过翻译成其他语言 :) 我看到可以使用 gettext python 模块来完成。我必须阅读它是如何工作的,然后让你知道。

法语翻译 #153
贡献者作者

感谢您的回复。我会很乐意帮忙。

法语翻译 #153
贡献者

我也是@vlachoudis,我自愿参加意大利语翻译(我已经为 CamBam 完成了意大利语翻译和意大利语指南)。

法语翻译 #153
所有者

我添加了一个生成翻译所需的 .pot 的 makefile。
@ThierryM 我已经使用poedit程序测试法语 .po 和 .mo 文件
@onekk您可以创建一个子目录 it/LC_MESSAGES 并在那里进行意大利语翻译。
它应该在 bCNC 域上。

我很快就用需要翻译的字符串前面的 _(“”) 进行了更改,所以如果我错过了什么,或者我把它添加到了我不应该添加的其他地方,我不会感到惊讶。

目前您需要设置环境变量 LC_ALL 来更改语言,
就像
export LC_ALL=fr_FR
我将在设置中创建一个选项以直接从 bCNC 更改语言,并且独立于操作系统。

法语翻译 #153
贡献者作者

您好,
感谢您的工作。我要看一下 .po 文件。
问候

法语翻译 #153
贡献者

你好@vlachoudis我正在翻译 bCNC,但在克隆目录后我已经(错误地)修改了 bCNC.pot 文件,但现在我试图重新生成它并发出“make pot”但它不会工作,我做错了什么?

法语翻译 #153
所有者

你有安装 xgettext 吗?
为什么不从存储库中还原锅?

法语翻译 #153
贡献者

您好,是的,我安装了 xgettext,甚至还安装了 poedit。
我从回购协议中恢复了 pot 文件。
我必须复制它/LC_MESSAGES 中的 pot 文件并重命名 bCNC.po 然后使用 poedit?

法语翻译 #153
所有者

可以直接从poedit打开pot然后保存为it/LC_MESSAGES/bCNC.po

法语翻译 #153
贡献者

好的,我正在努力

法语翻译 #153
贡献者作者

嗨,
我已经在 Ubuntu 14.04 上使用 Poedit 1.8.6 完成了法语翻译(它并不完美,但我认为它可以工作)(很难编译它……)。那么如何在bCNC中整合法文文件bCNC.mo和bCNC.po呢?
我是 Github 的初学者……这是叉子:https
://github.com/ThierryM/bCNC 问候。

法语翻译 #153
贡献者作者

您好,我已经测试了翻译,有些词没有翻译(.po 文件中缺少?)。见附件

法语翻译 #153

法语翻译 #153

问候

法语翻译 #153
所有者

非常感谢@ThierryM. 我已经上传了新的翻译,并在锅中添加了大部分缺失的关键词。目前还没有选项卡名称和组名称。
程序使用它们的值从 ini 动态配置功能区。
我需要找到一种方法将英文版本保留在 ini 文件中,并将翻译后的内容显示在屏幕上。

法语翻译 #153
贡献者

@vlachoudis我正在研究意大利语翻译,我做了很多工作,我发现的主要问题是找出术语属于界面的位置。但我正在工作并测试翻译。
我打算在圣诞节假期继续工作,所以也许在新年我会提出拉取请求。

向您和所有人致以问候和圣诞快乐。

卡罗·D。

法语翻译 #153

嗨,我正在尝试使用法语版的 bCNC,但不知道如何配置它?
有人可以帮助我吗?我在 Windows 7 上运行它
谢谢 (-;

法语翻译 #153
贡献者

你好@dodolbysuround
在 Windows 下,我将 bCNC.py 上的第 26 行手动更改
为:
builtin ._ = gettext.translation(‘bCNC’, ‘locale’, fallback=True).ugettext

对此:

内置._ = gettext.translation(‘bCNC’, ‘locale’, fallback=True, languages=[‘fr’]).ugettext

我认为@vlachoudis 即将实施一种更加用户友好的方式。

法语翻译 #153
所有者

@dodolbysuround 从配置中添加它有点棘手,因为它必须在任何固定字符串转换发生之前执行。现在我修改了代码,以便用户可以从“工具”页面选择语言

法语翻译 #153
贡献者

做得好@vlachoudis

法语翻译 #153

多语言将帮助很多用户。

法语翻译 #153
贡献者作者

谢谢@vlachoudis

法语翻译 #153
所有者

实际上,荣誉归于翻译者@ThierryM @CarlosGS @onekk谁做了艰苦的工作。

法语翻译 #153

谢谢大家!

法语翻译 #153
所有者

@ThierryM一个小的更正。将“垂直”翻译为“水平”

法语翻译 #153
贡献者作者

您好,更正完成 + 法语翻译已更新。
问候。

法语翻译 #153
贡献者

大家好!

首先感谢翻译!但是我遇到

./bCNC
/home/tuxun/Bureau/bCNC/ProbePage.py:1201: UnicodeWarning: Unicode equal comparison failed to convert both arguments to Unicode - interpreting them as being unequal
  CNC.toolWaitAfterProbe = int(TOOL_WAIT.index(self.toolWait.get().encode("utf8")))
Traceback (most recent call last):
  File "./bCNC.py", line 2316, in <module>
    application = Application(tk)
  File "./bCNC.py", line 191, in __init__
    page = cls(self.ribbon, self)
  File "/home/tuxun/Bureau/bCNC/CNCRibbon.py", line 106, in __init__
    self.register()
  File "/home/tuxun/Bureau/bCNC/ProbePage.py", line 1286, in register
    (ProbeCommonFrame, ProbeFrame, AutolevelFrame, ToolFrame))
  File "/home/tuxun/Bureau/bCNC/CNCRibbon.py", line 125, in _register
    w = f(self.master._pageFrame, self.app)
  File "/home/tuxun/Bureau/bCNC/ProbePage.py", line 1120, in __init__
    self.loadConfig()
  File "/home/tuxun/Bureau/bCNC/ProbePage.py", line 1153, in loadConfig
    self.set()
  File "/home/tuxun/Bureau/bCNC/ProbePage.py", line 1158, in set
    self.waitChange()
  File "/home/tuxun/Bureau/bCNC/ProbePage.py", line 1201, in waitChange
    CNC.toolWaitAfterProbe = int(TOOL_WAIT.index(self.toolWait.get().encode("utf8")))
ValueError: 'AVANT & APR\xc3\x88S sondage' is not in list

当我尝试使用它时。也许在这里做一些小修复?使用英语没有问题。

法语翻译 #153
贡献者

@ThierryM
嗨,我认为每个 LC_ALL=fr_FR 的用户都不能运行 bCNC,因为在法语翻译中有一个“È”(在 unicode 中被禁止)而不是“E”。我“请求”更正 .po 但忘记了更新的 .mo
(请参阅上面的帖子,“APRÈS”而不是“APRES”给出:

    CNC.toolWaitAfterProbe = int(TOOL_WAIT.index(self.toolWait.get().encode("utf8")))
ValueError: 'AVANT & APR\xc3\x88S sondage' is not in list

)

此外,在法语中,大写字符不带重音:)

vlachoudis 添加了引用此问题的提交 2016 年 3 月 3 日

法语翻译 #153
贡献者作者

你好,
@tuxun
我不同意你的看法:在法语中,大写字母需要强调。请参阅此处:https ://fr.wikipedia.org/wiki/Usage_des_majuscules_en_fran%C3%A7ais

“En français, « l’accent a pleine valeur orthographique ». L’Académie française recommande donc l’usage d’accent ou tréma sur une majuscule, tout comme l’utilisation de la cédille et de la ligature. Ainsi les publications de qualité écrivent-elles les majuscules (tout comme les capitales) avec les accents et autres diacritiques, au même titre que les minuscules。

我没有你报告的关于 È 的问题:bCNC 与 LC_ALL=fr_FR 一起工作(它在 Ubuntu 14.04 / Debian Wheezy 下工作)。
除了 È 存在于 Unicode 中: È -> 00c8。Unicode 的兴趣恰恰在于强调字符(大写或不大写)。
所以我认为你的增强是一种倒退。
也许您的配置有问题?
问候

法语翻译 #153
贡献者

我正要写同样的东西:我无法重现这个问题
西班牙语翻译也使用重音,它们似乎不是问题

您介意让我们更深入地了解您的设置吗?您可以复制出现在“文件->错误”中的系统信息

此外,在#253中,还需要更新 .mo 以使更改生效(请参阅如何使用 poedit
无论如何,谢谢@tuxun花时间帮忙^_^

法语翻译 #153
所有者

好的,我恢复了拉取请求。但是我们必须理解为什么它无法识别这个字符。

法语翻译 #153
贡献者

您好,感谢您的回答
它帮助我以不同的方式思考这个“错误”。(肯定是更好的)
我还在 poedit 中“尝试和测试”。(比昨天多)

当我在另一个字符串中粘贴“È”字符,并删除主要错误消息字符串中的“È”时,bnc 开始。(在我们的翻译中也有这个字符的另一个地方,没问题)
当我将这个字符粘贴到“探测前后”消息字符串中时,它再次“错误”。

所以……最终看起来这个字符串特别受到保护的方式与其他字符串不同(或者这里还有另一个谜团)

要重现并确认这一点:
尝试在西班牙语翻译中添加一个“È”(注意测试“BEFORE & AFTER PROBING”消息字符串!

如果你同意它,我会挖掘更多一点(例如阅读 probingpage.py 中的代码,看看它通常在其他地方做什么),以检查这一点并提出一个更好的补丁,这是我的第一个(你可能你自己已经猜到了)
(请让我试着把这个失败的拉取请求转换成一个好的拉取请求:))

注意:我可能有一个配置错误,但事实上它在 .mo/po 中运行时有一个非常小的修正,这对我来说意味着这个配置错误并不是真正的问题。

注意 2:如果有些东西不是很“流利的英语”,请也添加一点评论 :)

注3@ThierryM谢谢,我现在明白我还很年轻,但仍然习惯于“好”的计算机组织

法语翻译 #153
贡献者

@vlachoudis从 probepage.py 中的第 1201 行删除 encode(“utf8”) 允许毫无问题地启动 bCNC。但显然,它引入了其他错误……

法语翻译 #153

可能是此消息字符串的索引字符串存在“setint()”问题?

法语翻译 #153
所有者

您能否将 encode() 替换为 decode(“utf8”) ,并检查

法语翻译 #153
贡献者作者

你好,
问题是@tuxun不会出现在我的笔记本电脑 (Ubuntu 14.04) 上:但我没有连接到我的机器(也许我可以在这个星期三测试)。 所以我帮不了你…… 问候,
法语翻译 #153

蒂埃里

法语翻译 #153
所有者

我能够重现它,但这很奇怪。
如果我设置 LANGUAGE=fr 并在 bCNC 配置中从系统中获取语言,它会给出回溯。
如果我根本不设置语言并从 bCNC 设置更改为法语,它不会给出回溯。

法语翻译 #153
贡献者

@vlachoudis 我现在认为,如果我们在 loadconfig() 中使用 encode(“utf8”) 并在 saveconfig() 中使用 decode(“utf8”) 而不是在 waitchange() 或 policychange() 函数中,它会起作用。任何“确定”想过这个吗?

法语翻译 #153
所有者

@tuxun我想我已经找到了问题所在。在 Utils.py 中:_bulitins。我将它设置为 ugettext,返回一个 unicode 对象,而当从 ini 文件加载时,我将它设置为 gettext。通过将其更改为 gettext 第一个参考,它似乎对我有用。你能检查一下吗?

法语翻译 #153
贡献者

@vlachoudis最后一次提交看起来一切都很好!谢谢大家!

法语翻译 #153
贡献者作者

嗨,
看到屏幕上的文字(红色圆圈)没有翻译成法语。这很奇怪,因为“Sonde”是正确的(英文探测)。
现在,法语翻译中存在错误(“aud”代替波特):将在下一个版本中更正。 问候,
法语翻译 #153

蒂埃里