`
hozaka
  • 浏览: 39268 次
  • 性别: Icon_minigender_1
  • 来自: 上海
最近访客 更多访客>>
社区版块
存档分类
最新评论

关于开发和国际化的分离

阅读更多

当前的项目有一个需求:网站有多个语言的版本,但是翻译工作不是由公司总部的人完成,翻译工作人员分布在世界各地;另一个情况就是项目经常更新,换句话说 catelog 会经常更新。面对这样的情况,老板要求不使用 poEdit 客户端,而使用 web 方式来访问、修改和更新。

因为项目是基于  Ruby on Rails 开发的,I18N 的实现使用  GetText  ,面对这样的要求,自然反应就是需要一个 po parser ,放在 prealpha 服务器上,所有的翻译工作人员通过这个页面来管理自己所负责的 catelog。

google 了好多内容,都没有发现一个现成的 po file parser。想从 gettext 的源代码里面找到 parser 代码,却发现  gettext 这个 gem 里面基本都是 module_eval 的实现方式,相当的丑陋,所以放弃了。

最终,还是去找到了 gettext 这个项目的规范文档,按照规范自己写了一个简单的 parser,还不支持 comment,暂且凑合吧,等以后有空余时间了再做扩展。

 

P.S. 计划赶不上变化,所以在项目的开发过程当中要做好充分的心理准备。这是一个经验的积累,不是一朝一夕就能达到的。当面对一个需求,能够预测到以后可能会做哪些扩展,怎么设计结构最为灵活,这是一个架构师必须具备的素质。

分享到:
评论

相关推荐

    软件开发文档规范-国际化

    在软件开发过程中,国际化(Internationalization,通常简写为i18n)是一个重要的环节,它使得软件能够适应全球不同地区的用户需求。本篇将详细阐述软件开发文档规范中的国际化内容,旨在帮助开发者构建出真正全球化...

    C# winform 国际化

    在C# WinForm应用开发中,国际化(Internationalization)是一个重要的功能,允许应用程序适应不同语言和文化环境。本文将深入探讨如何实现C# WinForm应用的国际化,包括菜单国际化和资源国际化。 首先,我们需要...

    Android中实现文字、图片资源国际化案例

    在Android应用开发中,为了使应用能够适应全球不同的语言环境,开发者通常会采用资源国际化(i18n,Internationalization)技术。这个过程涉及到将应用中的文本和图片资源分离出来,以便根据不同地区创建对应的翻译...

    Kiwi国际化全流程解决方案

    本文将深入探讨Kiwi项目提供的国际化全流程解决方案,帮助开发者更好地应对多语言环境下的开发挑战。 一、Kiwi项目的概述 Kiwi项目是一个专门针对JavaScript应用的国际化框架,它提供了一套完整的工具集,旨在简化...

    h5国际化demo[i18n实现]

    在IT行业中,"国际化"(Internationalization,通常缩写为i18n)是指设计和开发软件或网站,使其能够适应不同地区的语言和文化习俗。H5(HTML5)是现代网页开发的标准,它提供了丰富的功能和接口,使得实现国际化变...

    springboot项目快速实现国际化 若依前后端分离版-快速国际化集成

    springboot项目快速实现国际化 若依前后端分离版-快速国际化集成 国际化可视化工具 支持js html vue等多种格式资源国际化 更可进行自定义开发

    Linux 国际化本地化和中文化.doc

    开发人员需要遵循一定的标准和最佳实践,以确保软件能够轻松地进行国际化和本地化,例如: - 使用Unicode作为内部数据存储标准。 - 分离文本和代码,便于翻译。 - 提供API和接口,允许动态加载不同语言的资源。 **6...

    java 实现国际化 中英文语言切换

    - 分离业务逻辑和显示逻辑:将国际化字符串移出Java代码,放入资源包中。 - 维护统一的资源包命名和结构,便于管理和更新。 - 使用国际化友好的日期和数字格式,避免硬编码。 通过以上步骤和方法,我们可以有效...

    eclipse国际化插件

    国际化(i18n)是软件开发中的一个重要环节,确保程序可以在不同的语言和文化环境中运行。Eclipse的国际化插件提供了工具和功能,使得开发者可以轻松地管理资源文件,如.properties文件,这些文件包含了应用程序的...

    软件测试本地化与国际化

    - **含义**:国际化是指在软件开发阶段,设计和实现软件架构使其能够轻松地适应不同语言和地区的特性,无需对原始代码进行大规模修改。I18N中的数字“18”代表两个单词之间的字母数量,“N”代表“国际化”。 - **...

    iOS国际化(APP国际化)

    iOS国际化,也称为APP国际化,是指为iOS应用开发过程中实现多语言支持的过程,使得应用程序能够适应不同国家和地区的用户需求。这一过程涉及到资源文件、代码、用户界面等多方面的调整和优化,确保无论用户身处何处...

    eclipse 国际化插件

    Eclipse是一款广泛使用的...通过Eclipse的国际化插件,开发者可以更高效地进行多语言应用的开发,提高项目的可维护性和用户体验。同时,这也体现了Eclipse对开发者友好性的追求,使得复杂的国际化工作变得简单易行。

    android国际化工具

    Android的国际化(i18n,即“internationalization”的缩写)涉及将应用的文本内容与代码分离,以便可以针对不同语言和地区进行翻译。Strings.xml文件是Android应用中存储所有字符串资源的主要位置,而arrays.xml则...

    基于i18n国际化微服务统一处理错误码

    通过结合SpringBoot框架和i18n(国际化)技术,我们可以实现错误信息的多语言支持,让错误信息能够适应不同的用户群体。 首先,让我们来深入理解SpringBoot。SpringBoot是Spring框架的一个子项目,它简化了创建独立...

    web项目国际化

    Web项目的国际化,通常简称为i18n(取“internationalization”一词的第18个字母和第19个字母),是使软件能够适应不同语言和...在实际开发中,应结合项目需求和团队经验,选择最适合的工具和技术来实施国际化策略。

    ios 国际化 本地化

    国际化(Internationalization,通常缩写为i18n)和本地化(Localization,简称l10n)是iOS应用开发中的重要环节,旨在使应用程序能够适应不同国家和地区的语言、文化以及用户习惯。这两个概念虽然经常一起提及,但...

    项目国际化

    项目国际化是将软件或网站开发过程中的文本、用户界面、日期和时间格式、数字格式、货币符号等元素适应不同语言和地区的过程。这个过程通常被称为本地化(Localization, L10n)和国际化(Internationalization, i18n...

    svn1.8 ,国际化配置

    国际化(Internationalization,通常缩写为i18n)是指设计和实现软件系统,使其能够适应不同国家和地区的语言、文化以及用户习惯。这通常涉及到资源文件的分离,以便于翻译和适应各种语言环境。 在SVN 1.8中,国际...

    myeclipse 6.5版本的插件 国际化 (2)

    在IT行业中,软件的国际化和本地化是一个至关重要的环节,特别是在开发全球化的应用程序时。"myeclipse 6.5版本的插件 国际化"这个主题涉及到的是如何在MyEclipse 6.5这款集成开发环境中实现软件的多语言支持。...

    spring国际化项目

    Spring框架是Java开发中广泛使用的轻量级框架,它的国际化(Internationalization,简称i18n)功能使得应用程序能够根据用户的地区和语言偏好提供本地化的信息和服务。在本项目"spring国际化项目"中,我们将深入探讨...

Global site tag (gtag.js) - Google Analytics