Laravel 5-多语言网站(LTR和RTL)

FS *_*per 3 php multilingual laravel laravel-5

嗨,所有开发人员...

我是Laravel的新手。我想构建一个复杂的Web应用程序,并且至少要支持两种语言很重要。不幸的是,这些语言之一是LTR,另一种是RTL
我的问题是:

  1. 网站的某些部分具有静态内容,例如标题,导航项,侧边栏内容或...。据我了解,我必须在lang目录中创建文件,并根据选定的语言加载适当的数据。这样对吗?这样,是否有可能从lang目录文件中加载这些静态数据而导致应用程序运行缓慢和性能下降?(与静态视图比较,刀片文件具有内容,并且不需要从lang目录中加载少量数据)。
  2. 考虑到第一个问题,对一种语言有一套看法而对第二种语言有另一种看法更好吗?(每组视图都有其静态数据,不需要使用lang文件来填充标题,侧边栏和...的全部部分)
  3. 如我所说,我必须具有LTR和RTL布局才能拥有最佳的UI。所以我必须根据所选语言使用单独的样式表和负载,对吗?

我对多语言数据库设计有一些疑问,但是稍后我将进行新的讨论。感谢您的关注,希望您能指导我并发表您的意见...

Dav*_*ker 5

网站的某些部分具有静态内容,例如标题,导航项,侧边栏内容或...。据我了解,我必须在lang目录中创建文件,并根据所选的语言加载正确的数据。这样对吗?这样,是否有可能从lang目录文件中加载这些静态数据而导致应用程序运行缓慢和性能下降?(与静态视图,具有内容且无需从lang目录加载少量数据的刀片文件进行比较)

  • 是的,请务必确保从您的视图中提取语言。这是一个很好的实践,您肯定会想为自己节省每种语言的多个相同视图(噩梦!)。
  • 在编写任何程序时,都会有性能开销。当您使用诸如此类的功能时,您的生活将变得更加轻松。性能影响很小。不要以此为理由不这样做。

考虑到第一个问题,对一种语言有一套看法而对第二种语言有另一种看法更好吗?(每组视图都有其静态数据,不需要使用lang文件来填充标题,侧边栏和...的全部部分)

  • 不,对于大多数开发人员来说,这是一场噩梦。由于一开始这些关注点的分离消除了对此发生的任何需要,因此由于语言而保持多个脆弱的视图会占用大量时间。

如我所说,我必须具有LTR和RTL布局才能拥有最佳的UI。所以我必须根据所选语言使用单独的样式表和负载,对吗?

  • LTR和RTL是仅使用一些简单CSS即可完全解决的问题,无需使用单独的样式表。相反,在主体上使用单个类可以应用正确的样式。<body class="{{ $rtl ? 'rtl' : 'ltr'}}">。现在,您可以使用CSS的direction属性来定义文本读取的方向。

在使用Laravel时,请尽可能地利用该框架。无需您以此来重新发明轮子。