虽然我找到了很多与此问题相关的资源,但它们都没有使用Zend Framework正确地给出多语言CMS的答案.

zend框架中有许多zend translate adapters可用.但是最需要数据库(MysqL)驱动的网站的那个(zend sql adapter)还没有发布.

对于那些不是数据库驱动的多语言网站,内容可以放在文件中(xml,mo或任何其他),其中一个zend翻译适配器用于处理内容以显示正确的语言.

我们将如何处理数据库驱动的多语言网站?以前我们习惯使用PHP设计精良的多语言数据库,将每篇文章(页面)保存在表格中,并包含所有必需的翻译.如果我们通过使用zend框架来做同样的事情,那会是过度杀戮还是慢速网站?我们仍然使用zend缓存来加快速度,但我们无法利用zend translate.稍后,当sql的zend translate适配器可用时,使用zend translate可以很容易地切换多语言内容管理系统.

有没人试过这个?什么可能是职业选手和玉米?

另一个解决方案是保持我们良好的设计多语言数据库,并在管理区域中使用GUI在每个更改管理员生成基于xml的语言文件.然后使用zend translate adapter之一来处理这些xml文件.我想这可能是矫枉过正的,用大炮杀死一只鸟:)

当我谈论将整个页面的内容放在数据库中时.它可以包含一些html标签,如b,span,br,p等.zend翻译可以如何处理内容与html标签?

如果某人之前已经实现了这一点,那么使用zend框架处理多语言内容管理网站的最佳方式可能是什么.

任何专家意见!

There are many zend translate adapters available in zend framwork. But the one (zend sql adapter),which is most need for database(MysqL) driven websites,is not yet released.

For those multilingual websites,which are not database driven,contents can be placed in files (xml,mo,or any other) and one of the zend translate adapter is used to process the contents to display the correct language.

这些都是错误的假设.不是说,DB驱动的应用程序需要使用DB驱动的翻译系统.您可以轻松使用静态文件系统.

How we will deal with database driven multilingual website? PrevIoUsly we were habit of using PHP with well-designed multilingual database keeping each article (page) in table with every required translation.

我认为你有点误 – 我知道你想使用翻译来获取页面的动态内容(文章).翻译的目的是使视图国际化 – 静态内容.我的意思是登录或注册或欢迎文本等等.这些确实应该在文件中(考虑文件是静态缓存)而不是在DB中,因为它会产生巨大的负载(无论如何都应该缓存DB).存储在数据库中的文章是另一回事,您想要实现的是多语言页面内容.您可以轻松处理,无需翻译(请记住,翻译适用于视图!),只需在表格中添加国家/语言标志,并通过模型检索合适的(按给定语言过滤)数据.它非常简单,不需要任何后端进行翻译.

我不确定Translate是如何工作的,但我可以假设它检查语言然后加载整个翻译文件并将其作为集合(或简单的关联数组)存储在脚本内存中,以提供快速而强大的翻译机制(注意,那它不需要为每个给定的密钥调用DB或文件,因为它们都将在内存中).保持整个页面,这样的文章根本没有意义,主要是因为你每页只需要1-2篇文章(为什么浪费内存呢?)有时候会有数百个本地化的视图字符串(所以你不想为每个人调用数据库或文件)

Another solution Could be keeping our well design multilingual database and generate xml based language files on every change admin make using GUI in admin area. And then use one of zend translate adapter to handle these xml files. I guess that Could be overkill,killing a bird with cannon

总结

以上是DEVMAX为你收集整理的php – 使用zend框架的多语言内容管理网站(CMS)全部内容。

如果觉得DEVMAX网站内容还不错,欢迎将DEVMAX网站推荐给好友。

php – 使用zend框架的多语言内容管理网站(CMS)的更多相关文章

  1. 详解前端HTML5几种存储方式的总结

    本篇文章主要介绍了前端HTML5几种存储方式的总结 ,主要包括本地存储localstorage,本地存储sessionstorage,离线缓存(application cache),Web SQL,IndexedDB。有兴趣的可以了解一下。

  2. PhoneGap / iOS上的SQLite数据库 – 超过5mb可能

    我误解了什么吗?Phonegap中的sqlitedbs真的有5mb的限制吗?我正在使用Phonegap1.2和iOS5.解决方法您可以使用带有phonegap插件的原生sqliteDB,您将没有任何限制.在iOS5.1中,Websql被认为是可以随时删除的临时数据…

  3. xcode6.1 – Xcode 6.1中项目模板中缺少类前缀

    项目模板上曾经有一个类前缀字段,这有助于区分项目类和框架类.Xcode6.1项目模板中不再提供此功能.这背后的意图是什么?

  4. ios – 伞框架

    错误.应用程序,通常位于…错误仍然存在你也可以在这里添加(子)框架的路径.

  5. ios – UIView框架大小的问题

    我正在开发一个iPad项目,目前正在使用Landscape视图.我试着这样做:为什么这总是返回960?虽然在景观中,视图本身的高度尺寸应为768对吗?

  6. 安装自定义cocoa框架的最佳方法

    我有一个自定义框架,遵循Apple的框架编程指南>>中的建议.Installingyourframework我在/Library/Frameworks中安装.我通过使用以下脚本添加RunScript构建阶段来完成此操作:在我的项目中,我然后链接/Library/Frameworks/MyFramework并将其导入我的类中,如下所示:这非常有效,除了我总是在调试器控制台中看到以下消息:Loadin

  7. ios – 在设备上构建和运行时,仅将嵌入式框架与其他动态框架链接失败

    TL;博士将您的嵌入式框架与其他框架链接,并且不将其他框架与您的应用程序链接,导致Build&在设备上运行.描述:建立:我的设置非常简单(Swift2.3&XcodeXcode8.0;Build版本8S162m):>使用Carthage(0.17.2)我用xcodebuild8.0和TOOLCHAINS=com.apple.dt.toolchain.Swift_2_3carthagebui

  8. iOS 8嵌入式框架中的头文件

    我正在尝试创建一个用于iOS8的嵌入式框架.在创建一个名为SampleKit(BTW;这里有任何约定,我应该使用前缀吗?)之后,它包含一个令我困惑的头文件:我知道FOUNDATION_EXPORT是extern或extern“C”的宏,但我不确定这两个常量.我应该在哪里为他们设定价值?解决方法项目>构建设置>版本控制>当前项目版本:

  9. 在Monotouch上模拟.NET的框架?

    有没有人使用过他们发现与Monotouch兼容的.NET模拟框架?在尝试使用之前,我很好奇与NMock,NSubstitute,Moq和其他框架的兼容性.Xamarin刚刚加强了它的单元测试支持,但没有提到模拟框架.仅供参考,我希望在VS2010上为非UI位做很多开发,并在UI进入时移动到iOS平台.谢谢您的帮助.解决方法我建议只使用手动模拟:如果我不得不猜测RhinoMocks,Moq等大量使用Reflection.Emit(你怎么能做他们能做的疯狂?),这将无法在MonoTouch上使用AOT编译器运

  10. 在ios上使用来自框架的boost :: filesysystem路径

    我一直在使用Boost作为PeteGoodliffe脚本构建的框架已有一段时间了.效果很好.最近我遇到了一个问题,可以通过将以下代码放入另一个全新的XCode项目中的视图控制器的viewDidLoad中来重现:当路径对象被销毁时会导致EXC_BAD_ACCESS.有没有其他人遇到这个问题?

随机推荐

  1. PHP个人网站架设连环讲(一)

    先下一个OmnihttpdProffesinalV2.06,装上就有PHP4beta3可以用了。PHP4给我们带来一个简单的方法,就是使用SESSION(会话)级变量。但是如果不是PHP4又该怎么办?我们可以假设某人在15分钟以内对你的网页的请求都不属于一个新的人次,这样你可以做个计数的过程存在INC里,在每一个页面引用,访客第一次进入时将访问时间送到cookie里。以后每个页面被访问时都检查cookie上次访问时间值。

  2. PHP函数学习之PHP函数点评

    PHP函数使用说明,应用举例,精简点评,希望对您学习php有所帮助

  3. ecshop2.7.3 在php5.4下的各种错误问题处理

    将方法内的函数,分拆为2个部分。这个和gd库没有一点关系,是ecshop程序的问题。会出现这种问题,不外乎就是当前会员的session或者程序对cookie的处理存在漏洞。进过本地测试,includes\modules\integrates\ecshop.php这个整合自身会员的类中没有重写integrate.php中的check_cookie()方法导致,验证cookie时返回的username为空,丢失了登录状态,在ecshop.php中重写了此方法就可以了。把他加到ecshop.php的最后面去就可

  4. NT IIS下用ODBC连接数据库

    $connection=intodbc_connect建立数据库连接,$query_string="查询记录的条件"如:$query_string="select*fromtable"用$cur=intodbc_exec检索数据库,将记录集放入$cur变量中。再用while{$var1=odbc_result;$var2=odbc_result;...}读取odbc_exec()返回的数据集$cur。最后是odbc_close关闭数据库的连接。odbc_result()函数是取当前记录的指定字段值。

  5. PHP使用JpGraph绘制折线图操作示例【附源码下载】

    这篇文章主要介绍了PHP使用JpGraph绘制折线图操作,结合实例形式分析了php使用JpGraph的相关操作技巧与注意事项,并附带源码供读者下载参考,需要的朋友可以参考下

  6. zen_cart实现支付前生成订单的方法

    这篇文章主要介绍了zen_cart实现支付前生成订单的方法,结合实例形式详细分析了zen_cart支付前生成订单的具体步骤与相关实现技巧,需要的朋友可以参考下

  7. Thinkphp5框架实现获取数据库数据到视图的方法

    这篇文章主要介绍了Thinkphp5框架实现获取数据库数据到视图的方法,涉及thinkPHP5数据库配置、读取、模型操作及视图调用相关操作技巧,需要的朋友可以参考下

  8. PHP+jquery+CSS制作头像登录窗(仿QQ登陆)

    本篇文章介绍了PHP结合jQ和CSS制作头像登录窗(仿QQ登陆),实现了类似QQ的登陆界面,很有参考价值,有需要的朋友可以了解一下。

  9. 基于win2003虚拟机中apache服务器的访问

    下面小编就为大家带来一篇基于win2003虚拟机中apache服务器的访问。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧

  10. Yii2中组件的注册与创建方法

    这篇文章主要介绍了Yii2之组件的注册与创建的实现方法,非常不错,具有参考借鉴价值,需要的朋友可以参考下

返回
顶部