1212
1313local lang_internal = require (" lang.lang_internal" )
1414local lang_debug_page = require (" lang.lang_debug_page" )
15+ local logger = require (" lang.internal.lang_logger" )
1516
1617--- @class lang
1718local M = {}
7475--- @param lang_on_start string ? Language code to set on start , override saved language
7576function M .init (available_langs , lang_on_start )
7677 if not available_langs or # available_langs == 0 then
77- lang_internal . logger :error (" No available languages provided to init" )
78+ logger :error (" No available languages provided to init" )
7879 return
7980 end
8081
@@ -100,7 +101,7 @@ function M.init(available_langs, lang_on_start)
100101
101102 -- Validate the target language exists, fallback to default if not
102103 if not is_lang_available (target_lang ) then
103- lang_internal . logger :warn (" Target language not available, falling back to default" , {
104+ logger :warn (" Target language not available, falling back to default" , {
104105 target_lang = target_lang ,
105106 default_lang = default_lang
106107 })
114115--- Set logger for lang module. Pass nil to use empty logger
115116--- @param logger_instance lang.logger | table | nil
116117function M .set_logger (logger_instance )
117- lang_internal . logger = logger_instance or lang_internal . empty_logger
118+ logger . set_logger ( logger_instance )
118119end
119120
120121
@@ -152,15 +153,15 @@ end
152153--- @param on_lang_changed function ?
153154function M .set_lang (lang_id , on_lang_changed )
154155 if not lang_id then
155- lang_internal . logger :error (" Language id cannot be nil" )
156+ logger :error (" Language id cannot be nil" )
156157 return
157158 end
158159
159160 local previous_lang = M .state .lang
160161 local lang_data = get_lang_data (lang_id )
161162
162163 if not lang_data then
163- lang_internal . logger :error (" Lang not found" , lang_id )
164+ logger :error (" Lang not found" , lang_id )
164165 return
165166 end
166167
@@ -176,12 +177,12 @@ function M.set_lang(lang_id, on_lang_changed)
176177 if on_lang_changed then
177178 on_lang_changed ()
178179 end
179- lang_internal . logger :info (" Lang changed" , { previous_lang = previous_lang , lang = lang_id })
180+ logger :info (" Lang changed" , { previous_lang = previous_lang , lang = lang_id })
180181 else
181- lang_internal . logger :error (" Failed to parse lang content" , path_str )
182+ logger :error (" Failed to parse lang content" , path_str )
182183 end
183184 end , function (err )
184- lang_internal . logger :error (" Failed to load lang file" , err )
185+ logger :error (" Failed to load lang file" , err )
185186 end )
186187 return
187188 end
@@ -195,11 +196,11 @@ function M.set_lang(lang_id, on_lang_changed)
195196 elseif is_json and path_str then
196197 M .load_from_json (path_str , lang_id )
197198 else
198- lang_internal . logger :error (" Lang format not supported" , lang_data .path or " unknown" )
199+ logger :error (" Lang format not supported" , lang_data .path or " unknown" )
199200 return
200201 end
201202
202- lang_internal . logger :info (" Lang changed" , { previous_lang = previous_lang , lang = lang_id })
203+ logger :info (" Lang changed" , { previous_lang = previous_lang , lang = lang_id })
203204 if on_lang_changed then
204205 on_lang_changed ()
205206 end
@@ -216,11 +217,11 @@ function M.load_from_json(lang_path, locale_id)
216217
217218 local is_parsed , lang_data = pcall (lang_internal .load_json , lang_path )
218219 if not is_parsed then
219- lang_internal . logger :error (" Can't load or parse lang file. Check the JSON file is valid" , lang_path )
220+ logger :error (" Can't load or parse lang file. Check the JSON file is valid" , lang_path )
220221 return nil
221222 end
222223 if not lang_data then
223- lang_internal . logger :error (" Lang file not found" , lang_path )
224+ logger :error (" Lang file not found" , lang_path )
224225 return nil
225226 end
226227
@@ -241,12 +242,12 @@ function M.load_from_csv(csv_path, locale_id)
241242
242243 local langs_data = lang_internal .load_csv (csv_path )
243244 if not langs_data then
244- lang_internal . logger :error (" Can't load or parse lang file. Check the CSV file is valid" , csv_path )
245+ logger :error (" Can't load or parse lang file. Check the CSV file is valid" , csv_path )
245246 return nil
246247 end
247248
248249 if not langs_data [locale_id ] then
249- lang_internal . logger :error (" Lang code not found" , locale_id )
250+ logger :error (" Lang code not found" , locale_id )
250251 return nil
251252 end
252253
0 commit comments