小编ton*_*nfa的帖子

Python中的迷你语言

我在Python中创建一个简单的迷你语言解析器,在问题域附近进行编程以及所有这些.

无论如何,我想知道这里的人们会如何做到这一点 - 在Python中做这种事情的首选方式是什么?

我不会详细说明我所追求的内容,因为目前我只是在研究整个领域在Python中的容易程度.

感谢您的输入!

python dsl

44
推荐指数
4
解决办法
3万
查看次数

在Tomcat上处理URI中的字符编码

在我试图帮助的网站上,用户可以在浏览器中输入一个URL,如下面的汉字,

  http://localhost:8080?a=??
Run Code Online (Sandbox Code Playgroud)

在服务器上,我们得到

  GET /a=%E6%B5%8B%E8%AF%95 HTTP/1.1
Run Code Online (Sandbox Code Playgroud)

如您所见,它是UTF-8编码,然后是URL编码.我们可以通过在Tomcat中将编码设置为UTF-8来正确处理.

但是,有时我们在某些浏览器上获得Latin1编码,

  http://localhost:8080?a=ß
Run Code Online (Sandbox Code Playgroud)

变成

  GET /a=%DF HTTP/1.1
Run Code Online (Sandbox Code Playgroud)

无论如何在Tomcat中正确处理这个问题?看起来服务器必须做一些智能猜测.我们不希望100%正确处理Latin1,但是假设一切都是UTF-8,那么任何东西都比我们现在做的要好.

服务器是Tomcat 5.5.支持的浏览器是iPhone 6 +,Firefox 2+和iPhone上的Safari.

java encoding tomcat servlets internationalization

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

本地化图像的最佳方法

在i18n rails应用程序中本地化图像(按钮和其他内容)的最佳方法是什么?

ruby-on-rails internationalization

12
推荐指数
1
解决办法
4072
查看次数

如何在Mercurial中按存储库设置不同的用户名?

我正在使用Mercurial作为VCS为不同客户开展项目.我知道如何设置默认用户,但是为每个项目设置不同的用户是否有意义?

mercurial repository configuration-files

10
推荐指数
2
解决办法
971
查看次数

无法在Django中切换语言环境

我有文件locale/es/LC_MESSAGES/django.mo(和.po),运行makemessages和compilemessages.绝对是所有消息都被翻译

在settings.py中有:

USE_I18N = True
LANGUAGE_CODE = 'es'
Run Code Online (Sandbox Code Playgroud)

django仍然固执地从英文.po文件中获取字符串......为什么会这样?

一定有一些问题......谢谢.

编辑这似乎是这种情况,只有当LocaleMiddleware有效.

django internationalization

9
推荐指数
1
解决办法
4077
查看次数

更改Subversion错误消息的语言

出于某种原因,subversion正在返回我认为是德语的错误消息:

# svn up . 
svn: Zielpfad existiert nicht
Run Code Online (Sandbox Code Playgroud)

不幸的是,我不知道那种语言......在我使用在线翻译引擎来解决这个问题之前,我想我会尝试修复它.我想我只是在做一些非常简单的错误.我正在运行subversion 1.6.4通过yum安装在centos上(从具有相同问题的1.4.something升级).这是与CPanel混合的VPS.

据我所知,它试图加载英文信息并失败.我在strace输出中看到了这个:

open("/usr/share/locale/en_US/LC_MESSAGES/subversion.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/share/locale/en/LC_MESSAGES/subversion.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
brk(0x4106d000)                         = 0x4106d000
open("/usr/share/locale/en_US/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/share/locale/en/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
Run Code Online (Sandbox Code Playgroud)

正常的SVN命令是英文的(svn help,svn help up等),只是错误信息是德文的.就我所知,我一直都是这样使用机器而且我从来没有从Subversion得到错误信息......

:: locale
LANG=en_US
LC_CTYPE="en_US"
LC_NUMERIC="en_US"
LC_TIME="en_US"
LC_COLLATE="en_US"
LC_MONETARY="en_US"
LC_MESSAGES=en_US
LC_PAPER="en_US"
LC_NAME="en_US"
LC_ADDRESS="en_US"
LC_TELEPHONE="en_US"
LC_MEASUREMENT="en_US"
LC_IDENTIFICATION="en_US"
LC_ALL=
Run Code Online (Sandbox Code Playgroud)

我也跑:

export LC_MESSAGES=en_US
export LANG=en_US …
Run Code Online (Sandbox Code Playgroud)

svn internationalization

9
推荐指数
2
解决办法
6749
查看次数

国际化网络应用的网址格式?

脚本

Web服务器获取请求http://domain.com/folder/page.在接受语言头告诉我们用户喜欢希腊,与语言代码el.这很好,因为我们有希腊版的page.

现在我们可以使用URL执行以下操作之一:

  1. 返回保留当前网址的希腊语版本: http://domain.com/folder/page
  2. 重定向到 http://domain.com/folder/page/el
  3. 重定向到 http://domain.com/el/folder/page
  4. 重定向到 http://el.domain.com/folder/page
  5. 重定向到 http://domain.com/folder/page?hl=el
  6. ......其他选择?

哪一个最好?从用户的角度来看,优点,缺点?开发者视角?

url internationalization

9
推荐指数
2
解决办法
1336
查看次数

在Python中混合超级和经典调用

首先,让我引用一篇来自"专家Python编程"一书的文章:

在下面的示例中,使用__init__方法调用其基类的C类将使B类被调用两次!

class A(object):
    def __init__(self):
        print "A"
        super(A, self).__init__()

class B(object):
    def __init__(self):
        print "B"
        super(B, self).__init__()

class C(A,B):
    def __init__(self):
        print "C"
        A.__init__(self)
        B.__init__(self)

print "MRO:", [x.__name__ for x in C.__mro__]  #prints MRO: ['C', 'A', 'B', 'object']
C()  #prints C A B B
Run Code Online (Sandbox Code Playgroud)

最后,这里是对这里发生的事情的解释:

这是由于A .__ init __(self)调用,它是由C实例进行的,因此使super(A,self).__ init __()调用B的构造函数.换句话说,super应该用于整个类层次结构.问题是有时这个层次结构的一部分位于第三方代码中.

我不知道为什么" super(A, self).__init__()调用B的构造函数".请解释这一刻.非常感谢.

python

9
推荐指数
2
解决办法
1061
查看次数

在python中,如何测试类似字符串的对象是否可变?

我有一个函数,它采用类似字符串的参数.

我想决定是否可以安全地存储参数并确保它不会改变.所以我想测试它是否可变,例如是否buffer()构建的结果array.array().

目前我使用:

type(s) == str
Run Code Online (Sandbox Code Playgroud)

有没有更好的方法呢?

(复制参数太昂贵了,这就是为什么我要避免它)

python

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

使用gettext在PHP中添加对i18n的支持?

我一直听说过gettext - 我知道这是基于提供的字符串参数查找翻译的某种unix命令,然后生成一个.pot文件,但有人可以用外行的方式向我解释如何处理这个问题.一个网络框架?

我可能会考虑一些已建立的框架是如何做到的,但外行人的解释会有所帮助,因为它可能有助于在我真正钻研事物以提供我自己的解决方案之前更清楚一点.

php frameworks gettext internationalization

5
推荐指数
1
解决办法
1089
查看次数