随笔 - 175  文章 - 202  trackbacks - 0
<2010年12月>
2829301234
567891011
12131415161718
19202122232425
2627282930311
2345678

第一个Blog,记录哈哈的生活

常用链接

留言簿(16)

随笔分类

随笔档案

文章分类

文章档案

收藏夹

Java links

搜索

  •  

最新评论

阅读排行榜

评论排行榜

http://www.chinamac.com/2009/1012/49609.html 
在选择系统语言的时候,你一定注意到了,在你的Home下文件夹会随之变化,

例如在英文时显示Documents,切换到一个使用中文偏好的账户(即便在fast switch)时,显示文档,后续介绍mac os x是如何处理的,在介绍之前,先说明一下了解这方面的一点知识可以解决的实际问题

如果遇到这样的问题,我们该如何处理呢,例如

  • 我的下载文件夹怎么变成英文的Downloads了?其他的文件夹例如文稿等等还是中文的
     
  • 我在使用Finder浏览users目录,怎么我的文件夹是中文的,别人的文件夹有些名称是英文的?
     
  • 这样的文件夹在darwin文件系统使用原始的名称来保存,通常是英文,例如Downloads
    mac os xGUI软件,例如Finder会根据用户的语言偏好,来显示本地化名称,例如下载
    你可以用终端输入ls命令来验证
    如果Finder在文件夹里面找到.localized(前面有一个.,隐藏文件)Finder就知道需要查找并显示本地化名称了。

    所以针对上面的问题,通常是因为两方面的原因,
    第一        .localized这个文件被误删除了
    我们可以手工创建一个,以Home下下载为例,终端使用这个命令
  • touch ~/Dowloads/.localized

复制代码

第二        设置了错误的权限,使得Finder不能访问到

可以使用chmod命令设置正确的权限

针对上面提到的第2个问题,看别人的文件夹名称是英文的,这个就不难理解了,那些文件夹你没有权限,自然不能访问.localizedFinder自然使用原始的名字来显示给你了

如下图:

20091012033847859.png 

 



Mac OS X支持多国语言,在系统偏好设置-多语言环境中,你可以选择使用的语言,很多文件夹和应用程序,随着你选择的语言不同也会随之变化,例如,使用英文时,你会看到这样的文件夹Desktop, Documents, Downloads, Library, Movies, Music, Pictures,使用中文时你会看到桌面文稿下载资源库电影音乐

  • Mac OS X实际使用的名字我们暂且称作真实的名称,通常使用英文,例如Documents
     
  • 根据用户使用的语言,所显示名称称作本地化的(非英语)名称,就是Display Name
     
  • Display names 与真实的名字不会混淆. 真实的名字是darwin文件系统中使用的名字,Display Name基于 文件系统的名字,但是被修改以反应当前用户的偏好设置
     
  • Mac OS X Darwin and Classic environments不支持Display Name
     

 20091012033847759.jpg

 

20091012033847606.jpg 

 


从以下三点介绍本地化名称(Display Name)

  • System-defined文件夹(指类似Desktop, Documents, Downloads, Library这样的文件夹)
     
  • 你可以自定义本地化文件夹,同样可以根据系统的语言显示本地化名称
     
  • 应用程序(Application),system preferences(中文是显示"系统偏好设置")
    System-defined的文件夹

    例如"文稿"(真实的名字是Documents),如下图,可以看到.localized(前面有一个.)这个隐藏文件
    在通常情况下,Finder不显示这类文件
     20091012033848600.jpg
     


    Finder发现有这个"空白"的文件(不需要内容),就知道需要查找并显示本地化名称了,所以不要删除这个文件。
    它会去这里找,
    • /System/Library/CoreServices/SystemFolderLocalizations/

  • 复制代码
    比如中文,相应的语言包(如zh_CN.lproj
    进入这个文件夹,可以看到SystemFolderLocalizations.strings文件(plain text)
    ,你可以看到相关的Display Name
    20091012033848614.png 

     
    你可以自定义本地化文件夹,同样可以根据系统的语言显示本地化名称

    有人按照system-defined文件夹的方法,VI编辑 SystemFolderLocalizations.strings文件,加入相关的条目,不建议这样作,推荐
    例如这个文件夹真实名字是test

    下面的操作需要使用/Applications/Utilities/Terminal.app  (中文是 /应用程序/实用工具/终端.app)
    1 test目录加上 .localized扩展名
    • mv test test.localized

  • 复制代码
    2 test文件夹下面,增加一个.localized的子文件夹.
    • cd test.localized && mkdir .localized

  • 复制代码
    3 进入.localized 子文件夹里面,建立"string"文件,每个文件对应一种语言,
    文件名子是two-letter language code加上.strings的扩展名
    en.strings
    zh.strings
    de.strings
    ....等等
     20091012033849175.png
     


    4 每一个"string"文件的编码是Unicode,内容是这样的"test" = "Localized name";
     20091012033849666.jpg


    PS: 取消Finder->show all file extertions1.png (59.89 KB)
     

     

     
    20091012033849409.png


    定义bundle ApplicationDispplay Name

    这个话题更多的牵扯到软件开发,在这里不详细说明,更多的信息参考: Bundle Programming Guide

    app右键,选择show package contents,进入contents/resource目录,有很多的语言.lproj,
    zh_CN.lproj为例这是简体中文,里面又一个文件InfoPlist.strings,其中有键值指定了Display NAME
    Picture 1.jpg (44.5 KB)
     

     

     
    20091012033850746.jpg

posted on 2010-12-22 22:38 哈哈的日子 阅读(985) 评论(0)  编辑  收藏

只有注册用户登录后才能发表评论。


网站导航: