问题标签 [mo]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
wordpress - i18N Wordpress 使用 mo 文件不接受上下文
我对加载我的主题 .MO 文件有点困惑。我在谷歌上做了很多搜索,我得到了一个可以工作的版本,但我不明白为什么。
首先,我在主题 CSS 文件中设置了我的文本域:
我从 Roots 主题开始,它执行 after_setup_theme 并在那里加载 MO 文件:
这个 MO 文件有一个 'beauty' 上下文和一个 'roots' 上下文。MO 文件正在加载,因为当我转储时,$l10n[$domain]
我看到我的 3 个值具有美丽的上下文。
为了篇幅,我只展示一个条目:
我的站点中有 2 个本地人,nl_NL 和 en_UK。这是使用 WPML 设置并正确加载的。我在主题文件夹中有一个 nl_NL.mo 和一个 en_UK.mo 文件lang
。
所以,这一切看起来都不错。
但是,在我的 header.php 中,我有一个登录锚点:
在我的理解中应该加载上下文'beauty'和关键'Inloggen'。
因此,当我在我的语言环境 nl_UK 中时,它不起作用,我看到的是标准荷兰语文本“Inloggen”而不是“登录”。
奇怪的是,当我msgctxt "beauty"
从 PO 文件中删除上下文并将其保存以创建新的 MO 文件时,它确实有效。
我之前在我的插件中使用过上下文,load_textdomain
用于加载 MO 文件并且效果很好。
我想使用上下文的原因是因为一个文件包含 Roots 和 Beauty 相关的文本,而我只对 Beauty 文本感兴趣。我不想删除_e
Roots 主题的所有条目,所以当我加载源时它不会出现。
所以这是一个问题。
问题 2 不那么重要,但也让我感到困惑:当我查看主题为 205 的示例时,它们的 PO 和 MO 文件在 wp-content/languages/themes/ 文件夹中的名称为“twentyfiftheen-nl_NL.mo”。我读了这篇很棒的文章(https://localise.biz/help/wordpress/loading-translations)和这篇文章(https://wordpress.stackexchange.com/questions/137427/themes-text-domain-language-po- file-not-working ) 并理解您应该始终为 MO 文件提供语言环境的名称,而不是上下文名称 + 语言环境的名称。
在这个不错的文档(https://localise.biz/help/wordpress/loading-translations)中,我发现
但是,当我在 wp-content/languages/themes 中有我的 MO/PO 文件时,它不起作用,但它可能与我在上下文中遇到的相同问题有关(问题 1)。
干杯
wordpress - how to add string in source in .po file in poedit
I have created a ne_NP.po file from pot file and saved it. It creates a .mo file and .po file and when i try to add a source text of ne_NP.po file, it didnot let me to edit the .po file. I want to add a new text of english and convert it into it's respective nepali language. why I am not being able to add a new english string with its respective string in nepali language.
php - PHP setlocale 回退到系统默认语言环境
这是我用来设置语言的代码:
.
分解它:
将此设置为 'pt_PT' 可以为葡萄牙语完成这项工作,但如果将其设置为其他值,则不会翻译任何内容。
(ROOTPATH 是项目根文件夹路径的 var)
下一部分总是输出这个: LC_COLLATE=C; LC_CTYPE=葡萄牙语_葡萄牙语.1252;LC_MONETARY=C; LC_NUMERIC=C; LC_TIME=C
我正在测试的字符串
在将其设置为“en_US”之前,我已经尝试过setlocale(LC_ALL, NULL)
,setlocale(LC_ALL, '')
但它也没有帮助,尽管它只echo setlocale(LC_ALL, 0)
打印了Portuguese_Portugal.1252
.
我也尝试过更改系统的语言等等,但它仍在接受Portuguese_Portugal.1252
,不太确定如何......
这是 .po/.mo 文件的文件夹结构。
编辑
这些是 setlocale() 为不同代码返回的值(我不知道它是否有帮助,但它们对我来说似乎不太一致):
输出:LC_COLLATE=C;LC_CTYPE=Portuguese_Portugal.1252;LC_MONETARY=C;LC_NUMERIC=C;LC_TIME=C
输出:PT
输出:English_United States.1252
输出:EN
输出:LC_COLLATE=C;LC_CTYPE=Portuguese_Portugal.1252;LC_MONETARY=C;LC_NUMERIC=C;LC_TIME=C
wordpress - Wordpress 语言更新
我需要在 Wordpress 中禁用自动语言更新。在 Google 上搜索后,我在 wp-config.php 中添加了这两行:
但 WordPress 继续更新 .po 和 .mo 文件。
如何禁用自动更新?为什么这些代码行不起作用?
translation - 在金字塔网络框架中重新加载翻译文件
我在基于金字塔的应用程序中开发了一个翻译帮助页面。新的翻译通过以下方式保存在文件.po
中:.mo
但是新的翻译直到我重新启动应用程序才生效。
我需要在保存新翻译文件后立即重新加载翻译文件,而无需重新启动 wsgi 应用程序。
wordpress - 翻译自定义按钮
我需要在代码中翻译自定义按钮行,但它不适用于我的解决方案。
这是我需要翻译的文件行(第 13 行,文件名:add-to-quote-button.php)
我的解决方案不起作用:
附加信息:
我的翻译文件名称: yith-woocommerce-request-a-quote-cs_CZ.mo
文件位置: plugins/woocommerce 请求报价 v1.6.1/templates/add-to-quote-button.php
python - 提交表单时出现 Django IntegrityError(在视图中预填充)
我无法为我的问题找到可靠的答案。我正在尝试在视图中预先填充表单。所以当用户使用表单时,一些数据已经被处理了。我想要做的是自动获取用户名和他的组并将其输入数据库。但是当我尝试这样做时,我得到 IntegrityError NOT NULL 约束失败。
我是新手,我正在从 MDN 网络文档中学习。
我的意见.py:
表格.py:
模型.py:
html:
我得到的错误是:异常类型:IntegrityError 异常值:
NOT NULL 约束失败:myapp_myapp.organization_id
感谢您提供的任何帮助
wordpress - 一些字符串在 Wordpress 插件中未翻译
有一个带有其他语言翻译的插件。我使用 poedit、在线 po 编辑器甚至插件来更新本地化中的一些字符串。
以下是来源:
在插件的 php 文件中的第 911 行
在插件的本地化 po 文件中。
语言环境文件的名称是正确的。文件是正确的。当我编辑它们时,其他字符串很好,翻译工作。
我已经更改了 php 中的字符串,然后从源代码更新了 po,编辑了翻译,但什么也没发生。
c++ - 为 gettext 提升语言环境“转换失败”
我遇到了这样的例外:std::runtime_error("Conversion failed")
仅当我在翻译中使用非 ascii 字符时才会出现问题。
我的文件中的示例内容.mo
(命令msgunfmt foo.mo
:)