小编Mal*_*olm的帖子

通过Babel国际化Python 2.6应用程序

我们正在评估Windows下的Babel 0.9.5 [1]与Python 2.6一起使用,并提出以下问题,我们通过阅读文档或谷歌搜索无法回答这些问题.

1)我想对ungettext使用_ like缩写.关于是否应该使用n_或N_,是否存在一个概念?

n_似乎不起作用.Babel不提取文本.

N_似乎部分有效.Babel像gettext一样提取文本,但不为ngettext格式化(缺少复数参数和msgstr [n].)

2)有没有办法在创建POT文件时设置如下的初始msgstr字段?

我怀疑有可能通过Babel cfg文件来实现这一点,但我一直无法找到有关Babel cfg文件格式的文档.

"Project-Id-Version:PROJECT VERSION \n""Language-Team:en_US \n"

3)有没有办法在我们的PO文件中保留"过时的"msgid/msgstr?当我使用Babel update命令时,新创建的过时字符串标有#〜前缀,但现有的过时消息字符串会被删除.

谢谢,马尔科姆

[1] http://babel.edgewall.org/

python translation gettext internationalization babel

8
推荐指数
1
解决办法
1431
查看次数

如何在对大文本值进行小编辑时有效地使用gettext PO文件

寻找有关如何在对大型msgid值进行小编辑时有效使用gettext PO文件的提示和/或工具.

示例:我们有许多存储在PO消息目录文件中的多句/多段消息.如果我们对一条消息做了一个非常小的改动,也许编辑一个句子甚至纠正标点符号,我们在运行msgmerge实用程序时会丢失原始翻译.

我们的译员不是从头开始重新翻译长消息(已经通过编辑审批流程),而是返回其PO文件的备份副本,并手动搜索最后一个msgid/msgstr翻译对的文本当前的msgid值以查看已更改的内容,然后复制并粘贴最后一个转换,然后编辑它们以反映更新的msgid值.

这是很多工作!当然必须有更好的方法来处理这种类型的工作流程?

有没有一种最佳实践的方式归档和发现以前的翻译不再在PO文件?我想到的一个想法是存储唯一的MSG ID在我们的信息的文本或在我们之前的消息,并使用这个ID来检索审查以前MSGID/msgstr翻译对的意见.或者是否有PO编辑或在线服务使这一过程更有效率?

谢谢你,马尔科姆

diff gettext internationalization

8
推荐指数
2
解决办法
1964
查看次数

配置具有透明背景的tkinter/ttk小部件,ttk框架背景颜色?

是否有可能配置TKinter或者TTK窗口小部件(Label,Entry,Text具有透明背景),以便它们可以被放置在与自定义的背景颜色或在画布上图形或图像的顶部容器?

我也在寻找一种方法来改变ttk Frame小部件的背景颜色?

我是否需要使用新的ttk Style对象来完成上述操作?(我是tkinter/ttk的新手,仍然试图绕着正确的方式做事).

python windows tkinter ttk

8
推荐指数
1
解决办法
5170
查看次数

当shell = True时,如何确定subprocess.Popen()失败

Windows 2.6 of Python 2.6.4:有没有办法确定使用shell = True时subprocess.Popen()是否失败?

当shell = False时,Popen()成功失败

>>> import subprocess
>>> p = subprocess.Popen( 'Nonsense.application', shell=False )
Traceback (most recent call last):
  File ">>> pyshell#258", line 1, in <module>
    p = subprocess.Popen( 'Nonsense.application' )
  File "C:\Python26\lib\subprocess.py", line 621, in __init__
    errread, errwrite)
  File "C:\Python26\lib\subprocess.py", line 830, in
_execute_child
    startupinfo)
WindowsError: [Error 2] The system cannot find the file specified
Run Code Online (Sandbox Code Playgroud)

但是当shell = True时,似乎无法确定Popen()调用是否成功.

>>> p = subprocess.Popen( 'Nonsense.application', shell=True )
>>> p
>>> subprocess.Popen object at 0x0275FF90>>>
>>> …
Run Code Online (Sandbox Code Playgroud)

python subprocess popen

7
推荐指数
2
解决办法
1万
查看次数

Python 2.7:通过Ttk主题的"通用对话框"tkinter接口?

Python 2.7(32位)Windows:我们正在试验Python 2.7对主题Tkinter(ttk)的支持,用于简单的GUI,并且给人留下了非常深刻的印象!新主题支持似乎缺乏的一个领域是如何包装特定于操作系统的常见对话框.

更正:换句话说,MessageBoxColorChooser常见的对话框看起来很"丑陋"的Win 95风格的块状外观按钮与主题(圆角/渐变)按钮通常会显示在XP,Vista和Windows 7下的这些常见对话框中.(I我在所有3个平台上进行测试,结果相同,没有主题.

注:FileDialog的通用对话框(askopenfilename,askopenfilenames,asksaveasfilename,askdirectory)都是正确的主题.

import tkMessageBox as messagebox
messagebox.showinfo()

import tkColorChooser as colorchooser
color = colorchooser.askcolor( parent=root, title='Customize colors' )
Run Code Online (Sandbox Code Playgroud)

有关将Tkinter MessageBoxColorChooser常用对话框与操作系统主题兼容所需要的任何想法(至少在Windows XP或更高版本下)?

python windows user-interface tkinter ttk

7
推荐指数
1
解决办法
3032
查看次数

线程安全区域设置技术

我们目前正在编写一个基于线程 python Web 服务器框架 (cherrypy) 的 Web 应用程序,并希望同时支持来自多个区域设置的用户。

区域设置模块似乎不是线程安全的。是否有第三方库或模块以线程安全的方式提供区域设置解析和格式化功能?

建议表示赞赏!

问候,马尔科姆

python multithreading locale

6
推荐指数
1
解决办法
1914
查看次数

在Windows资源管理器中显示exe的图标时,Windows如何决定显示哪种图标格式?

在Windows资源管理器中显示exe的图标时,Windows如何决定显示哪种图标格式?

问题:当我们在各种Windows资源管理器文件视图中查看我们的图标文件和带有嵌入式图标文件的exe时,图标文件显示的质量模式高于我们可执行文件显示的图标,即使我们的可执行文件中的图标包含完全相同的图标图标.我们的exe图标边缘较为粗糙,这让我相信Windows资源管理器可能会尝试升级较低分辨率的图标,而不是选择适合实际显示尺寸的图标.

在多格式图标文件中,是否存在我们应该用于定位每个图标格式的特定顺序?

例如,我们有一个带有以下格式图标的图标文件: - 16x16 - 32x32 - 48x48 - 64x64 - 128x128 - 256x256

我们正在Windows XP,Vista和Windows 7下使用Windows资源管理器测试我们的exe图标的外观.

任何建议赞赏.

icons exe windows-explorer

6
推荐指数
1
解决办法
2214
查看次数

Python 2.7/Windows:如何控制Tkinter常用对话框的位置?

Windows下的Python 2.7:我们如何控制Tkinter常用对话框的位置?

这是我们发现的:

  • 某些常见对话框始终相对于其父窗口打开
  • 某些常见对话框始终以用户桌面为中心打开
  • 所有常见对话框似乎都忽略了可选的parent =参数

问题:

  • 我们如何强制对话框相对于其父窗口打开?
  • 我们如何强制以用户桌面为中心打开对话框?

背景:

import tkColorChooser as colorchooser
import tkFileDialog as filedialog
import tkMessageBox as messagebox

; # always open up relative to parent windows
fileOpen   = filedialog.askopenfilename()
fileOpens  = filedialog.askopenfilenames()
fileSaveAs = filedialog.asksaveasfilename()
color      = colorchooser.askcolor()

; # always open up centered on desktop
folderOpen = filedialog.askdirectory()
messagebox.askquestion()
Run Code Online (Sandbox Code Playgroud)

谢谢你,马尔科姆

python windows tkinter ttk

6
推荐指数
1
解决办法
2485
查看次数

在 Tkinter Entry 小部件中撤消和重做?

有没有办法在 Tkinter小部件中添加撤消重做Entry功能,或者我必须使用单行Text小部件来实现此类功能?

如果是后者,在配置Text小部件以充当Entry小部件时,我应该遵循哪些提示?

一些可能需要调整的功能包括捕获Return KeyPress、将选项卡按键转换为更改焦点的请求,以及从剪贴板粘贴的文本中删除换行符。

python user-interface text tkinter tkinter-entry

6
推荐指数
1
解决办法
5264
查看次数

Python/Tkinter:使用Tkinter进行RTL(从右到左)语言,如阿拉伯语/希伯来语?

是否可以使用Tkinter为RTL语言(如阿拉伯语或希伯来语)呈现用户界面?我尝试使用Google搜索"tkinter rtl",搜索结果令人失望.该Tk的维基表明有此时没有比迪烟的支持.

是否有人为阿拉伯语或希伯来语语言环境开发Tkinter应用程序?

python localization tkinter right-to-left

6
推荐指数
1
解决办法
2253
查看次数