Add locale convar and locale fallback

This commit is contained in:
David Malchin
2022-09-04 00:46:21 +03:00
parent aadf09937e
commit 1a3aa824fa
34 changed files with 231 additions and 127 deletions
+2 -1
View File
@@ -7,7 +7,8 @@ version '1.1.0'
shared_scripts {
'config.lua',
'shared/locale.lua',
'locale/en.lua', -- replace with desired language
'locale/en.lua',
'locale/*.lua',
'shared/main.lua',
'shared/items.lua',
'shared/jobs.lua',
+6 -3
View File
@@ -25,7 +25,10 @@ local Translations = {
}
}
Lang = Locale:new({
if GetConvar('qb_locale', 'en') == 'ar' then
Lang = Locale:new({
phrases = Translations,
warnOnMissing = true
})
warnOnMissing = true,
fallbackLang = Lang,
})
end
+6 -3
View File
@@ -25,7 +25,10 @@ local Translations = {
}
}
Lang = Locale:new({
if GetConvar('qb_locale', 'en') == 'bg' then
Lang = Locale:new({
phrases = Translations,
warnOnMissing = true
})
warnOnMissing = true,
fallbackLang = Lang,
})
end
+6 -3
View File
@@ -25,7 +25,10 @@ local Translations = {
}
}
Lang = Locale:new({
if GetConvar('qb_locale', 'en') == 'cn' then
Lang = Locale:new({
phrases = Translations,
warnOnMissing = true
})
warnOnMissing = true,
fallbackLang = Lang,
})
end
+6 -3
View File
@@ -25,7 +25,10 @@ local Translations = {
}
}
Lang = Locale:new({
if GetConvar('qb_locale', 'en') == 'cs' then
Lang = Locale:new({
phrases = Translations,
warnOnMissing = true
})
warnOnMissing = true,
fallbackLang = Lang,
})
end
+6 -3
View File
@@ -25,7 +25,10 @@ local Translations = {
}
}
Lang = Locale:new({
if GetConvar('qb_locale', 'en') == 'da' then
Lang = Locale:new({
phrases = Translations,
warnOnMissing = true
})
warnOnMissing = true,
fallbackLang = Lang,
})
end
+6 -3
View File
@@ -118,7 +118,10 @@ local Translations = {
},
}
Lang = Locale:new({
if GetConvar('qb_locale', 'en') == 'de' then
Lang = Locale:new({
phrases = Translations,
warnOnMissing = true
})
warnOnMissing = true,
fallbackLang = Lang,
})
end
+6 -3
View File
@@ -25,7 +25,10 @@ local Translations = {
}
}
Lang = Locale:new({
if GetConvar('qb_locale', 'en') == 'ee' then
Lang = Locale:new({
phrases = Translations,
warnOnMissing = true
})
warnOnMissing = true,
fallbackLang = Lang,
})
end
+1 -1
View File
@@ -118,7 +118,7 @@ local Translations = {
},
}
Lang = Locale:new({
Lang = Lang or Locale:new({
phrases = Translations,
warnOnMissing = true
})
+6 -3
View File
@@ -30,7 +30,10 @@ local Translations = {
}
}
Lang = Locale:new({
if GetConvar('qb_locale', 'en') == 'es' then
Lang = Locale:new({
phrases = Translations,
warnOnMissing = true
})
warnOnMissing = true,
fallbackLang = Lang,
})
end
+6 -3
View File
@@ -25,7 +25,10 @@ local Translations = {
}
}
Lang = Locale:new({
if GetConvar('qb_locale', 'en') == 'et' then
Lang = Locale:new({
phrases = Translations,
warnOnMissing = true
})
warnOnMissing = true,
fallbackLang = Lang,
})
end
+6 -3
View File
@@ -19,7 +19,10 @@ local Translations = {
}
}
Lang = Locale:new({
if GetConvar('qb_locale', 'en') == 'fa' then
Lang = Locale:new({
phrases = Translations,
warnOnMissing = true
})
warnOnMissing = true,
fallbackLang = Lang,
})
end
+6 -3
View File
@@ -19,7 +19,10 @@ local Translations = {
}
}
Lang = Locale:new({
if GetConvar('qb_locale', 'en') == 'fi' then
Lang = Locale:new({
phrases = Translations,
warnOnMissing = true
})
warnOnMissing = true,
fallbackLang = Lang,
})
end
+6 -3
View File
@@ -120,7 +120,10 @@ local Translations = {
},
}
Lang = Locale:new({
if GetConvar('qb_locale', 'en') == 'fr' then
Lang = Locale:new({
phrases = Translations,
warnOnMissing = true
})
warnOnMissing = true,
fallbackLang = Lang,
})
end
+6 -3
View File
@@ -19,7 +19,10 @@ local Translations = {
}
}
Lang = Locale:new({
if GetConvar('qb_locale', 'en') == 'ge' then
Lang = Locale:new({
phrases = Translations,
warnOnMissing = true
})
warnOnMissing = true,
fallbackLang = Lang,
})
end
+7 -3
View File
@@ -118,7 +118,11 @@ local Translations = {
},
}
Lang = Locale:new({
if GetConvar('qb_locale', 'en') == 'he' then
Lang = Locale:new({
phrases = Translations,
warnOnMissing = true
})
warnOnMissing = true,
fallbackLang = Lang,
})
end
+6 -3
View File
@@ -19,7 +19,10 @@ local Translations = {
}
}
Lang = Locale:new({
if GetConvar('qb_locale', 'en') == 'hu' then
Lang = Locale:new({
phrases = Translations,
warnOnMissing = true
})
warnOnMissing = true,
fallbackLang = Lang,
})
end
+6 -3
View File
@@ -19,7 +19,10 @@ local Translations = {
}
}
Lang = Locale:new({
if GetConvar('qb_locale', 'en') == 'in' then
Lang = Locale:new({
phrases = Translations,
warnOnMissing = true
})
warnOnMissing = true,
fallbackLang = Lang,
})
end
+6 -3
View File
@@ -118,7 +118,10 @@ local Translations = {
},
}
Lang = Locale:new({
if GetConvar('qb_locale', 'en') == 'is' then
Lang = Locale:new({
phrases = Translations,
warnOnMissing = true
})
warnOnMissing = true,
fallbackLang = Lang,
})
end
+6 -3
View File
@@ -123,7 +123,10 @@ error = {
},
}
Lang = Locale:new({
if GetConvar('qb_locale', 'en') == 'it' then
Lang = Locale:new({
phrases = Translations,
warnOnMissing = true
})
warnOnMissing = true,
fallbackLang = Lang,
})
end
+6 -3
View File
@@ -19,7 +19,10 @@ local Translations = {
}
}
Lang = Locale:new({
if GetConvar('qb_locale', 'en') == 'lv' then
Lang = Locale:new({
phrases = Translations,
warnOnMissing = true
})
warnOnMissing = true,
fallbackLang = Lang,
})
end
+6 -3
View File
@@ -25,7 +25,10 @@ local Translations = {
}
}
Lang = Locale:new({
if GetConvar('qb_locale', 'en') == 'nl' then
Lang = Locale:new({
phrases = Translations,
warnOnMissing = true
})
warnOnMissing = true,
fallbackLang = Lang,
})
end
+6 -3
View File
@@ -25,7 +25,10 @@ local Translations = {
}
}
Lang = Locale:new({
if GetConvar('qb_locale', 'en') == 'pl' then
Lang = Locale:new({
phrases = Translations,
warnOnMissing = true
})
warnOnMissing = true,
fallbackLang = Lang,
})
end
+6 -3
View File
@@ -25,7 +25,10 @@ local Translations = {
}
}
Lang = Locale:new({
if GetConvar('qb_locale', 'en') == 'pt-br' then
Lang = Locale:new({
phrases = Translations,
warnOnMissing = true
})
warnOnMissing = true,
fallbackLang = Lang,
})
end
+6 -3
View File
@@ -19,7 +19,10 @@ local Translations = {
}
}
Lang = Locale:new({
if GetConvar('qb_locale', 'en') == 'pt' then
Lang = Locale:new({
phrases = Translations,
warnOnMissing = true
})
warnOnMissing = true,
fallbackLang = Lang,
})
end
+6 -3
View File
@@ -115,7 +115,10 @@ local Translations = {
},
}
Lang = Locale:new({
if GetConvar('qb_locale', 'en') == 'ro' then
Lang = Locale:new({
phrases = Translations,
warnOnMissing = true
})
warnOnMissing = true,
fallbackLang = Lang,
})
end
+6 -3
View File
@@ -19,7 +19,10 @@ local Translations = {
}
}
Lang = Locale:new({
if GetConvar('qb_locale', 'en') == 'rs' then
Lang = Locale:new({
phrases = Translations,
warnOnMissing = true
})
warnOnMissing = true,
fallbackLang = Lang,
})
end
+6 -3
View File
@@ -118,7 +118,10 @@ local Translations = {
},
}
Lang = Locale:new({
if GetConvar('qb_locale', 'en') == 'ru' then
Lang = Locale:new({
phrases = Translations,
warnOnMissing = true
})
warnOnMissing = true,
fallbackLang = Lang,
})
end
+6 -3
View File
@@ -19,7 +19,10 @@ local Translations = {
}
}
Lang = Locale:new({
if GetConvar('qb_locale', 'en') == 'sl' then
Lang = Locale:new({
phrases = Translations,
warnOnMissing = true
})
warnOnMissing = true,
fallbackLang = Lang,
})
end
+6 -3
View File
@@ -25,7 +25,10 @@ local Translations = {
}
}
Lang = Locale:new({
if GetConvar('qb_locale', 'en') == 'sv' then
Lang = Locale:new({
phrases = Translations,
warnOnMissing = true
})
warnOnMissing = true,
fallbackLang = Lang,
})
end
+6 -3
View File
@@ -19,7 +19,10 @@ local Translations = {
}
}
Lang = Locale:new({
if GetConvar('qb_locale', 'en') == 'th' then
Lang = Locale:new({
phrases = Translations,
warnOnMissing = true
})
warnOnMissing = true,
fallbackLang = Lang,
})
end
+6 -3
View File
@@ -25,7 +25,10 @@ local Translations = {
}
}
Lang = Locale:new({
if GetConvar('qb_locale', 'en') == 'tr' then
Lang = Locale:new({
phrases = Translations,
warnOnMissing = true
})
warnOnMissing = true,
fallbackLang = Lang,
})
end
+6 -3
View File
@@ -19,7 +19,10 @@ local Translations = {
}
}
Lang = Locale:new({
if GetConvar('qb_locale', 'en') == 'vn' then
Lang = Locale:new({
phrases = Translations,
warnOnMissing = true
})
warnOnMissing = true,
fallbackLang = Lang,
})
end
+10 -1
View File
@@ -32,7 +32,13 @@ end
--- @return Locale
function Locale:new(opts)
setmetatable(self, Locale)
self.warnOnMissing = opts.warnOnMissing or true
self.fallback = opts.fallbackLang and Locale.new({}, {
warnOnMissing = false,
phrases = opts.fallbackLang.phrases,
}) or false
self.warnOnMissing = type(opts.warnOnMissing) ~= 'boolean' and true or opts.warnOnMissing
self.phrases = {}
self:extend(opts.phrases or {})
@@ -98,6 +104,9 @@ function Locale:t(key, subs)
if self.warnOnMissing then
print(('^3Warning: Missing phrase for key: "%s"'):format(key))
end
if self.fallback then
return self.fallback:t(key, subs)
end
result = key
end