From 0094d7cbbd44ad87f6263e5b80f7298d88ed683d Mon Sep 17 00:00:00 2001 From: Thijs Raymakers Date: Wed, 26 Feb 2025 23:35:24 +0100 Subject: [PATCH] Add multiple language support --- header.php | 8 ++++++++ index.php | 4 ++++ language/en.php | 11 +++++++++++ language/language.php | 40 ++++++++++++++++++++++++++++++++++++++++ language/nl.php | 11 +++++++++++ 5 files changed, 74 insertions(+) create mode 100644 header.php create mode 100644 index.php create mode 100644 language/en.php create mode 100644 language/language.php create mode 100644 language/nl.php diff --git a/header.php b/header.php new file mode 100644 index 0000000..0a0b2ee --- /dev/null +++ b/header.php @@ -0,0 +1,8 @@ +get("Test"); + + +?> diff --git a/index.php b/index.php new file mode 100644 index 0000000..8539733 --- /dev/null +++ b/index.php @@ -0,0 +1,4 @@ + + + + diff --git a/language/en.php b/language/en.php new file mode 100644 index 0000000..62a75bf --- /dev/null +++ b/language/en.php @@ -0,0 +1,11 @@ +keys = array("Test" => "Test EN"); + } +} + +?> diff --git a/language/language.php b/language/language.php new file mode 100644 index 0000000..a72d7c3 --- /dev/null +++ b/language/language.php @@ -0,0 +1,40 @@ +languageCode = $languageCode; + } + + public function get($key) { + return $this->keys[$key]; + } + + public static function getPreferredLanguage() { + $language = Locale::acceptFromHttp($_SERVER['HTTP_ACCEPT_LANGUAGE']); + + $languages = array( + "en", + "nl" + ); + + $preferredLanguage = Locale::lookup($languages, $language, true, "en"); + + switch ($preferredLanguage) { + case "nl": + require_once("nl.php"); + return new Dutch(); + case "en": + default: + require_once("en.php"); + return new English(); + break; + } + } + +} + +?> diff --git a/language/nl.php b/language/nl.php new file mode 100644 index 0000000..33c1c4b --- /dev/null +++ b/language/nl.php @@ -0,0 +1,11 @@ +keys = array("Test" => "Test NL"); + } +} + +?>