Skip to content
This repository has been archived by the owner on Dec 1, 2023. It is now read-only.

Feature Request: Multilingual #173

Open
PatrickPoney opened this issue Aug 4, 2014 · 93 comments
Open

Feature Request: Multilingual #173

PatrickPoney opened this issue Aug 4, 2014 · 93 comments
Labels
Milestone

Comments

@PatrickPoney
Copy link

Making pagekit natively multilingual would be great.

Eventually, setting up a dedicated language manager extension would be interesting so it would give us the possibility to manage translatable content.

Also if do not need it, we could remove the extension and fallback to a monolingual site.

@cbeier
Copy link

cbeier commented Aug 5, 2014

Yes, multilingual ist a important feature in these days, also for smaller sites.

@tups
Copy link

tups commented Aug 5, 2014

Meanwhile, it is possible to create a language file for themes ?
I tried " ./pagekit theme:translate mytheme " but :
[InvalidArgumentException]
Command "theme:translate" is not defined.

@tastymousehub
Copy link

I agree making pagekit natively multilingual is essential. It would be an extra reason to replace Wordpress by Pagekit.

@saschadube saschadube added this to the Future milestone Aug 7, 2014
@MacWordPress
Copy link

+1

@chrispecoraro
Copy link

I'll take a look at the code and see if it is easily implemented. I'd like this feature, too.

@huglester
Copy link
Contributor

Would be really neat thing to be integrated. Without this, CMS'es are more like "US ONLY" thing for me.

So I +1 for this :)

@markushausammann
Copy link

A CMS without multilanguage support is not a CMS.

@chrispecoraro
Copy link

I'm taking a look at what would be required to make this happen. Is anybody else working on this? I'm not familiar with Symfony, but I use Laravel so it's shouldn't be too bad. Should we open up a new branch for this?

@chrispecoraro
Copy link

To make this happen, several things need to happen:

Visitor side:

  • The locale (buttons, controls, etc) should switch for the visitor based on the language settings.
  • The content should be loaded into the correct language, based on the browser settings.

CMS side:

  • Creating versions of the post/articles/pages in another language should be possible.
  • There should be a fallback language.

@markushausammann
Copy link

User friendly language negotiation:

  • check client language and serve content automatically in that language if available
  • if client language can't be detected or is not available, serve fallback language (configurable)
  • let user always select another language (overrides automatic detection) and permanently store it in DB for registered users, in cookie for guests, nothing is more annoying than a site that forgets what language I chose.

@chrispecoraro
Copy link

Markus,

I agree, the only correction is that the client language/locale list is an array:

  • check client language(s) and serve content automatically in that language if available

Now, let me figure out what type of effort it would be. Do you have any tips? I'm new with Symfony, but not with PHP so I'll just start hacking into my fork.

@markushausammann
Copy link

Storing of translations:

  • choose adapter wisely, you might need/want to provide online translation tools for crowd sourced CMS translations, handle plurals, etc.
  • break project down in to translation domains that are handled independently from each other (even if that means duplicate translations) e. g. cms-public-end, cms-admin-end
  • provide translations interface for plugin developers so they can hook into the infrastructure

@markushausammann
Copy link

Chris, I'm using Symfony very rarely but I'm sure the translation infrastructure isn't very different from other frameworks. Personally I prefer using the gettext adapter.

Introducing i18n / translatability into a whole CMS is not a small task. Subtasks IMO are:

  • language negotiation (pretty easy, probably just something like a controller plugin)
  • language switcher (GUI, pretty easy, one typical mistake is to translate the selectable languages with the rest of the page which is BS, any language in a language switcher should always stay in that language, English, Deutsch, Italiano, etc. otherwise I might need to look for my language in a language I don't understand at all.)
  • translation adapter (hard choise and lots of work because you basically have to touch every single language string in the whole software, this will give you a good idea about the quality of your DI infrastructure and code readability, it will also force you to use sprintf in case you find stuff like $text . ' - and - ' . $anotherText in your code.
  • translatability of text stored in DB these are CMS content texts and I guess also a lot of other texts used in the GUI. Here it's important to create an infrastructure that centralizes all translations into one table so lookups can be optimized.

That's all I can think of at the moment. Just a brainstorm because I like the idea of pagekit and I have some experience with translating large infrastructures.

@chrispecoraro
Copy link

Markus,

I agree that it is not a small task. I want to tackle one subtask, if possible. I just need to find out where to start.

The translation adapter is already in the code from what I can see, although I've created a issue regarding date formatting fallback.

@kamov
Copy link

kamov commented Sep 2, 2014

I can't understand this feature request...

On pagekit already exist localization and content are translatable using what mark said "gettext", using .po files which exist many po editor like poedit or online https://localise.biz/free/poedit

the function name is _() and there is @trans() function for view files.

Which part of pagekit should be translatable?

Content of pages and blogs?

Not sure if this is required by cms core, also WordPress does not support a bilingual or multilingual blog out-of-the-box. There are however Plugins developed by the WordPress community which will allow you to create a multilingual blog easily.

This can be the same for pagekit.

Maybe there is something other that is not translatable which I missing?

@tastymousehub
Copy link

Yes, I want translated content and I think it is a mayor shortcoming of Wordpress that it is not native multi-lingual. I don't use it any longer for multi-language sites. The plugins are either not user-friendly or they make the pages load slow.
If Pagekit gets multi-lingual and gets post ordering in the blog I intend to stop using Wordpress.

@chrispecoraro
Copy link

It should also do browser locale detection and serve up the proper language of the content. To do this, we would need to add a locale code field for the posts.

@huglester
Copy link
Contributor

In our experience, yes it is good to detect users language, but for example in my country 60% users use browser in english, but language is lithuanian. so we separate language by slug.

ALso in-core multi-language would be good because of search modules or something like this. We currently are using PyroCMS with custom multi-lang support.

For us multi-language is not only the translated cms buttons or something.
We need to wrtie news for example in differnet languages, pages are in different languge, then search involves searches only in specific language etc...

Thanks Jaroslav

@kamov
Copy link

kamov commented Sep 4, 2014

@tastymousehub I understand now.

I found this topic on roadmap here: http://www.pagekit.com/roadmap

They seem integrate this feature but only in Future, after releasing 1.0.0 in first quartar of 2015.

For now maybe someone will prepare an extension for this.

I agree with mark who suggest how to handle this:

  1. check client language and serve content automatically in that language if available
  2. if client language can't be detected or is not available, serve fallback language (configurable)
  3. let user always select another language (overrides automatic detection) and permanently store it in DB for registered users, in cookie for guests

@88kbbq
Copy link

88kbbq commented Jan 28, 2015

Guys, you really need to prioritize multi-language functionality. Like nearly all other platforms, you've left it as an afterthought, and it's gonna get messy. While I'm here, I also want to share that your URL structure needs to steer clear of filler words like "page," "post," "category," etc. These are really a nuisance for SEOs and site owners who want to migrate to a new platform but retain the organic ranking they've worked so hard and spent so much money to achieve. I wouldn't even look at yet another CMS that doesn't support custom URLs and multi-language functionality.

@fabianmarz
Copy link

👍

2 similar comments
@lenovouser
Copy link

👍

@rbarilani
Copy link

👍

@vizo
Copy link

vizo commented Aug 23, 2015

@88kbbq you are right! :+1

@saschadube
Copy link
Member

We released the Pagekit Beta today. I close this issue because the code base completely changed. Please open a new issue if it still exists.

@88kbbq
Copy link

88kbbq commented Sep 10, 2015

Great news Sascha, I'll check it out.

Cheers!

Kevin

On Thu, Sep 10, 2015 at 11:47 PM, Sascha notifications@github.com wrote:

We released the Pagekit Beta
http://www.pagekit.com/blog/2015/09/10/pagekit-beta-released today. I
close this issue because the code base completely changed. Please open a
new issue if it still exists.


Reply to this email directly or view it on GitHub
#173 (comment).

@markushausammann
Copy link

But does the new pagekit support multilingual sites?

@alexmbp
Copy link

alexmbp commented Feb 7, 2017

+1

8 similar comments
@dominikof
Copy link

+1

@maleksandrov
Copy link

+1

@denerFernandes
Copy link

+1

@FilipBartos
Copy link

+1

@petrk94
Copy link

petrk94 commented May 25, 2017

+1

@absoluto
Copy link

+1

@erikperin
Copy link

+1

@angay9
Copy link

angay9 commented Aug 1, 2017

+1

@denerFernandes
Copy link

I help create multi-language version

@RALMAZ
Copy link

RALMAZ commented Sep 13, 2017

What now? Do u do this?

@ahoiroman
Copy link
Contributor

It's on the roadmap: https://pagekit.com/roadmap . So the developers are aware of the fact that the community would love to see this feature.

@nickdring
Copy link

+1

2 similar comments
@devmount
Copy link

+1

@ThomasSonck
Copy link

+1

@Stigmatix
Copy link

+999999999

@websmurf
Copy link

websmurf commented Mar 6, 2018

+1

@vytsci
Copy link

vytsci commented Mar 11, 2018

CMS is incomplete without multilanguage. This feature is required nowdays.

@neosin
Copy link

neosin commented Mar 28, 2018

since at least 2014 people request this as probably #1 user request
I will also pass on this cms since it is missing multi language support

@RALMAZ
Copy link

RALMAZ commented Mar 31, 2018

Maybe need contribute?

@Biggisb
Copy link

Biggisb commented Jul 5, 2018

For us, its feels like Pagekit is Dead :( There is a huge potential but nothing is moving....
multilanguage is a Key Factor for most CMS user nowdays...

@MateThemes
Copy link

Are there any news to Pagekit? It seems it is really dead!

@vytsci
Copy link

vytsci commented Feb 28, 2019

Get over with it, go learn WordPress, nothing is important for clients except WP. They are asking to build CRM on Wordpress, B2B solutions and so on. PHP world was infected with WP parasite. You either go with WP or learn another programming language or maybe wait until this stupidity ends.

@MateThemes
Copy link

Well, I better go for OctoberCMS. Wordpress is a mess and will stay a mess!

@csaeum
Copy link

csaeum commented Apr 21, 2019

+1

@vdanelia
Copy link

vdanelia commented Aug 8, 2019

+1 👍

@Sogl
Copy link

Sogl commented Aug 9, 2019

This thread from 4 Aug 2014 is the main reason why I didn't install Pagekit even on localhost server. If something change here, I try 😄

@Eichi
Copy link

Eichi commented Aug 9, 2019

In the meantime we started to built an own CMS which bases on pros from many other CMS (fast, lightweight, with additional basics like multilanguage) and we are near to publish it publicly.
I must say it here, because we took many looks in pagekit, wrote code for it (helped also others to develop plugins) and we started to use it for many pages, at the beginning we were fascinated in the clear and easy-to-use backend-design (for us and the customers). We built language-bridges between multiple pagkit-installations, but it didn't seem to work well and it was a little mess. So I decided to write an entire CMS (which was faster and easier than to implement ml in pagekit, maybe we are dumb, I don't know...).
It felt like pagekit is an massive amount of libs, frameworks and glue, what causes conflicts in longtime plans, I guess this is my feedback on this topic, we had big hope in pagekit, but in this case it seemed for us to work better to reinvent the wheel, which we will publish in few weeks.

@tastymousehub
Copy link

Hi Eichi, sounds interesting. How can we stay informed about this new CMS?

@nbpalomino
Copy link

It is really hard to build a MULTILANG feature for 100 DEVELOPERS ???

This is OPEN SOURCE software boys!!! IF YOU NEED SOMETHING, YOU CAN BUILD IT!!

Happy coding...

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Projects
None yet
Development

No branches or pull requests