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

标签 php laravel laravel-5 multilingual

各位开发者大家好...

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

  1. 网站的某些部分具有静态内容,例如标题、导航项、侧边栏内容或...。据我了解,我必须在 lang 目录中创建文件并根据所选语言加载适当的数据。这样对吗?这样,是否可以从lang目录文件中加载这些静态数据导致应用变慢和性能变差?(与静态 View 相比, Blade 文件有内容并且不需要加载小块lang 目录中的数据)。
  2. 考虑第一个问题,一组 View 用于一种语言而另一组 View 用于第二种语言是否更好?(每组 View 都有其静态数据并且不需要使用lang 文件到标题、侧边栏和...的完整部分)
  3. 正如我所说,我必须有一个 LTR 和一个 RTL 布局才能拥有最好的 UI。所以我必须根据选择的语言有单独的样式表和加载,对吗?

我有一些关于多语言数据库设计的问题,但我稍后开始新的讨论。感谢您的关注,希望您多多指导,多多发表意见...

最佳答案

Some parts of website have static content, like headers, navigation items, sidebar content or... . As I understand, I must create files in lang directory and based on selected language, load proper data. Is it right? In this way, Is it possible to load these static data from lang directory files cause slower app and bad performance? (compare with static views, blade files that have content and don't need to load small piece of data from lang directory)

  • 是的,请务必确保从您的观点中抽象出您的语言。这是一个很好的做法,您肯定会想这样做,以节省每种语言的多个相同 View (噩梦!)。
  • 当您编写任何程序时,都会有性能开销。当您使用这样的功能时,您的生活就会轻松很多。性能影响很小。不要以此为理由不这样做。

Considering first question, is it better to have one set of views for one language and another set of views for second language? (each set of views have their static data and don't require use lang files to full parts of header, sidebar and...)

  • 不,这是大多数开发人员的噩梦。由于语言而维持多个脆弱的观点会耗费时间,因为在一开始就将这些关注点分开,这消除了发生这种情况的任何必要性。

As I said, I must have a LTR and a RTL layout in order to have best UI. So I must have separate stylesheets and loads based on choosen language, is it right?

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

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

关于php - Laravel 5 - 多语言网站(LTR 和 RTL),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42949209/

相关文章:

php - 我这里的代码太多,想简短一点

javascript - Wordpress 找不到文件

PHP UTC 到本地时间

laravel - 将现有记录附加到 Eloquent hasMany/belongsTo 关系

laravel:更新或创建(更新插入)数据透视表

php - 如果单词错误或拼写错误或希腊单词得到英语结果,我怎样才能得到结果

php - 更新列的 SQL 语句

php - 更新中间表最佳实践 PHP、MySQL

php - laravel 5 中间件中的条件始终为 false

拉拉维尔 : Search Query Within Relationship