Firefox扩展开发笔记 - 关于locale的使用(一)
来源:互联网 发布:s7200仿真软件 编辑:程序博客网 时间:2024/05/17 23:28
本文章为原创,欢迎转载,但请给出本文链接,多谢合作。
本文链接:http://blog.csdn.net/epinszteinic/archive/2009/11/11/4799036.aspx
最近正在学做firefox的扩展。做语言国际化的时候,虽然官方有教程,但是写的不够详细,着实让我费了好大劲。。。
把自己的经验写下来,作为官方教程的一个补充吧。
国际化有两种,一种是定义dtd,一种是使用properties文件。
首先介绍如何使用dtd。
dtd文件是用于xul文件(用户界面描述文件 -- 请允许我用这个词来翻译)里面。
如何进行配置才能正常使用?下面是步骤:
①构造文件夹:
你的应用 -- content
|- locale
.. |- en-US
|- zh-CN
|- ja-JP
..
②为你的dtd文件取个名字吧,在心里取好就行,或者写在纸上。我们暂时给它取个名字叫:abc.dtd
这个文件里面要怎么写,放在哪里?不要着急,下面接着写。需要明确的是,locale里的每个子文件夹里都有一个abc.dtd。
③在chrome.manifest文件里,添加声明。
locale news_common_viewer zh-CN locale/zh-CN/
locale news_common_viewer ja-JP locale/ja-JP/
...
④在要使用这个dtd的xul文件里声明使用,否则会报错。
如何加声明?代码片段(红字,位置也要注意,一般放在<?xml>的声明下面就可以):
<?xml-stylesheet href="chrome://myext/content/myext.css"?>
<!DOCTYPE window SYSTEM "chrome://myext/locale/abc.dtd">
<overlay id="xxx" ....以下省略>
A:因为firefox会根据当前firefox的语言设置来自动去en-US、zh-CN、ja-JP这些文件夹里面找abc.dtd,所以声明的时候不需要en-US这些目录。因此,每个子目录里面,都会有一个abc.dtd。
⑤然后是用不同的语言编写每一个abc.dtd就可以了。
dtd的内容格式如下:
举个例子:
<!ENTITY ok_btn.accesskey "f">
⑥写完dtd以后,就可以在xul文件里面使用了,以下是代码片段:
<menu id="pop_menu1" label="&ok_btn.val;" accesskey="&ok_btn.accesskey;" insertafter="context-reload">
...省略
</popup>
dtd文件的使用就介绍到这里,下一篇是properties文件的使用。
- Firefox扩展开发笔记 - 关于locale的使用(一)
- Firefox扩展开发笔记 - 关于locale的使用(二)
- [Firefox]修改扩展的显示locale
- firefox 扩展的开发
- Firefox扩展开发笔记 - ajax返回乱码字符的处理
- Firefox的扩展开发介绍
- 正在使用的Firefox扩展
- firefox附加组件开发者指南(二)——开发扩展过程中使用的技术
- Firefox扩展开发笔记 - 如何给扩展打包,xpi格式
- 关于FireFox扩展插件的示例演示
- 关于locale的设定
- 关于locale的设定
- 关于locale的设定
- Firefox 扩展开发系列 – Firefox extension 文件的组成
- PHP 扩展开发笔记一
- 几则关于glibc的locale的笔记
- Firefox(火狐)浏览器扩展开发初探
- Firefox扩展开发之一
- 体验tiger之后
- 六西格玛 Six Sigma
- java 与 .net平台比较
- 加密配置节
- c++默认参数
- Firefox扩展开发笔记 - 关于locale的使用(一)
- 掌握Scrum 实现敏捷
- jboss Spring :Error parsing XPath '/sqlMapConfig/sqlMap'. Cause: com.ibatis.common.xml.NodeletException: Error parsing XML.
- ASP.NET缓存
- 超简单安装双系统 -- Wubi!
- log4j 日志文件分解
- .NET基础知识-什么是.NET
- 毕业生需了解薪酬待遇交金交税的情况
- WPF实现MDI窗体的方法