我使用了一系列目录的模式规则(它们碰巧是Django语言环境文件,但这不应该有任何区别)。翻译目录包含四个或五个子文件夹,每个子文件夹具有完全相同的结构。我想说:
如果文件夹中的文件名为
locale/en/LC_MESSAGES/django.po
translations/x
比文件更新locale/fr/LC_MESSAGES/django.po
位于同一文件夹中 以 x 作为参数运行一些命令。
我试图表达这一点。 (显而易见的)问题是"%"在规则的配方部分并不意味着"无论是什么匹配'%'在目标"。
translations/%/locale/fr/LC_MESSAGES/django.po: translations/%/locale/en/LC_MESSAGES/django.po:
tx push -s -r project.% && \
tx pull -r project.% && \
bin/dev/manage.py compilemessages
有什么想法吗?
修改:根据已接受的答案进行更正。
答案 0 :(得分:4)
您的意思是说规则的食谱部分中的%
,而不是声明的规则部分。
请参阅automatic variables上的页面,该页面将引导您:
$*
隐式规则匹配的词干(请参阅模式匹配方式)。
所以:
translations/%/locale/fr/LC_MESSAGES/django.po: translations/%/locale/en/LC_MESSAGES/django.po:
tx push -s -r project.$* && \
tx pull -r project.$* && \
bin/dev/manage.py compilemessages