r35922 MediaWiki - Code Review archive

Repository:MediaWiki
Revision:r35921‎ | r35922 | r35923 >
Date:12:57, 5 June 2008
Author:kim
Status:old
Tags:
Comment:
switch to betawiki friendly format <cross fingers>
Modified paths:
  • /trunk/extensions/Wikidata/util/voctrain/i18n/language.i18n.php (modified) (history)
  • /trunk/extensions/Wikidata/util/voctrain/i18n/language.php (modified) (history)

Diff [purge]

Index: trunk/extensions/Wikidata/util/voctrain/i18n/language.i18n.php
@@ -18,176 +18,176 @@
1919 /** English */
2020
2121 $messages["en"] =array(
22 - "voctrain- Hello World"=>"HELLO WIKI!",
23 - "voctrain- Permission Denied"=>"Permission Denied",
24 - "voctrain- try again?"=>"try again?",
25 - "voctrain- Action unknown"=>"Action unknown",
26 - "voctrain- I don't know what to do with '%action'." =>
 22+ "voctrain_Hello_World"=>"HELLO WIKI!",
 23+ "voctrain_Permission_Denied"=>"Permission Denied",
 24+ "voctrain_try_again_"=>"try again?",
 25+ "voctrain_Action_unknown"=>"Action unknown",
 26+ "voctrain_I_don_t_know_what_to_do_with___action__" =>
2727 "I don't know what to do with '%action'.",
28 - "voctrain- User added" => "User added",
29 - "voctrain- Hello, %username, welcome to the omega language trainer" =>
 28+ "voctrain_User_added" => "User added",
 29+ "voctrain_Hello___username__welcome_to_the_omega_language_trainer" =>
3030 "Hello, %username, welcome to the omega language trainer",
31 - "voctrain- continue"=>"continue",
32 - "voctrain- hello %place"=>"hello there %place",
33 - "voctrain- bye"=>"goodbye",
34 - "voctrain- Set up your exercise"=>"Set up your exercise",
35 - "voctrain- Number of questions"=>"Number of questions",
36 - "voctrain- Languages"=>"Languages",
37 - "voctrain- Please specify the languages you want to test in"=>"Please specify the languages you want to test in",
38 - "voctrain- (eg, eng for English, deu for Deutch (German))."=>"(eg, eng for English, deu for Deutch (German)).",
39 - "voctrain- Depending on your test set, some combinations might work better than others."=>"Depending on your test set, some combinations might work better than others.",
40 - "voctrain- Questions"=>"Questions",
41 - "voctrain- Answers"=>"Answers",
42 - "voctrain- start exercise"=>"start exercise",
43 - "voctrain- collection"=>"collection",
44 - "voctrain- ISO-639-3 format"=>"ISO-639-3 format",
45 - "voctrain- There are %questions_remaining questions remaining, out of a total of %questions_total."=>"There are %questions_remaining questions remaining, out of a total of %questions_total.",
46 - "voctrain- Definition"=>"Definition",
47 - "voctrain- Dictionary definition to help you"=>"Dictionary definition to help you",
48 - "voctrain- Word"=>"Word",
49 - "voctrain- Please type your answer here"=>"Please type your answer here",
50 - "voctrain- submit answer"=>"submit answer",
51 - "voctrain- peek"=>"peek",
52 - "voctrain- skip"=>"skip",
53 - "voctrain- I know it/do not ask again"=>"I know it/do not ask again",
54 - "voctrain- abort exercise"=>"abort exercise",
55 - "voctrain- list answers"=>"list answers",
56 - "voctrain- Question"=>"Question",
57 - "voctrain- The word to translate"=>"The word to translate",
58 - "voctrain- Answer"=>"Answer",
59 - "voctrain- one of"=>"one of",
60 - "voctrain- list of questions and answers"=>"list of questions and answers",
61 - "voctrain- Answer(s)"=>"Answer(s)",
62 - "voctrain- logout"=>"logout",
63 - "voctrain- Powered by"=>"Powered by",
64 - "voctrain- Omegawiki"=>"Omegawiki",
65 - "voctrain- Exercise complete"=>"Exercise complete",
66 - "voctrain- Exercise terminated"=>"Exercise terminated",
67 - "voctrain- Start a new exercise"=>"Start a new exercise",
68 - "voctrain- User name"=>"User name",
69 - "voctrain- Password"=>"Password",
70 - "voctrain- Login"=>"Login",
71 - "voctrain- Create new user"=>"Create new user",
72 - "voctrain- Switch language"=>"Switch language",
73 - "voctrain- Language"=>"Language",
74 - "voctrain- Log in"=>"Log in",
75 - "voctrain- Omegawiki vocabulary trainer"=>"Omegawiki vocabulary trainer"
 31+ "voctrain_continue"=>"continue",
 32+ "voctrain_hello__place"=>"hello there %place",
 33+ "voctrain_bye"=>"goodbye",
 34+ "voctrain_Set_up_your_exercise"=>"Set up your exercise",
 35+ "voctrain_Number_of_questions"=>"Number of questions",
 36+ "voctrain_Languages"=>"Languages",
 37+ "voctrain_Please_specify_the_languages_you_want_to_test_in"=>"Please specify the languages you want to test in",
 38+ "voctrain__eg__eng_for_English__deu_for_Deutch__German___"=>"(eg, eng for English, deu for Deutch (German)).",
 39+ "voctrain_Depending_on_your_test_set__some_combinations_might_work_better_than_others_"=>"Depending on your test set, some combinations might work better than others.",
 40+ "voctrain_Questions"=>"Questions",
 41+ "voctrain_Answers"=>"Answers",
 42+ "voctrain_start_exercise"=>"start exercise",
 43+ "voctrain_collection"=>"collection",
 44+ "voctrain_ISO_639_3_format"=>"ISO-639-3 format",
 45+ "voctrain_There_are__questions_remaining_questions_remaining__out_of_a_total_of__questions_total_"=>"There are %questions_remaining questions remaining, out of a total of %questions_total.",
 46+ "voctrain_Definition"=>"Definition",
 47+ "voctrain_Dictionary_definition_to_help_you"=>"Dictionary definition to help you",
 48+ "voctrain_Word"=>"Word",
 49+ "voctrain_Please_type_your_answer_here"=>"Please type your answer here",
 50+ "voctrain_submit_answer"=>"submit answer",
 51+ "voctrain_peek"=>"peek",
 52+ "voctrain_skip"=>"skip",
 53+ "voctrain_I_know_it_do_not_ask_again"=>"I know it/do not ask again",
 54+ "voctrain_abort_exercise"=>"abort exercise",
 55+ "voctrain_list_answers"=>"list answers",
 56+ "voctrain_Question"=>"Question",
 57+ "voctrain_The_word_to_translate"=>"The word to translate",
 58+ "voctrain_Answer"=>"Answer",
 59+ "voctrain_one_of"=>"one of",
 60+ "voctrain_list_of_questions_and_answers"=>"list of questions and answers",
 61+ "voctrain_Answer_s_"=>"Answer(s)",
 62+ "voctrain_logout"=>"logout",
 63+ "voctrain_Powered_by"=>"Powered by",
 64+ "voctrain_Omegawiki"=>"Omegawiki",
 65+ "voctrain_Exercise_complete"=>"Exercise complete",
 66+ "voctrain_Exercise_terminated"=>"Exercise terminated",
 67+ "voctrain_Start_a_new_exercise"=>"Start a new exercise",
 68+ "voctrain_User_name"=>"User name",
 69+ "voctrain_Password"=>"Password",
 70+ "voctrain_Login"=>"Login",
 71+ "voctrain_Create_new_user"=>"Create new user",
 72+ "voctrain_Switch_language"=>"Switch language",
 73+ "voctrain_Language"=>"Language",
 74+ "voctrain_Log_in"=>"Log in",
 75+ "voctrain_Omegawiki_vocabulary_trainer"=>"Omegawiki vocabulary trainer"
7676 );
7777
7878 /** Message documentation */
7979
8080 $messages["qqq"] = array(
81 - "voctrain- Hello World"=>"Test message",
82 - "voctrain- Permission Denied"=>"login: access is denied",
83 - "voctrain- try again?"=>"An operation failed, link back to normal voctrainer (used in multiple locations)",
84 - "voctrain- Action unknown"=>"Action unknown: Page title",
85 - "voctrain- I don't know what to do with '%action'." =>
 81+ "voctrain_Hello_World"=>"Test message",
 82+ "voctrain_Permission_Denied"=>"login: access is denied",
 83+ "voctrain_try_again_"=>"An operation failed, link back to normal voctrainer (used in multiple locations)",
 84+ "voctrain_Action_unknown"=>"Action unknown: Page title",
 85+ "voctrain_I_don_t_know_what_to_do_with___action__" =>
8686 "Action unknown: body text of page (don't translate %action).",
87 - "voctrain- User added" => "login: title of User added page",
88 - "voctrain- Hello, %username, welcome to the omega language trainer" =>
 87+ "voctrain_User_added" => "login: title of User added page",
 88+ "voctrain_Hello___username__welcome_to_the_omega_language_trainer" =>
8989 "login: Greeting when user created. (Don't translate %username)",
90 - "voctrain- continue"=>"continue operation (used in multiple locations)",
91 - "voctrain- hello %place"=>"Test message (don't translate %place)",
92 - "voctrain- bye"=>"Test message",
93 - "voctrain- Set up your exercise"=>"setup: Page title",
94 - "voctrain- Number of questions"=>"setup: subheading",
95 - "voctrain- Languages"=>"Languages",
96 - "voctrain- Please specify the languages you want to test in"=>"Setup:text the in refers to '...in iso-693-3 format'",
97 - "voctrain- (eg, eng for English, deu for Deutch (German))."=>"Setup:text",
98 - "voctrain- Depending on your test set, some combinations might work better than others."=>"setup:text",
99 - "voctrain- Questions"=>"Questions",
100 - "voctrain- Answers"=>"Answers",
101 - "voctrain- start exercise"=>"button:start exercise",
102 - "voctrain- collection"=>"a wikidata collection",
103 - "voctrain- ISO-639-3 format"=>"ISO-639-3 format",
104 - "voctrain- There are %questions_remaining questions remaining, out of a total of %questions_total."=>"exercise: status at top of page (don't translate %questions_remaining and %questions_total)",
105 - "voctrain- Definition"=>"exercise: subheading",
106 - "voctrain- Dictionary definition to help you"=>"exercise: text",
107 - "voctrain- Word"=>"exercise: subheading",
108 - "voctrain- Please type your answer here"=>"exercise: text",
109 - "voctrain- submit answer"=>"exercise: button",
110 - "voctrain- peek"=>"exercise: button",
111 - "voctrain- skip"=>"exercise: button",
112 - "voctrain- I know it/do not ask again"=>"exercise: button",
113 - "voctrain- abort exercise"=>"exercise: button",
114 - "voctrain- list answers"=>"exercise: button",
115 - "voctrain- Question"=>"Question",
116 - "voctrain- The word to translate"=>"The word to translate",
117 - "voctrain- Answer"=>"Answer",
118 - "voctrain- one of"=>"one of",
119 - "voctrain- list of questions and answers"=>"list: heading",
120 - "voctrain- Answer(s)"=>"list: table header",
121 - "voctrain- logout"=>"logout button on all pages",
122 - "voctrain- Powered by"=>"footer: Powered by",
123 - "voctrain- Omegawiki"=>"footer: Omegawiki",
124 - "voctrain- Exercise complete"=>"end exercise: page heading",
125 - "voctrain- Exercise terminated"=>"end exercise: page heading",
126 - "voctrain- Start a new exercise"=>"end exercise: Start a new exercise",
127 - "voctrain- User name"=>"login: User name",
128 - "voctrain- Password"=>"login: Password",
129 - "voctrain- Login"=>"login: button",
130 - "voctrain- Create new user"=>"login: button",
131 - "voctrain- Switch language"=>"login: button",
132 - "voctrain- Language"=>"login: label",
133 - "voctrain- Log in"=>"login: header",
134 - "voctrain- Omegawiki vocabulary trainer"=>"login: header"
 90+ "voctrain_continue"=>"continue operation (used in multiple locations)",
 91+ "voctrain_hello__place"=>"Test message (don't translate %place)",
 92+ "voctrain_bye"=>"Test message",
 93+ "voctrain_Set_up_your_exercise"=>"setup: Page title",
 94+ "voctrain_Number_of_questions"=>"setup: subheading",
 95+ "voctrain_Languages"=>"Languages",
 96+ "voctrain_Please_specify_the_languages_you_want_to_test_in"=>"Setup:text the in refers to '...in iso-693-3 format'",
 97+ "voctrain__eg__eng_for_English__deu_for_Deutch__German___"=>"Setup:text",
 98+ "voctrain_Depending_on_your_test_set__some_combinations_might_work_better_than_others_"=>"setup:text",
 99+ "voctrain_Questions"=>"Questions",
 100+ "voctrain_Answers"=>"Answers",
 101+ "voctrain_start_exercise"=>"button:start exercise",
 102+ "voctrain_collection"=>"a wikidata collection",
 103+ "voctrain_ISO_639_3_format"=>"ISO-639-3 format",
 104+ "voctrain_There_are__questions_remaining_questions_remaining__out_of_a_total_of__questions_total_"=>"exercise: status at top of page (don't translate %questions_remaining and %questions_total)",
 105+ "voctrain_Definition"=>"exercise: subheading",
 106+ "voctrain_Dictionary_definition_to_help_you"=>"exercise: text",
 107+ "voctrain_Word"=>"exercise: subheading",
 108+ "voctrain_Please_type_your_answer_here"=>"exercise: text",
 109+ "voctrain_submit_answer"=>"exercise: button",
 110+ "voctrain_peek"=>"exercise: button",
 111+ "voctrain_skip"=>"exercise: button",
 112+ "voctrain_I_know_it_do_not_ask_again"=>"exercise: button",
 113+ "voctrain_abort_exercise"=>"exercise: button",
 114+ "voctrain_list_answers"=>"exercise: button",
 115+ "voctrain_Question"=>"Question",
 116+ "voctrain_The_word_to_translate"=>"The word to translate",
 117+ "voctrain_Answer"=>"Answer",
 118+ "voctrain_one_of"=>"one of",
 119+ "voctrain_list_of_questions_and_answers"=>"list: heading",
 120+ "voctrain_Answer_s_"=>"list: table header",
 121+ "voctrain_logout"=>"logout button on all pages",
 122+ "voctrain_Powered_by"=>"footer: Powered by",
 123+ "voctrain_Omegawiki"=>"footer: Omegawiki",
 124+ "voctrain_Exercise_complete"=>"end exercise: page heading",
 125+ "voctrain_Exercise_terminated"=>"end exercise: page heading",
 126+ "voctrain_Start_a_new_exercise"=>"end exercise: Start a new exercise",
 127+ "voctrain_User_name"=>"login: User name",
 128+ "voctrain_Password"=>"login: Password",
 129+ "voctrain_Login"=>"login: button",
 130+ "voctrain_Create_new_user"=>"login: button",
 131+ "voctrain_Switch_language"=>"login: button",
 132+ "voctrain_Language"=>"login: label",
 133+ "voctrain_Log_in"=>"login: header",
 134+ "voctrain_Omegawiki_vocabulary_trainer"=>"login: header"
135135 );
136136
137137 /** Dutch */
138138 $messages["nl"]=array(
139 - "voctrain- Hello World"=>"HALLO WIKI!",
140 - "voctrain- Permission Denied"=>"Toestemming Geweigerd",
141 - "voctrain- try again?"=>"probeer opnieuw?",
142 - "voctrain- Action unknown"=>"Aktie (action) onbekend",
143 - "voctrain- I don't know what to do with '%action'." =>
 139+ "voctrain_Hello_World"=>"HALLO WIKI!",
 140+ "voctrain_Permission_Denied"=>"Toestemming Geweigerd",
 141+ "voctrain_try_again_"=>"probeer opnieuw?",
 142+ "voctrain_Action_unknown"=>"Aktie (action) onbekend",
 143+ "voctrain_I_don_t_know_what_to_do_with___action__" =>
144144 "Ik weet niet wat ik doen moet met '%action'.",
145 - "User addvoctrain- ed" => "Gebruiker toegevoegd",
146 - "voctrain- Hello, %username, welcome to the omega language trainer" =>
 145+ "voctrain_User_added" => "Gebruiker toegevoegd",
 146+ "voctrain_Hello___username__welcome_to_the_omega_language_trainer" =>
147147 "Hallo, %username, welkom bij de omega taaltrainer",
148 - "voctrain- continue"=>"doorgaan",
149 - "voctrain- hello %place"=>"hallo daar %place",
150 - "voctrain- bye"=>"tot ziens",
151 - "voctrain- Set up your exercise"=>"Stel uw oefening op",
152 - "voctrain- Number of questions"=>"Aantal vragen",
153 - "voctrain- Languages"=>"Talen",
154 - "voctrain- Please specify the languages you want to test in"=>"Geef aub de talen op waarin u wilt oefenen in",
155 - "voctrain- (eg, eng for English, deu for Deutch (German))."=>"(bijv, eng voor English (Engels), deu voor Deutch (Duits)).",
156 - "voctrain- Depending on your test set, some combinations might work better than others."=>"Afhankelijk van uw testset, werken sommige combinaties beter dan anderen.",
157 - "voctrain- Questions"=>"Vragen",
158 - "voctrain- Answers"=>"Antwoorden",
159 - "voctrain- start exercise"=>"start oefening",
160 - "voctrain- collection"=>"collectie",
161 - "voctrain- ISO-639-3 format"=>"ISO-639-3 formaat",
162 - "voctrain- There are %questions_remaining questions remaining, out of a total of %questions_total."=>
163 - "Er zijn nog %questions_remaining over, uit een totaal van %questions_total.",
164 - "voctrain- Definition"=>"Definitie",
165 - "voctrain- Dictionary definition to help you"=>"Woordenboek definitie om u te helpen",
166 - "voctrain- Word"=>"Woord",
167 - "voctrain- Please type your answer here"=>"Typ alstublieft hier uw antwoord.",
168 - "voctrain- submit answer"=>"antwoord submitten",
169 - "voctrain- peek"=>"spiek",
170 - "voctrain- skip"=>"sla over",
171 - "voctrain- I know it/do not ask again"=>"Ik weet dit antwoord/vraag niet nogmaals",
172 - "voctrain- abort exercise"=>"Oefening afbreken",
173 - "voctrain- list answers"=>"antwoordlijst",
174 - "voctrain- Question"=>"Vraag",
175 - "voctrain- The word to translate"=>"Het te-vertalen woord",
176 - "voctrain- Answer"=>"Antwoord",
177 - "voctrain- one of"=>"een van",
178 - "voctrain- list of questions and answers"=>"list van vragen en antwoorden",
179 - "voctrain- Answer(s)"=>"Antwoord(en)",
180 - "voctrain- logout"=>"uitloggen",
181 - "voctrain- Powered by"=>"Angedreven door",
182 - "voctrain- Omegawiki"=>"Omegawiki",
183 - "voctrain- Exercise complete"=>"Oefening voltooid",
184 - "voctrain- Exercise terminated"=>"Oefening afgebroken",
185 - "voctrain- Start a new exercise"=>"Start een nieuwe oefening",
186 - "voctrain- User name"=>"Gebruikersnaam",
187 - "voctrain- Password"=>"Wachtwoord",
188 - "voctrain- Login"=>"Inloggen",
189 - "voctrain- Create new user"=>"Nieuwe gebruiker aanmaken",
190 - "voctrain- Switch language"=>"Wijzig taal",
191 - "voctrain- Language"=>"Taal"
 148+ "voctrain_continue"=>"doorgaan",
 149+ "voctrain_hello__place"=>"hallo daar %place",
 150+ "voctrain_bye"=>"tot ziens",
 151+ "voctrain_Set_up_your_exercise"=>"Stel uw oefening op",
 152+ "voctrain_Number_of_questions"=>"Aantal vragen",
 153+ "voctrain_Languages"=>"Talen",
 154+ "voctrain_Please_specify_the_languages_you_want_to_test_in"=>"Geef aub de talen op waarin u wilt oefenen in",
 155+ "voctrain__eg__eng_for_English__deu_for_Deutch__German___"=>"(bijv, eng voor English (Engels), deu voor Deutch (Duits)).",
 156+ "voctrain_Depending_on_your_test_set__some_combinations_might_work_better_than_others_"=>"Afhankelijk van uw testset, werken sommige combinaties beter dan anderen.",
 157+ "voctrain_Questions"=>"Vragen",
 158+ "voctrain_Answers"=>"Antwoorden",
 159+ "voctrain_start_exercise"=>"start oefening",
 160+ "voctrain_collection"=>"collectie",
 161+ "voctrain_ISO_639_3_format"=>"ISO-639-3 formaat",
 162+ "voctrain_There_are__questions_remaining_questions_remaining__out_of_a_total_of__questions_total_"=>
 163+ "Er zijn nog %questions_remaining vragen over, uit een totaal van %questions_total.",
 164+ "voctrain_Definition"=>"Definitie",
 165+ "voctrain_Dictionary_definition_to_help_you"=>"Woordenboek definitie om u te helpen",
 166+ "voctrain_Word"=>"Woord",
 167+ "voctrain_Please_type_your_answer_here"=>"Typ alstublieft hier uw antwoord.",
 168+ "voctrain_submit_answer"=>"antwoord submitten",
 169+ "voctrain_peek"=>"spiek",
 170+ "voctrain_skip"=>"sla over",
 171+ "voctrain_I_know_it_do_not_ask_again"=>"Ik weet dit antwoord/vraag niet nogmaals",
 172+ "voctrain_abort_exercise"=>"Oefening afbreken",
 173+ "voctrain_list_answers"=>"antwoordlijst",
 174+ "voctrain_Question"=>"Vraag",
 175+ "voctrain_The_word_to_translate"=>"Het te-vertalen woord",
 176+ "voctrain_Answer"=>"Antwoord",
 177+ "voctrain_one_of"=>"een van",
 178+ "voctrain_list_of_questions_and_answers"=>"list van vragen en antwoorden",
 179+ "voctrain_Answer_s_"=>"Antwoord(en)",
 180+ "voctrain_logout"=>"uitloggen",
 181+ "voctrain_Powered_by"=>"Aangedreven door",
 182+ "voctrain_Omegawiki"=>"Omegawiki",
 183+ "voctrain_Exercise_complete"=>"Oefening voltooid",
 184+ "voctrain_Exercise_terminated"=>"Oefening afgebroken",
 185+ "voctrain_Start_a_new_exercise"=>"Start een nieuwe oefening",
 186+ "voctrain_User_name"=>"Gebruikersnaam",
 187+ "voctrain_Password"=>"Wachtwoord",
 188+ "voctrain_Login"=>"Inloggen",
 189+ "voctrain_Create_new_user"=>"Nieuwe gebruiker aanmaken",
 190+ "voctrain_Switch_language"=>"Wijzig taal",
 191+ "voctrain_Language"=>"Taal"
192192 );
193193
194194 ?>
Index: trunk/extensions/Wikidata/util/voctrain/i18n/language.php
@@ -31,8 +31,7 @@
3232 include("language.i18n.php");
3333 if (array_key_exists($code, $messages)) {
3434 foreach ($messages[$code] as $key=>$message) {
35 - $newkey=str_replace("voctrain- ","",$key);
36 - $this->messages[$newkey]=$message; #messages is from the included file
 35+ $this->messages[$key]=$message; #messages is from the included file
3736 }
3837 } else {
3938 throw new LocalisationException("messages problem, there's no messages for $code");
@@ -48,6 +47,28 @@
4948 $this->code=$code;
5049 }
5150
 51+
 52+ /** safe takes a string and makes it safe for use as a key on betawiki.
 53+ * betawiki (http://translatewiki.net/) will translate my i18n for me
 54+ * if I do this. So it's a fair trade.
 55+ */
 56+ public static function safe($string) {
 57+ if (substr_count($string,"voctrain_")==0) {
 58+ $string="voctrain_".$string;
 59+ }
 60+ $string=preg_replace("|[^A-Za-z0-9_]|","_",$string);
 61+ return $string;
 62+ }
 63+
 64+
 65+ /** safeMatch two strings, after safe()-ing them.
 66+ * @return true if safe($one)==safe($two)
 67+ */
 68+ public static function safeMatch($one, $two) {
 69+ return Language::safe($one)==Language::safe($two);
 70+ }
 71+
 72+
5273 /**
5374 * Get language names available for i18n, indexed by code.
5475 */
@@ -67,7 +88,7 @@
6889
6990 public function translation_exists($phrase) {
7091 if ($this->messages) {
71 - return array_key_exists($phrase, $this->messages);
 92+ return array_key_exists(Language::safe($phrase), $this->messages);
7293 } else {
7394 throw new Exception("not initialized, code ".$this->code);
7495 }
@@ -77,7 +98,7 @@
7899 * Use printf,sprintf, or vsprintf etc... for subsitutions */
79100 public function translate($phrase) {
80101 if ($this->translation_exists($phrase)) {
81 - return $this->messages[$phrase];
 102+ return $this->messages[Language::safe($phrase)];
82103 } elseif ($this->fallback && $this->fallback->translation_exists($phrase)) {
83104 return $this->fallback->translate($phrase);
84105 } else {

Status & tagging log