不区分大小写的翻译
我在我的应用程序中,有些地方显示字符串是正常大小写,有些地方则是全大写:
{% trans item.name %}
{% trans item.name.upper %}
我使用.po/.mo文件来指定翻译:
msgid "Welcome"
msgstr "歓迎"
但翻译似乎对大小写很敏感。比如说,'Welcome' 被翻译成 '歓迎',但是 'WELCOME' 却没有被翻译。有没有简单的方法可以让它不区分大小写地翻译呢?这样做看起来比每个翻译都提供两次要干净一些。
2 个回答
0
一种实现显示效果的方法是使用CSS。
举个例子:
<style>
p.uppercase {text-transform: uppercase;}
p.lowercase {text-transform: lowercase;}
p.capitalize {text-transform: capitalize;}
</style>
在Django页面中,可以使用:
<p class="uppercase">{% trans 'Welcome' %}</p>
6
唯一“简单”的方法就是始终使用全大写或全小写的字符串,然后进行翻译。不过据我所知,Django和Gettext都不支持不区分大小写的处理。
你应该问问自己……这样做真的正确吗?我的意思是,在某些语言中,单词的意思可能会因为大小写的不同而改变。所以我在想,自动添加大写的翻译可能是个更好的解决方案。这样的话,如果某种语言需要的话,你至少可以进行调整。