标签: gettext

拉有什么git钩子吗?

我每次运行时都需要在项目中执行一些操作(准备gettext*.mo消息文件)git pull.有没有合适的git钩子,我可以用于此目的吗?

git hook gettext

150
推荐指数
2
解决办法
6万
查看次数

编译器错误 - 找不到msgfmt命令

我正在尝试从我的共享主机更新Git.为此,我遵循以下步骤:

  1. 下载最新的Git版本
  2. 打开包装并将其放在服务器上
  3. 配置并创建Makefile - > ./configure --prefix=$HOME/dev/git/src --without-tcltk
  4. 构建包 - > make然后make install
  5. 更新PATH .bash_profile

我被困在第4点.当我运行make命令时,我得到以下内容:

user@ssh1:~/dev/git/src$ make
SUBDIR gitweb
SUBDIR ../
make[2]: ? GIT-VERSION-FILE ? est ? jour.
GEN git-instaweb
SUBDIR perl
SUBDIR git_remote_helpers
SUBDIR templates
MSGFMT po/build/locale/is/LC_MESSAGES/git.mo
/bin/sh: msgfmt: command not found
make: *** [po/build/locale/is/LC_MESSAGES/git.mo] Erreur 127
Run Code Online (Sandbox Code Playgroud)

编译器抛出msgfmt command not found错误.

我用Google搜索它,它似乎与gettext包有关.

知道如何在共享主机上修复该错误吗?

git shared-hosting compiler-errors gettext msgfmt

57
推荐指数
4
解决办法
7万
查看次数

有什么好的替代poEdit?

我正在寻找一个.po/.mo编辑器.我使用gettext作为翻译文件,但不喜欢poEdit.它必须在Windows Vista上运行,如果它内置于Visual Studio 2008中,它会更好,所以我可以开发和翻译

我真的想要一些能帮助我翻译并使翻译更容易的东西.我想有建议和拼写检查

[没有选择?如果真的没有选择,我也可以做一些事情并编写代码,这样翻译就很容易了.您甚至可以整合http://dict.leo.org或查看Google翻译为查询提供的内容.]

translation gettext poedit

51
推荐指数
5
解决办法
4万
查看次数

django-admin.py makemessages无效

我正在尝试翻译一个字符串.

{% load i18n %}
{% trans "Well, Hello there, how are you?" %}
Run Code Online (Sandbox Code Playgroud)

至...

Hola amigo, ¿que tal?
Run Code Online (Sandbox Code Playgroud)

我的settings.py文件包含:

LOCALE_PATHS = (
    os.path.join(BASE_DIR, 'translations'),
)
Run Code Online (Sandbox Code Playgroud)

我得到了这个:

(env)glitch:translations nathann$ django-admin.py compilemessages
CommandError: Can't find msgfmt. Make sure you have GNU gettext tools 0.15 or newer installed.
Run Code Online (Sandbox Code Playgroud)

我也不明白这个错误信息.

(env)glitch:ipals nathann$ django-admin.py makemessages -l es
CommandError:
This script should be run from the Django Git tree or your project or
app tree. If you did indeed run it from the Git checkout …
Run Code Online (Sandbox Code Playgroud)

python django homebrew gettext

51
推荐指数
5
解决办法
4万
查看次数

PHP在<<< EOF字符串里面使用Gettext

我使用PHP的EOF字符串来格式化HTML内容,而不必担心必须转义引号等.如何在此字符串中使用该函数?

<?php
    $str = <<<EOF
    <p>Hello</p>
    <p><?= _("World"); ?></p>
EOF;
    echo $str;
?>
Run Code Online (Sandbox Code Playgroud)

php gettext eof

47
推荐指数
1
解决办法
17万
查看次数

Gettext:消息ID是英文文本是一个好主意吗?

我们正准备将我们的PHP网站翻译成各种语言,PHP中的gettext支持看起来就像是要走的路.

我看到的所有教程都建议使用英文文本作为消息ID,即

gettext("你好!")

但这真的是个好主意吗?假设市场营销人员希望将文本更改为"你好,你们!".那么你不必更新所有语言文件,因为该字符串 - 实际上是消息ID - 已经改变了吗?

拥有某种通用ID(例如"hello.message")和英文翻译文件会更好吗?

php gettext internationalization

39
推荐指数
6
解决办法
6520
查看次数

php中gettext的完整示例

我一直在谷歌搜索最后一小时左右试图找到一个完整的工作示例的PHP文件中的gettext - 所有源文件,po文件,正确的路径等.只是一个"你好世界"与所有必需的文件.

我想知道是否有人有这样一个有效的例子.提前致谢.

php gettext internationalization

38
推荐指数
2
解决办法
3万
查看次数

你如何处理带标记的文本翻译?

我正在为我们的网络应用程序开发多语言支持.我们在gettext库周围使用Django的助手.除了如何处理包含重要HTML标记的句子之外,一切都非常容易.这是一个简单的例子:

Please <a href="/login/">log in</a> to continue.
Run Code Online (Sandbox Code Playgroud)

以下是我能想到的方法:

  1. 更改链接以包括整个句子.无论在这种情况下改变是否是一个好主意,该解决方案的问题在于,当两者理想地独立时,UI变得依赖于i18n的需要.

  2. 将上面的整个字符串标记为翻译(包括格式).然后,翻译字符串也将直接包含HTML.这样做的问题是更改HTML格式需要更改所有翻译.

  3. 紧紧耦合多个翻译,然后使用字符串插值来组合它们.例如,可以单独标记短语"Please%s to continue"和"log in"进行翻译,然后合并."登录"已本地化,然后包装在HREF中,然后插入到翻译的短语中,这使%s保持翻译以标记链接应该去的位置.这种方法使代码复杂化并破坏了翻译字符串的独立性.

还有其他选择吗?其他人如何解决这个问题?

html translation gettext internationalization

35
推荐指数
3
解决办法
7180
查看次数

版本控制下的Gettext .po文件

目前在项目上使用Gettext,.po文件很好地保存在版本控制之下.

PO文件当然包含翻译,但除此之外,它们还包含一些元数据 - 有关可翻译字符串所在的确切文件和行号的信息.

问题是每次更新PO文件时,元数据的变化比实际的翻译要多得多.这使得以后很难从版本控制差异中看到实际更改的内容 - 您只看到文件名和行号的无数更改.像那样:

- #: somefile.js:43
- #: somefile.js:45
- #: somefile.js:118
+ #: somefile.js:203
+ #: somefile.js:215
  msgid "Translate me please"
  msgstr "Tõlgi mind palun"

- #: somefile.js:23
- #: somefile.js:135
+ #: otherfile.js:23
+ #: otherfile.js:135
  msgid "Note"
  msgstr "Märkus"

- #: andThatFile.js:18
  #: orThisFile.js:131
- msgid "Before I was like this"
- msgstr "Selline olin ma enne"
+ msgid "I happen to be changed"
+ msgstr "Paistab, et mind muudeti"
Run Code Online (Sandbox Code Playgroud)

当然,一个简单的解决方法是在xgettext输出中禁用filename/linenumber注释的生成.但实际上我发现这些文件名在翻译时非常有用.

我当然不可能是唯一一个不喜欢他的PO文件的差异的人.建议?

git version-control diff gettext po-file

35
推荐指数
4
解决办法
4001
查看次数

为什么人们使用普通英语作为翻译占位符?

这可能是一个愚蠢的问题,但这里有.

我见过几个项目使用一些翻译库(例如gettext)和普通英语占位符一起工作.例如:

_("Please enter your name");
Run Code Online (Sandbox Code Playgroud)

而不是抽象的占位符(这一直是我本能的偏好)

_("error_please_enter_name");
Run Code Online (Sandbox Code Playgroud)

我已经看到有关SO的各种建议与前一种方法一起工作,但我不明白为什么.我不知道如果你需要改变英语措辞,你怎么做?因为如果将实际文本用作所有现有翻译的密钥,则还必须编辑所有翻译,并更改每个密钥.或者不是吗?

这不是很麻烦吗?为什么这是行业标准?

以这种方式做这绝对不是正确的规范化.我没有看到这种方法有很大的优势吗?

gettext internationalization

34
推荐指数
4
解决办法
1702
查看次数