当前位置: 首页 > 知识库问答 >
问题:

CakePHP多语言=多数据库?

裴俊雅
2023-03-14

我们正忙于一个需要支持多种语言的CakePHP项目。但有一个问题....有些页面不支持其他语言。因此,有西班牙网页,需要隐藏的意大利版本的网站。在CakePHP中对此有什么更好的解决方案?

只要您切换语言,我们就可以切换数据库,但问题是,作为用户,我们将错过重要的数据,如果我们这样做的话。如果只搜索西班牙文、意大利文、德文、英文、荷兰文和瑞典文的文章,可能会使数据库负荷过重。或者如果我们索引语言栏也没有问题...但我不知道。

那么有没有人知道更好的解决方案呢?

共有1个答案

湛光华
2023-03-14

绝对不是多个数据库IMO。相反,试着把你的记录和它的内容分开。

示例:

articles表包含非语言特定的数据,如文章id、创建日期、修改日期...等

article_contents包含特定于语言的数据,如标题、字幕、内容、作者等,以及article_id字段和语言字段。

然后,如果您在意大利语站点上,您可以使用一个内部连接来拉到与您想要的语言相匹配的内容。

或者有许多方法取决于您应该如何提取数据的设置,但希望将泛型数据与特定于语言的数据分开的想法能有所帮助。

 类似资料:
  • 有谁对蛋糕1.3的多语言设置有很好的了解吗? 今天,我用的是一个/locale/nor/LC_MESSAGES/default。po 标题: 以及其中的常规语言字符串。 在引导中。php= 像这样简单的字符串; 翻译为ok,但是,如果我使用复数(表示时间助手) 这些都没有翻译!?! 我不知道还能做什么,因为我已经手动创建了。编辑器中的po文件(不使用控制台或其他方式提取) 我还需要包括一些其他内容

  • 问题内容: 我正在开发一种多语言软件。就应用程序代码而言,可本地化性不是问题。我们可以使用特定于语言的资源,并拥有与之配合使用的各种工具。 但是,定义多语言数据库架构的最佳方法是什么?假设我们有很多表(100个或更多),每个表可以有多个可以本地化的列(大多数nvarchar列应该可以本地化)。例如,其中一个表可能包含产品信息: 我可以想到三种支持NAME和DESCRIPTION列中的多语言文本的方

  • 问题内容: 我知道一个问题已经得到广泛讨论,但是我认为仍有一个方面需要澄清。 我正在创建一个具有多语言数据库的Web应用程序,我已经找到了一些很好的实践文章(例如 this), 因此,我决定使用一个包含项目ID的主表,以及一个包含每个项目的翻译的表,例如 要么 等等。 现在我在做什么?我只是从数据库中获取所有翻译的项目,然后遍历每个翻译,以根据当前用户的本地来查找正确的翻译,如果找到正确的本地,则

  • 定义 为组件内建文案提供统一的国际化支持。 说明 LocaleProvider 使用 React 的 context 特性,只需在应用外围包裹一次即可全局生效。 两种方式更改信息展示: 1、配置LocaleProvider组件的locale属性值,如:enUS、zhCN。 2、直接更改组件内属性值,如Search组件的placeholder属性值。 import enUS from '../..

  • GitBook支持多种语言编写的书籍或者文档。 首先需要在根目录创建一个名为LANGS.md的文件,然后按照语言创建子目录: # Languages * [中文](zh/) * [English](en/) * [French](fr/) * [Español](es/) 每种语言的配置 每个语言(例如:en)目录中都可以有一个book.json来定义自己的配置,它将作为主配置的扩展。 唯一的

  • 在FastAdmin中可以在任何位置(控制器、视图、JS)使用__('语言标识');调用语言包,如果语言标识不存在,则直接输出该语言标识 使用方法 FastAdmin中的__函数和ThinkPHP中的lang函数在传参上有些许区别 比如 __('My name is %s', "FastAdmin"); 将会返回 My name is FastAdmin 而如果采用ThinkPHP中的lang中的