Language\ namespace update

Update the Core Language classes to have all method parameter type
declaration.
GetTextReader has gettext as alias to translate.
GetTextReader public methods to get cache enable status and short
circuit (no translation loaded) status

Main language:
Add new methods for plural and plural in context (__n, __p, __pn)
Deprecate gettext, ngettext, _e

Add new translation loader in gettext standard
<locale>/LC_MESSAGES/<domain> style
Including locales checker, auto detect on enviroment variables, return
self as class (for functions type) return translator class after
loading, etc

New LoadFunctions to run all like functions. Names like php but with two
underscores prefixed. eg gettext -> __gettext
This commit is contained in:
Clemens Schwaighofer
2022-04-13 16:26:15 +09:00
parent 556cabca38
commit 82bc99b181
24 changed files with 2122 additions and 142 deletions

View File

@@ -3,21 +3,22 @@
# CREATED: 2005/08/09
# SHORT DESCRIPTION:
# Backned English Messages file for gettext
# to craete: msgfmt -o ja.mo messages_en.po
# HISTORY:
# to craete: msgfmt -o <output.po> <input.mo>
# ********************************************************************/
msgid ""
msgstr ""
"Project-Id-Version: Project Version\n"
"Project-Id-Version: en_US.UTF-8 LC_MESSAGES admin\n"
"Report-Msgid-Bugs-To: clemens.schwaighofer@egplusww.com\n"
"POT-Creation-Date: 2018-03-28 10:40+0900\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: \n"
"Last-Translator: clemens.schwaighofer@egplusww.co\n"
"Language-Team: E-GRAPHICS COMMUNICATIONS Japan <info.jp@egplusww.com>\n"
"Language: en_US\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
msgid "Year"
msgstr "Year"
@@ -28,6 +29,24 @@ msgstr "Month"
msgid "INPUT TEST"
msgstr "OUTPUT TEST ADMIN EN"
# testing multi
msgid "single"
msgid_plural "multi"
msgstr[0] "Multi Admin en_US 0"
msgstr[1] "Multi Admin en_US 1"
msgstr[2] "Multi Admin en_US 2"
msgctxt "month name"
msgid "May"
msgstr "May Admin en_US"
msgctxt "month name"
msgid "single"
msgid_plural "multi"
msgstr[0] "Multi Admin month en_US 0"
msgstr[1] "Multi Admin month en_US 1"
msgstr[2] "Multi Admin month en_US 2"
msgid "I should be translated"
msgstr "I should be translated: I WAS TRANSLATED"

View File

@@ -1,2 +1,24 @@
# to craete: msgfmt -o <output.po> <input.mo>
msgid ""
msgstr ""
"Project-Id-Version: en_US.UTF-8 LC_MESSAGES frontend\n"
"Report-Msgid-Bugs-To: clemens.schwaighofer@egplusww.com\n"
"POT-Creation-Date: 2018-03-28 10:40+0900\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: clemens.schwaighofer@egplusww.co\n"
"Language-Team: E-GRAPHICS COMMUNICATIONS Japan <info.jp@egplusww.com>\n"
"Language: en_US\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
msgid "INPUT TEST"
msgstr "OUTPUT TEST FRONTEND EN"
msgid "single"
msgid_plural "multi"
msgstr[0] "Multi frontend en_US 0"
msgstr[1] "Multi frontend en_US 1"
msgstr[2] "Multi frontend en_US 2"

View File

@@ -3,21 +3,22 @@
# CREATED: 2018/03/28
# SHORT DESCRIPTION:
# Backend Japanese Messages file for gettext
# to craete: msgfmt -o ja.mo messages_ja.po
# HISTORY:
# to craete: msgfmt -o <output.po> <input.mo>
# ********************************************************************/
msgid ""
msgstr ""
"Project-Id-Version: Project Version\n"
"Project-Id-Version: ja_JP.UTF-8 LC_MESSAGES admin\n"
"Report-Msgid-Bugs-To: clemens.schwaighofer@egplusww.com\n"
"POT-Creation-Date: 2018-03-28 10:40+0900\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: \n"
"Last-Translator: clemens.schwaighofer@egplusww.com\n"
"Language-Team: E-GRAPHICS COMMUNICATIONS Japan <info.jp@egplusww.com>\n"
"Language: ja\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
msgid "Yes"
msgstr "はい"
@@ -65,6 +66,13 @@ msgstr "日"
msgid "INPUT TEST"
msgstr "OUTPUT TEST ADMIN JA"
# testing multi
msgid "single"
msgid_plural "multi"
msgstr[0] "Multi Admin ja_JP 0"
msgstr[1] "Multi Admin ja_JP 1"
msgstr[2] "Multi Admin ja_JP 2"
# login string
msgid "Hello %s"
msgstr "こにちは %s"

View File

@@ -1,2 +1,8 @@
# to craete: msgfmt -o <output.po> <input.mo>
msgid ""
msgstr ""
"Plural-Forms: nplurals=2; plural=(n != 1)\n"
msgid "INPUT TEST"
msgstr "OUTPUT TEST FRONTEND JA"

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,13 @@
#!/usr/bin/env bash
# if we don't have one base file we are in the wrong folder
if [ ! -f "locale/en_US/LC_MESSAGES/admin.mo" ]; then
echo "Locale file is missing, wrong base folder?"
echo "Should be: 4dev/tests/includes/"
exit;
fi;
msgfmt -o locale/en_US/LC_MESSAGES/admin.mo locale/en_US.admin.UTF-8.po
msgfmt -o locale/en_US/LC_MESSAGES/frontend.mo locale/en_US.frontend.UTF-8.po
msgfmt -o locale/ja_JP/LC_MESSAGES/admin.mo locale/ja_JP.admin.UTF-8.po
msgfmt -o locale/ja_JP/LC_MESSAGES/frontend.mo locale/ja_JP.frontend.UTF-8.po

View File

@@ -1,2 +1,34 @@
msgid ""
msgstr ""
"Project-Id-Version: en_US.UTF-8 LC_MESSAGES admin\n"
"Report-Msgid-Bugs-To: clemens.schwaighofer@egplusww.com\n"
"POT-Creation-Date: 2018-03-28 10:40+0900\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: clemens.schwaighofer@egplusww.co\n"
"Language-Team: E-GRAPHICS COMMUNICATIONS Japan <info.jp@egplusww.com>\n"
"Language: en_US\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
msgid "Original"
msgstr "Translated admin en_US"
msgid "single"
msgid_plural "multi"
msgstr[0] "Multi admin en_US 0"
msgstr[1] "Multi admin en_US 1"
msgstr[2] "Multi admin en_US 2"
msgctxt "context"
msgid "Original"
msgstr "Original context admin en_US"
msgctxt "context"
msgid "single"
msgid_plural "multi"
msgstr[0] "Multi context admin en_US 0"
msgstr[1] "Multi context admin en_US 1"
msgstr[2] "Multi context admin en_US 2"

View File

@@ -1,2 +1,34 @@
msgid ""
msgstr ""
"Project-Id-Version: en_US.UTF-8 LC_MESSAGES frontend\n"
"Report-Msgid-Bugs-To: clemens.schwaighofer@egplusww.com\n"
"POT-Creation-Date: 2018-03-28 10:40+0900\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: clemens.schwaighofer@egplusww.co\n"
"Language-Team: E-GRAPHICS COMMUNICATIONS Japan <info.jp@egplusww.com>\n"
"Language: en_US\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
msgid "Original"
msgstr "Translated frontend en_US"
msgid "single"
msgid_plural "multi"
msgstr[0] "Multi frontend en_US 0"
msgstr[1] "Multi frontend en_US 1"
msgstr[2] "Multi frontend en_US 2"
msgctxt "context"
msgid "Original"
msgstr "Original context frontend en_US"
msgctxt "context"
msgid "single"
msgid_plural "multi"
msgstr[0] "Multi context frontend en_US 0"
msgstr[1] "Multi context frontend en_US 1"
msgstr[2] "Multi context frontend en_US 2"

View File

@@ -1,2 +1,35 @@
msgid ""
msgstr ""
"Project-Id-Version: ja_JP.UTF-8 LC_MESSAGES admin\n"
"Report-Msgid-Bugs-To: clemens.schwaighofer@egplusww.com\n"
"POT-Creation-Date: 2018-03-28 10:40+0900\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: clemens.schwaighofer@egplusww.co\n"
"Language-Team: E-GRAPHICS COMMUNICATIONS Japan <info.jp@egplusww.com>\n"
"Language: ja\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : 2;\n"
# 0, 1, 2 plural
msgid "Original"
msgstr "Translated admin ja_JP"
msgid "single"
msgid_plural "multi"
msgstr[0] "Multi admin ja_JP 0"
msgstr[1] "Multi admin ja_JP 1"
msgstr[2] "Multi admin ja_JP 2"
msgctxt "context"
msgid "Original"
msgstr "Original context admin ja_JP"
msgctxt "context"
msgid "single"
msgid_plural "multi"
msgstr[0] "Multi context admin ja_JP 0"
msgstr[1] "Multi context admin ja_JP 1"
msgstr[2] "Multi context admin ja_JP 2"

View File

@@ -1,2 +1,35 @@
msgid ""
msgstr ""
"Project-Id-Version: ja_JP.UTF-8 LC_MESSAGES frontend\n"
"Report-Msgid-Bugs-To: clemens.schwaighofer@egplusww.com\n"
"POT-Creation-Date: 2018-03-28 10:40+0900\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: clemens.schwaighofer@egplusww.co\n"
"Language-Team: E-GRAPHICS COMMUNICATIONS Japan <info.jp@egplusww.com>\n"
"Language: ja\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : 2;\n"
# 0, 1, 2 plural
msgid "Original"
msgstr "Translated frontend ja_JP"
msgid "single"
msgid_plural "multi"
msgstr[0] "Multi frontend ja_JP 0"
msgstr[1] "Multi frontend ja_JP 1"
msgstr[2] "Multi frontend ja_JP 2"
msgctxt "context"
msgid "Original"
msgstr "Original context frontend ja_JP"
msgctxt "context"
msgid "single"
msgid_plural "multi"
msgstr[0] "Multi context frontend ja_JP 0"
msgstr[1] "Multi context frontend ja_JP 1"
msgstr[2] "Multi context frontend ja_JP 2"