{"id":18967124,"url":"https://github.com/alexandreelise/plg_system_compoundlanguagefilter","last_synced_at":"2025-08-03T22:35:52.391Z","repository":{"id":101343740,"uuid":"343709351","full_name":"alexandreelise/plg_system_compoundlanguagefilter","owner":"alexandreelise","description":"This plugin is based on the core languagefilter plugin and adds the feature of using multiple sef language tag  in the url associated with the same language internally.","archived":false,"fork":false,"pushed_at":"2021-06-05T11:24:22.000Z","size":14750,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-01-01T06:21:25.082Z","etag":null,"topics":["challenges-solved","joomla-plugin","multilingual-websites"],"latest_commit_sha":null,"homepage":"https://apiadept.com","language":"PHP","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/alexandreelise.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-03-02T09:04:34.000Z","updated_at":"2023-04-02T17:32:08.000Z","dependencies_parsed_at":null,"dependency_job_id":"2e7fcde7-cb64-4f30-a720-ef0743105a0a","html_url":"https://github.com/alexandreelise/plg_system_compoundlanguagefilter","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alexandreelise%2Fplg_system_compoundlanguagefilter","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alexandreelise%2Fplg_system_compoundlanguagefilter/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alexandreelise%2Fplg_system_compoundlanguagefilter/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alexandreelise%2Fplg_system_compoundlanguagefilter/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/alexandreelise","download_url":"https://codeload.github.com/alexandreelise/plg_system_compoundlanguagefilter/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":239964547,"owners_count":19725952,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["challenges-solved","joomla-plugin","multilingual-websites"],"created_at":"2024-11-08T14:39:38.695Z","updated_at":"2025-02-21T06:10:30.018Z","avatar_url":"https://github.com/alexandreelise.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"# System - Compound Language Filter\n## Joomla! System Plugin\n\nThis plugin is based on the core languagefilter plugin and adds the feature of using multiple sef language tag \nin the url associated with the same language internally.\n\n--------------------------------------------------------------------------------------\n\n\nHOW IT WORKS:\nThis plugin is an enhancement of the language filter plugin. It enables the possibility to have\none to many relationships from one source language to any other \"virtual languages\". I call them virtual languages\nbecause they are actually not installed in Joomla!. What I did to achieve this is to leverage the power of the Joomla!\nsubforms and use part of the com_languages form from the admin area and add to it what I called the \"source_language\".\nThe source_language is a standard form field from Joomla! which list the installed languages of the \"Frontend\" \npart of Joomla!. \n\nThe website I built to reproduce the use case is a multilingual website with 4 languages French, English,\nSpanish and German.\n\nIn order to use the name of the country rather than the language name we can simply change the title of the \nlanguage and/or the native title accordingly. Moreover, I added the possibilty to choose the \"virtual languages\" and the\ninstalled languages from the mod_languages module which Helper class has been dynamically replaced by another one by my\nsystem plugin so as to have this custom functionnality.\n\nBy merging the subform results and the installed languages result using Joomla! Registry . It allows a powerful tool to\naddress this use case.\n\nWith all this you are now able to do as you describe.\n\nNOTE: This implementation also changes the website to be multilingual for either \"virtual languages\" and\ninstalled languages.\n\nJust one side note:\nThe url of type /ar changes the active menu item to Spain and the content is in Spanish \nbut the menu item doesn't stay on Argentina \n(I think you can get around that but I didn't have much time to answer your question)\n\n\n\n--------------------------------------------------------------------------------------\n\n\nINSTRUCTIONS:\n\nThis Joomla! plugin source code is in the src/ directory of this zip file\nThe final extension is in the build/ directory \nIf you want to build the extension yourself, make sure you have make utility on your machine.\nIt is generally provided by default on linux and macOS machines maybe not on Windows.\nOnce you have make installed.\nYou can type in your terminal: (you must be in the directory on the Makefile)\n\n```\n\nmake gen\n\n```\n\nThe Makefile rule will check if the php files has no syntax errors and create a zip file tagged by the current datetime\nin the build/ directory.\n\nIf you don't want to bother doing this. Just install the already built extension from the build/ directory\n\nThe Akeeba backup of the reproductible dev environment is in the backup/ directory.\n\n--------------------------------------------\n## INFOS\n\n\u003e English: [Click here to get in touch](https://github.com/mralexandrelise/mralexandrelise/blob/master/community.md \"Get in touch\")\n\n\u003e Français: [Cliquez ici pour me contacter](https://github.com/mralexandrelise/mralexandrelise/blob/master/community.md \"Me contacter\")\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falexandreelise%2Fplg_system_compoundlanguagefilter","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Falexandreelise%2Fplg_system_compoundlanguagefilter","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falexandreelise%2Fplg_system_compoundlanguagefilter/lists"}