.PO 到 .MO - 程序转换 (PHP)

2024-04-20

我计划允许用户通过 PHP 用户界面生成 .POT 文件/.PO 文件,作为 CMS 解决方案的一部分。一旦生成这些文件(简单一点),我希望允许我的系统自动将这些文件转换为 .MO 文件以响应用户 (POST) 请求。

我在SO上看到了以下问题:

php 中的 .po 到 .mo 转换? https://stackoverflow.com/questions/1181681/po-to-mo-convertor-in-php

我明白我可以跑msgfmt通过使用 PHPexec()函数,但这似乎是 Linux 唯一的解决方案,如果我是正确的?在其他操作系统上我将如何执行此操作?如果有人愿意演示的话,一些在实践中如何完成此操作的示例代码也将非常有用。这和我平时做的工作有很大不同!

目前这只是一个概念,但我希望我能沿着正确的路线前进。如果您对这种方法有任何其他想法/建议,我很高兴听到它们。背景信息如下。

其他背景信息 - 不需要:

我通过解析简单的模板文件来检索原始英文文本,这些模板文件仅包含基本的 HTML 和调用<?php _('the gettext method'); ?>。编辑/保存时会解析这些模板并检索语言条目。然后将生成 .POT 文件。用户现在必须手动编辑翻译(通过简单的界面,而不是直接)来更新/准备所有 .PO 文件。完成此操作后,我需要能够将它们转换为 .MO 文件,就像我的问题的标题一样。


还有仅 PHP 的重新实现msgfmt如果这就是您正在寻找的:

  • php-msgfmt http://wordpress-soc-2007.googlecode.com/svn/trunk/moeffju/php-msgfmt/
  • php.mo http://web.archive.org/web/20111226233411/https://github.com/josscrowcroft/php.mo/gh https://github.com/phpmo/php.mo

作为替代方案,还有翻译/普特尔 http://pootle.translatehouse.org/网络应用程序,及其php2po http://docs.translatehouse.org/projects/translate-toolkit/en/latest/commands/php2po.html脚本,但其中还必须有一些 .mo 转换函数...(哎呀不,它是用 Python 编写的。)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

.PO 到 .MO - 程序转换 (PHP) 的相关文章

  • 向 Windows 任务栏缩略图添加按钮 JavaFX?

    这个问题已经闲置一年多了 我的问题仍然没有解决方案 我编辑此内容是为了澄清我的问题并引起人们对它的新关注 如果您使用 Windows 您可能知道将程序图标悬停在任务栏上时显示的小预览图像 缩略图 某些程序 例如 Spotify Git 扩展
  • 在php中声明一个对象数组

    如何将 php 中的对象列表声明为私有实例变量 在 Java 中 声明看起来像这样private ArrayList ls构造函数会有这个ls new ArrayList Thanks PHP 动态分配内存 而且它并不关心您在数组中存储什么
  • Symfony2 KnpMenuBundle:设置活动菜单项,即使它不在该菜单上

    我创建了菜单生成器并且它可以工作 我的路线之一是 database 但这有一个子路线 database view id 我不想将视图路线放入菜单项中 因为没有 ID 它就无法工作 但我希望当用户在视图上时数据库路由处于活动状态 我怎样才能做
  • 如何在MySQL中使用数字字符串的比较运算符?

    我有一个员工表 有类似领域的经验VARCHAR类型 此字段结合了用短划线 分隔的总年份和总月份 因此我必须按年份过滤具有 3 年以上经验的经验 我的表结构 所以现在我必须获得3年以上经验的id 我尝试如下 SELECT FROM emplo
  • 如何更新 mongodb PHP 中的所有文档

    我正在设置一个 cronjob 来更新该字段views 15关于集合中的所有文档query 这就是我所拥有的 应该有效 update array set gt array views 15 gt 0 db gt queries gt upd
  • ci url 是否可能不适用于index.php

    ci url 是否可能无法与index php 一起使用 我不想在url 中添加index php 如果有人在url中添加index php它应该不起作用 我已经尝试了很多方法 请给我建议 我已经尝试过 但不起作用 RewriteEngin
  • C# 同步进程启动

    我正在尝试从一段代码启动一个进程 但我希望代码暂停执行 直到进程完成并退出 目前 我正在使用 System Diagnostics Process Start 类来启动 特别是 卸载程序 并且之后执行的代码确实依赖于安装程序卸载程序在恢复执
  • 在不运行控制台命令的情况下清理缓存的最佳方法是什么?

    在我的项目的管理面板中 我编写了更改要使用的数据库名称的功能 我把新的数据库名称写在parameters ini 之后必须清理缓存才能加载新配置 在不运行控制台命令的情况下清理缓存的最佳方法是什么 或者是否有另一种最佳实践如何更改当前数据库
  • Facebook 页面插件无法运行 - 仅适用于一个网站

    我已将页面插件集成到我的目录中 ruhrlink de info php schluessel 150991 不起作用 其他的可以 当我在开发者网站 gt 页面插件中手动输入网址时 它在那里也不起作用 https www facebook
  • 进行 URL 重写

    当我点击网站上给定条目的评论部分时 URL 如下所示 http www com comments index php submission Portugal 20Crushes 20North 20Korea submissionid 62
  • PHP:将 UTC 时间更改为太平洋时间(PST/PDT)[重复]

    这个问题在这里已经有答案了 我有一个 Datetime 对象并通过以下方式获取时间 today date Y m d H i s temp date gt getTimeStamp 我希望能够将其转换为加利福尼亚州的当前时间 但我需要考虑
  • 如何在 PHP 中复制此 C# 哈希? (toByteArray()、ComputeHash())

    我正在尝试复制以下代码PHP 这是我必须与之交互的 API 的示例代码 API 和示例代码位于C 我的应用程序在PHP 5 3 我不是 C 开发人员 因此在执行此操作时遇到困难 C Code I am trying to replicate
  • 最近的 Facebook API 的 FQLQuery

    我下载了最新的 Facebook PHP SDK 当我想要获取有关帖子的信息 例如点赞数 评论数和分享数 时 我的查询可以正常工作 但是 当我想获取用户的好友数量时 它不起作用并告诉我 Facebook FacebookAuthorizat
  • 显示不同表中的名称而不是 ID

    我有 2 张桌子 Category带主键ID和列Name Employee带主键ID和列Category id Note Category id现在显示ID正确地 我想展示Name代替ID对于输出Employee Attempt categ
  • 使用 Windows Media Foundation 枚举时如何获取硬件 ID

    我在用MFEnumDeviceSources 枚举连接的设备 我正在寻找一个已连接两个的特定网络摄像头 枚举工作正常 我可以打印友好名称这是FLIR Video对于我的两台相机 我正在努力弄清楚如何从 Media Foundation 设备
  • Azure 上的 Laravel 应用程序:用户“azure”@“localhost”的访问被拒绝

    我正在将 Laravel 应用程序部署到 Azure Web 应用程序 Mysql 到目前为止我执行了以下步骤 1 在应用程序中激活Mysql 2 连接到 BitBucket 存储库并确保代码已同步 3 创建 env文件并设置数据库变量如下
  • 如何安装 php 5.3.14 ubuntu 12.10

    我必须在我的 ubuntu 12 10 上安装这个特定版本才能与提供商保持兼容 我可以使用 synaptic 轻松安装 php 5 3 10 但无法升级到 5 3 14 我怎样才能做到这一点 apt get 不起作用 我在网上看到了几个教程
  • PHP - 如何查看服务器是否支持 TLS 1.0?

    我正在编写一个简单的检查器 您可以在其中输入一个 URL 该检查器将检查输入的 URL 是否使用 TLS 1 0 1 1 或 1 2 本质上 我想显示一条消息 Yoursite com 正在使用 TLS 1 0 建议禁用此功能 问题是 只有
  • 在ubuntu 18.04上安装python 2.7

    有没有办法在 Ubuntu 18 04 上安装 Python 2 7 我尝试了这个命令 但它不起作用 sudo apt install python minimal 有没有办法手动安装 我尝试使用 python 2 7 作为不支持 pyth
  • mysql 查询从给定的表结构创建 SEO 友好的 url

    我正在尝试使用下表创建 SEO 友好的 URL 类别表 http sqlfiddle com 2 c474a 4 页表 http sqlfiddle com 2 c474a 5 我正在尝试编写一个 mysql 查询 该查询将使用产生以下输出

随机推荐

  • 关于对象生命周期开始,C++ 标准意味着什么?

    在 n3690 C 标准的 3 8 1 节中有这样的文字 The lifetime of an object of type T begins when storage with the proper alignment and size
  • 根据 pandas DataFrame 中的列值条件替换多列

    我想根据第一组列中的值 具体来说 第一列为空白 同时将多个列的值替换为其他列中的相应值 这是我正在尝试做的一个例子 import pandas as pd df pd DataFrame a1 m n o p a2 q r s t b1 a
  • SMTP Mandrill 端口 587 连接超时

    我有一个应用程序 可以使用 Mandrillapp 的 SMTP 服务器为自己发送一些通知电子邮件 它在我的 localhost development 上运行良好 但在 DigitalOcean 的 Droplet 中我收到一个 PHP
  • 在 HttpAuthenticationContext 中为 IAuthenticationFilter 设置 Cookie 值

    我需要在 WebAPI 管道的身份验证步骤中读取 写入 cookie 我为此创建了一个自定义过滤器 为了遵守自托管概念 访问 cookie 并将其写入客户端的安全方法是什么 里克 斯特拉尔 http weblog west wind com
  • Android Locationprovider 需要太长时间才能暂时不可用

    根据这篇文章 UPD 链接已删除 因为它现在会导致一些废话 设置minTime当请求位置更新时将导致提供程序将自身设置为 TEMPORARILY UNAVAILABLEminTime毫秒以节省电池电量 在此不活动期间 GPS 提供商将自行关
  • if (flag==0) 和 if (0==flag) 哪一个执行得更快?

    面试问题 哪一个执行得更快 if flag 0 or if 0 flag Why 我还没有看到任何正确答案 已经有一些了 警告 纳瓦兹确实指出了用户定义的陷阱 我很遗憾我仓促地对 最愚蠢的问题 投了赞成票 因为似乎很多人都没有得到正确的答案
  • 如何查找当前选定 DOM 对象的所有兄弟姐妹

    在 JavaScript 中查找所有 nextSiblings 和 previousSiblings 的完美方法是什么 我尝试了几种方法但没有得到准确的解决方案 如果选择任何元素 我需要获取所有下一个同级元素的长度 不包括空格 任何空格或换
  • CKContainer accountStatusWithCompletionHandler 返回错误值

    accountStatusWithCompletionHandler方法返回 NoAccount价值 知道为什么返回值不是 Available 我已登录 iCloud 并连接到互联网 医生说 NoAccount means 用户的 iClo
  • 有没有办法像“举手发言”功能一样监控用户的 iPhone 移动情况?

    我想在用户将 iPhone 举到脸上时收到通知 就像 Siri 一样 是否可以 添加更具体的要求 当用户将手机放在耳朵附近时 我想使屏幕变暗 我知道可以启用接近传感器来实现这一点 但令人烦恼的是 当用户在传感器上移动手指时 屏幕会时不时变暗
  • 为什么有些对象属性是 UnaryExpression,而另一些对象属性是 MemberExpression?

    根据我的答案采取行动使用 lambda 而不是字符串属性名称选择模型属性 https stackoverflow com questions 3558974 select a model property using a lambda an
  • 删除记录时找不到元素

    JqG rid 4 6 一切正常 唯一的问题是 当我打开 Firefox 调试器并转到控制台时 如果我删除一条记录 单击垃圾桶图标 然后弹出删除对话框 单击删除按钮并刷新页面等 调试器会警告我 没有找到元素 可能的脚本是 gridSelec
  • Python 中 Comet 的最新推荐? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 对 numpy 屏蔽数组的操作给出屏蔽的无效值

    来自 numpy 中屏蔽数组的文档numpy 数组上的操作 https docs scipy org doc numpy reference maskedarray generic html operations on masked arr
  • Java 中的内存管理

    如何在Java中手动删除对象 有没有类似的方法obj delete or obj kill 没有真正的办法 Java有一个特殊的垃圾收集器这会为你做到这一点 一旦您的对象没有任何对它的引用 它就会在某个时候被垃圾收集器拾取并销毁 From
  • 带有多个 webapp 的 tomcat ajp 连接器

    我有一个 tomcat 服务器 带有 webapps ROOT 应用程序 以 Apache 为前端 LoadModule proxy ajp module modules mod proxy ajp so and ProxyPass ajp
  • 如何在 Swift 中返回序列?

    我正在尝试编写一个扩展Matrix书中的例子 稍微调整为通用的 https stackoverflow com q 24136604 458193 我正在尝试编写一个名为的方法getRow返回给定行的值序列 在 C 中 我会这样写 IEnu
  • 迭代 JSON 数据? [关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 我有一个如下所示的 JSON 数据
  • 数据源中 String 类型的给定值无法转换为指定目标列的 bigint 类型

    这是我的代码 protected void SendToServer Click object sender EventArgs e DataTable Values Session valuesdt as DataTable if Val
  • 必须在创建 QCoreApplication 之前设置属性 Qt::AA_UseSoftwareOpenGL

    所以我的环境是 Windows 10 截至 2019 年 11 月 8 日更新 通过 miniconda 安装了 Python 3 6 Spyder 4 运行 miniconda shell 激活虚拟环境 运行 Spyder 我得到以下信息
  • .PO 到 .MO - 程序转换 (PHP)

    我计划允许用户通过 PHP 用户界面生成 POT 文件 PO 文件 作为 CMS 解决方案的一部分 一旦生成这些文件 简单一点 我希望允许我的系统自动将这些文件转换为 MO 文件以响应用户 POST 请求 我在SO上看到了以下问题 php