Mudlet: 添加缺少的字符串进行翻译

创建于 2018-09-09  ·  27评论  ·  资料来源: Mudlet/Mudlet

问题的简要摘要/请求功能的描述:

客户端中的一些消息尚未标记为翻译,截至今天还不会本地化:

未完待续..

i18n & l10n

所有27条评论

上面提到的 ctelnet.cpp 中的字符串有时会有过多的空格字符,如
[ INFO ] - text

[ INFO ] - text
就像在其他地方使用一样。 也许利用这个机会统一,因为连接滚动当前交替。
编辑:该死,github 将在第一个 [INFO] 之后和减号之前取消双空格字符。

目前似乎无法找到这些消息的创建位置:
image
在此存储库中搜索“Lua 模块”文本,但未生成。

谢谢瓦迪。 也许github.com上的搜索功能有问题,我真的应该自己搜索下载的文件。 太遗憾了!

SlySven 报道:

我发现一个没有用 tr(....) 包装文本输入的地方是每个触发器项目末尾的项目类型组合框 - 所以那些永远不会被翻译成其他语言......

不确定它在哪里,第三方模块?
image

@Kebap写道:

上面提到的 ctelnet.cpp 中的字符串有时会有过多的空格字符,如
[信息] - 文本

[信息] - 文本
就像在其他地方使用一样。 也许利用这个机会统一,因为连接滚动当前交替。
编辑:该死,github 将在第一个 [INFO] 之后和减号之前取消双空格字符。

[ WORD ] -的间距被 ~ tweaked twiddled ~ frobnicated使得WORD[]之间有一个或两个空格(取决于 WORD 长度) ]-之后有足够的空格,以便所有不同的消息都具有相同数量的字符 - 如果我用#替换空格
[##OK##]##-#
[##LUA##]#-#
[#INFO#]##-#
[#WARN#]#-#
[#ALERT#]#-#
[#ERROR#]#-#

这样做是为了确保所有消息具有相同的前缀长度。 然而,现有的代码还不适合翻译(我想我的代码藏在某个地方,{on language change} 对所有翻译的标题进行了扫描,并计算出用于它们和任何未翻译文本的间距 - 即使是那些带有一个额外的未翻译消息标记前缀(Qt 默认值是#因为它发生了)所以这仍然适用于不完整的翻译情况......

...然而,如果 Vadim 在我之前的 I18n 代码尝试中翻来覆去,假设我曾经发布过它......

让我们将讨论移至#2005,好吗?

image

main.cpp 围绕这个区域,研究“show_splash”

连接弹出窗口将显示“取消”按钮,该按钮仍为英文且不可翻译。

image

上面的连接字符串可能类似

触发器编辑器:
image

代码: https :

回复:启动画面文本 - 翻译并不简单,因为启动画面是构建主 UI 和加载翻译系统

我至少在我的一个版本中解决了这个问题,该版本允许在重新启动 Mudlet 的进行运行时更改:将翻译后的字符串作为QStringList写入 Mudlet 配置目录中的文件 ( splashScreenTexts.dat IIRC) 每当语言更改时。

IIRC I 还包括第一个条目是行数,以避免在 Mudlet 的更高版本中不同文本的数量发生变化时出现令人讨厌的问题,因此变量中的行数少于代码预期的行数!)

在启动 Mudlet 时,会将默认( en_US )文本加载到QStringList ,然后尝试加载该文件,如果它存在,它将使用它在此之前覆盖该变量的内容使用然后存储的任何内容来生成消息......

连接弹出窗口将显示“取消”按钮,该按钮仍为英文且不可翻译。

那是因为标准对话按钮是由 Qt 库提供的,而 Vadim 为简化我的运行时 UI 更改代码所做的 hackary 并没有完全正确。

我的旧代码 IIRC 允许更改翻译文件源 - 这样就可以从资源中的编译集更改为文件系统中的外部集 - 可以即时编辑然后重新加载; 这意味着每次使用dlgProfilePreferences类并更改翻译文件源时,它都必须检查哪些翻译文件可用 - 通过尝试加载每个文件但不将其投入使用。 此代码已重构为使用(void) mudlet::loadTranslators()定义的 lambda 函数,但它仅用于执行 Mudlet 文件 - 它没有加载 Qt 文件和尝试调用现在匿名函数来执行此操作的当前代码只是很无聊......:stuck_out_tongue_closed_eyes :)

:bulb: 我有一些代码藏在一侧,可以整理编辑器的这一方面... :grinning:

在没有自动保存的情况下关闭配置文件 - “您想保存此配置文件”将被翻译,但不会翻译选项:“是”、“否”、“可能”啊我的意思是“取消”

image
编辑器窗口中搜索窗格中列的标题。

编辑:dlgTriggerEditor.cpp 在此处列出这些文本: https :

image
包导出器(实验性)对话框窗口

image
配置文件创建窗口

只需要更新 Crowdin 字符串以使其可用!

回想起来,我们应该在开发合并后立即更新它们。

我相信所有这些现在都更新了,对吧?

我相信所有这些现在都更新了,对吧?

我不确定_all_,有一段时间没有检查它们。 对于某些人,我什至不确定它们来自哪里。 SlySven 甚至提到了一些根本没有翻译的标准对话框按钮。

所以我仔细检查了所有这些,这里唯一需要解决的就是启动闪屏。
SlySven 上面提到了如何解决这个问题有点困难,因为在此期间tr()函数尚不可用。
https://github.com/Mudlet/Mudlet/issues/1964#issuecomment -443542921
不过应该是可行的。 我想我以前在某个地方看过它。 只是不确定当时是如何调用该函数的。

简单地从初始屏幕中删除文本怎么样?

对于大多数机器来说,它开始读取速度太快,而且那里的信息几乎没有用处或必不可少。

很公平,然后关闭它。

此页面是否有帮助?
0 / 5 - 0 等级