mirror of
https://github.com/ciribob/DCS-CTLD.git
synced 2025-08-15 06:17:22 +00:00
Merge branch 'FEAT-i18n' into develop
This commit is contained in:
commit
c16fb56b5c
669
CTLD.lua
669
CTLD.lua
@ -20,6 +20,7 @@
|
||||
- Proxy404 - https://github.com/Proxy404
|
||||
- atcz - https://github.com/atcz
|
||||
- marcos2221- https://github.com/marcos2221
|
||||
- FullGas1 - https://github.com/FullGas1 (i18n concept, FR and SP translations)
|
||||
|
||||
Add [issues](https://github.com/ciribob/DCS-CTLD/issues) to the GitHub repository if you want to report a bug or suggest a new feature.
|
||||
|
||||
@ -37,8 +38,8 @@ ctld.Id = "CTLD - "
|
||||
ctld.Version = "1.2.0"
|
||||
|
||||
-- To add debugging messages to dcs.log, change the following log levels to `true`; `Debug` is less detailed than `Trace`
|
||||
ctld.Debug = true
|
||||
ctld.Trace = true
|
||||
ctld.Debug = false
|
||||
ctld.Trace = false
|
||||
|
||||
ctld.dontInitialize = false -- if true, ctld.initialize() will not run; instead, you'll have to run it from your own code - it's useful when you want to override some functions/parameters before the initialization takes place
|
||||
|
||||
@ -47,9 +48,13 @@ ctld.dontInitialize = false -- if true, ctld.initialize() will not run; instead,
|
||||
-- ***************************************************************
|
||||
|
||||
-- If you want to change the language replace "en" with the language you want to use
|
||||
-- i.e
|
||||
-- ctld.i18n_lang = "fr"
|
||||
|
||||
--======== ENGLISH - the reference ===========================================================================
|
||||
ctld.i18n_lang = "en"
|
||||
--======== FRENCH - FRANCAIS =================================================================================
|
||||
--ctld.i18n_lang = "fr"
|
||||
--====== SPANISH : ESPAÑOL====================================================================================
|
||||
--ctld.i18n_lang = "es"
|
||||
|
||||
-- This is the default language
|
||||
-- If a string is not found in the current language then it will default to this language
|
||||
@ -161,8 +166,6 @@ ctld.i18n["en"]["Delivered FOB Crate 60m at 6'oclock to you"] = nil
|
||||
ctld.i18n["en"]["FOB Crate dropped back to base"] = nil
|
||||
ctld.i18n["en"]["FOB Crate Loaded"] = nil
|
||||
ctld.i18n["en"]["%1 loaded a FOB Crate ready for delivery!"] = nil
|
||||
ctld.i18n["en"]["FOB Crate Loaded"] = nil
|
||||
ctld.i18n["en"]["%1 loaded a FOB Crate ready for delivery!"] = nil
|
||||
ctld.i18n["en"]["There are no friendly logistic units nearby to load a FOB crate from!"] = nil
|
||||
ctld.i18n["en"]["You already have troops onboard."] = nil
|
||||
ctld.i18n["en"]["You already have vehicles onboard."] = nil
|
||||
@ -190,7 +193,6 @@ ctld.i18n["en"]["Loaded %1 crate!"] = nil
|
||||
ctld.i18n["en"]["Too low to hook %1 crate.\n\nHold hover for %2 seconds"] = nil
|
||||
ctld.i18n["en"]["Too high to hook %1 crate.\n\nHold hover for %2 seconds"] = nil
|
||||
ctld.i18n["en"]["You must land before you can load a crate!"] = nil
|
||||
ctld.i18n["en"]["Loaded %1 crate!"] = nil
|
||||
ctld.i18n["en"]["No Crates within 50m to load!"] = nil
|
||||
ctld.i18n["en"]["Maximum number of crates are on board!"] = nil
|
||||
ctld.i18n["en"]["%1\n%2 crate - kg %3 - %4 m - %5 o'clock"] = nil
|
||||
@ -205,7 +207,6 @@ ctld.i18n["en"]["You can't unpack that here! Take it to where it's needed!"] = n
|
||||
ctld.i18n["en"]["Sorry you must move this crate before you unpack it!"] = nil
|
||||
ctld.i18n["en"]["%1 successfully deployed %2 to the field"] = nil
|
||||
ctld.i18n["en"]["No friendly crates close enough to unpack, or crate too close to aircraft."] = nil
|
||||
ctld.i18n["en"]["You can't unpack that here! Take it to where it's needed!"] = nil
|
||||
ctld.i18n["en"]["Finished building FOB! Crates and Troops can now be picked up."] = nil
|
||||
ctld.i18n["en"]["Finished building FOB! Crates can now be picked up."] = nil
|
||||
ctld.i18n["en"]["%1 started building FOB using %2 FOB crates, it will be finished in %3 seconds.\nPosition marked with smoke."] = nil
|
||||
@ -266,11 +267,46 @@ ctld.i18n["en"]["%1, wind and target speed laser spot compensations enabled"] =
|
||||
ctld.i18n["en"]["%1, wind and target speed laser spot compensations disabled"] = nil
|
||||
ctld.i18n["en"]["%1, WHITE smoke deployed near target"] = nil
|
||||
|
||||
--- F10 menu messages
|
||||
ctld.i18n["en"]["Actions"] = nil
|
||||
ctld.i18n["en"]["Troop Transport"] = nil
|
||||
ctld.i18n["en"]["Unload / Extract Troops"] = nil
|
||||
ctld.i18n["en"]["Next page"] = nil
|
||||
ctld.i18n["en"]["Load "] = nil
|
||||
ctld.i18n["en"]["Vehicle / FOB Transport"] = nil
|
||||
ctld.i18n["en"]["Vehicle / FOB Crates"] = nil
|
||||
ctld.i18n["en"]["Unload Vehicles"] = nil
|
||||
ctld.i18n["en"]["Load / Extract Vehicles"] = nil
|
||||
ctld.i18n["en"]["Load / Unload FOB Crate"] = nil
|
||||
ctld.i18n["en"]["CTLD Commands"] = nil
|
||||
ctld.i18n["en"]["CTLD"] = nil
|
||||
ctld.i18n["en"]["Check Cargo"] = nil
|
||||
ctld.i18n["en"]["Load Nearby Crate"] = nil
|
||||
ctld.i18n["en"]["Unpack Any Crate"] = nil
|
||||
ctld.i18n["en"]["Drop Crate"] = nil
|
||||
ctld.i18n["en"]["List Nearby Crates"] = nil
|
||||
ctld.i18n["en"]["List FOBs"] = nil
|
||||
ctld.i18n["en"]["List Beacons"] = nil
|
||||
ctld.i18n["en"]["List Radio Beacons"] = nil
|
||||
ctld.i18n["en"]["Smoke Markers"] = nil
|
||||
ctld.i18n["en"]["Drop Red Smoke"] = nil
|
||||
ctld.i18n["en"]["Drop Blue Smoke"] = nil
|
||||
ctld.i18n["en"]["Drop Orange Smoke"] = nil
|
||||
ctld.i18n["en"]["Drop Green Smoke"] = nil
|
||||
ctld.i18n["en"]["Drop Beacon"] = nil
|
||||
ctld.i18n["en"]["Radio Beacons"] = nil
|
||||
ctld.i18n["en"]["Remove Closet Beacon"] = nil
|
||||
ctld.i18n["en"]["JTAC Status"] = nil
|
||||
ctld.i18n["en"]["DISABLE "] = nil
|
||||
ctld.i18n["en"]["ENABLE "] = nil
|
||||
ctld.i18n["en"]["REQUEST "] = nil
|
||||
ctld.i18n["en"]["Reset TGT Selection"] = nil
|
||||
|
||||
-- These are the string translations
|
||||
-- If you want to change the text then do so here
|
||||
-- If you want to add a new language then create a new block
|
||||
-- following the same format as the current ones
|
||||
|
||||
--======== FRENCH - FRANCAIS =====================================================================================
|
||||
ctld.i18n["fr"] = {}
|
||||
|
||||
--- groups names
|
||||
@ -278,7 +314,7 @@ ctld.i18n["fr"]["Standard Group"] = "Groupe standard"
|
||||
ctld.i18n["fr"]["Anti Air"] = "Défense aérienne"
|
||||
ctld.i18n["fr"]["Anti Tank"] = "Anti Tank"
|
||||
ctld.i18n["fr"]["Mortar Squad"] = "Groupe mortier"
|
||||
ctld.i18n["fr"]["JTAC Group"] = "Group JTAC"
|
||||
ctld.i18n["fr"]["JTAC Group"] = "Groupe JTAC"
|
||||
ctld.i18n["fr"]["Single JTAC"] = "JTAC seul"
|
||||
ctld.i18n["fr"]["2x - Standard Groups"] = "2x - Groupes standards"
|
||||
ctld.i18n["fr"]["2x - Anti Air"] = "2x - Défenses aériennes"
|
||||
@ -354,133 +390,424 @@ ctld.i18n["fr"]["S-300 Grumble C2"] = nil
|
||||
ctld.i18n["fr"]["S-300 Repair"] = nil
|
||||
|
||||
--- mission design error messages
|
||||
ctld.i18n["fr"]["CTLD.lua ERROR: Can't find trigger called %1"] = nil
|
||||
ctld.i18n["fr"]["CTLD.lua ERROR: Can't find zone called %1"] = nil
|
||||
ctld.i18n["fr"]["CTLD.lua ERROR: Can't find zone or ship called %1"] = nil
|
||||
ctld.i18n["fr"]["CTLD.lua ERROR: Can't find crate with weight %1"] = nil
|
||||
ctld.i18n["fr"]["CTLD.lua ERROR: Can't find trigger called %1"] = "CTLD.lua ERREUR : Impossible de trouver le déclencheur appelé %1"
|
||||
ctld.i18n["fr"]["CTLD.lua ERROR: Can't find zone called %1"] = "CTLD.lua ERREUR : Impossible de trouver la zone appelée %1"
|
||||
ctld.i18n["fr"]["CTLD.lua ERROR: Can't find zone or ship called %1"] = "CTLD.lua ERREUR : Impossible de trouver la zone ou le navire appelé %1"
|
||||
ctld.i18n["fr"]["CTLD.lua ERROR: Can't find crate with weight %1"] = "CTLD.lua ERREUR : Impossible de trouver une caisse avec un poids de %1"
|
||||
|
||||
--- runtime messages
|
||||
ctld.i18n["fr"]["You are not close enough to friendly logistics to get a crate!"] = nil
|
||||
ctld.i18n["fr"]["No more JTAC Crates Left!"] = nil
|
||||
ctld.i18n["fr"]["Sorry you must wait %1 seconds before you can get another crate"] = nil
|
||||
ctld.i18n["fr"]["A %1 crate weighing %2 kg has been brought out and is at your %3 o'clock "] = nil
|
||||
ctld.i18n["fr"]["%1 fast-ropped troops from %2 into combat"] = nil
|
||||
ctld.i18n["fr"]["%1 dropped troops from %2 into combat"] = nil
|
||||
ctld.i18n["fr"]["%1 fast-ropped troops from %2 into %3"] = nil
|
||||
ctld.i18n["fr"]["%1 dropped troops from %2 into %3"] = nil
|
||||
ctld.i18n["fr"]["Too high or too fast to drop troops into combat! Hover below %1 feet or land."] = nil
|
||||
ctld.i18n["fr"]["%1 dropped vehicles from %2 into combat"] = nil
|
||||
ctld.i18n["fr"]["%1 loaded troops into %2"] = nil
|
||||
ctld.i18n["fr"]["%1 loaded %2 vehicles into %3"] = nil
|
||||
ctld.i18n["fr"]["%1 delivered a FOB Crate"] = nil
|
||||
ctld.i18n["fr"]["Delivered FOB Crate 60m at 6'oclock to you"] = nil
|
||||
ctld.i18n["fr"]["FOB Crate dropped back to base"] = nil
|
||||
ctld.i18n["fr"]["FOB Crate Loaded"] = nil
|
||||
ctld.i18n["fr"]["%1 loaded a FOB Crate ready for delivery!"] = nil
|
||||
ctld.i18n["fr"]["FOB Crate Loaded"] = nil
|
||||
ctld.i18n["fr"]["%1 loaded a FOB Crate ready for delivery!"] = nil
|
||||
ctld.i18n["fr"]["There are no friendly logistic units nearby to load a FOB crate from!"] = nil
|
||||
ctld.i18n["fr"]["You already have troops onboard."] = nil
|
||||
ctld.i18n["fr"]["You already have vehicles onboard."] = nil
|
||||
ctld.i18n["fr"]["This area has no more reinforcements available!"] = nil
|
||||
ctld.i18n["fr"]["You are not in a pickup zone and no one is nearby to extract"] = nil
|
||||
ctld.i18n["fr"]["You are not in a pickup zone"] = nil
|
||||
ctld.i18n["fr"]["No one to unload"] = nil
|
||||
ctld.i18n["fr"]["Dropped troops back to base"] = nil
|
||||
ctld.i18n["fr"]["Dropped vehicles back to base"] = nil
|
||||
ctld.i18n["fr"]["You already have troops onboard."] = nil
|
||||
ctld.i18n["fr"]["You already have vehicles onboard."] = nil
|
||||
ctld.i18n["fr"]["Sorry - The group of %1 is too large to fit. \n\nLimit is %2 for %3"] = nil
|
||||
ctld.i18n["fr"]["%1 extracted troops in %2 from combat"] = nil
|
||||
ctld.i18n["fr"]["No extractable troops nearby!"] = nil
|
||||
ctld.i18n["fr"]["%1 extracted vehicles in %2 from combat"] = nil
|
||||
ctld.i18n["fr"]["No extractable vehicles nearby!"] = nil
|
||||
ctld.i18n["fr"]["%1 troops onboard (%2 kg)\n"] = nil
|
||||
ctld.i18n["fr"]["%1 vehicles onboard (%2)\n"] = nil
|
||||
ctld.i18n["fr"]["1 FOB Crate oboard (%1 kg)\n"] = nil
|
||||
ctld.i18n["fr"]["%1 crate onboard (%2 kg)\n"] = nil
|
||||
ctld.i18n["fr"]["Total weight of cargo : %1 kg\n"] = nil
|
||||
ctld.i18n["fr"]["No cargo."] = nil
|
||||
ctld.i18n["fr"]["Hovering above %1 crate. \n\nHold hover for %2 seconds! \n\nIf the countdown stops you're too far away!"] = nil
|
||||
ctld.i18n["fr"]["Loaded %1 crate!"] = nil
|
||||
ctld.i18n["fr"]["Too low to hook %1 crate.\n\nHold hover for %2 seconds"] = nil
|
||||
ctld.i18n["fr"]["Too high to hook %1 crate.\n\nHold hover for %2 seconds"] = nil
|
||||
ctld.i18n["fr"]["You must land before you can load a crate!"] = nil
|
||||
ctld.i18n["fr"]["Loaded %1 crate!"] = nil
|
||||
ctld.i18n["fr"]["No Crates within 50m to load!"] = nil
|
||||
ctld.i18n["fr"]["Maximum number of crates are on board!"] = nil
|
||||
ctld.i18n["fr"]["%1\n%2 crate - kg %3 - %4 m - %5 o'clock"] = nil
|
||||
ctld.i18n["fr"]["FOB Crate - %1 m - %2 o'clock\n"] = nil
|
||||
ctld.i18n["fr"]["No Nearby Crates"] = nil
|
||||
ctld.i18n["fr"]["Nearby Crates:\n%1"] = nil
|
||||
ctld.i18n["fr"]["Nearby FOB Crates (Not Slingloadable):\n%1"] = nil
|
||||
ctld.i18n["fr"]["FOB Positions:"] = nil
|
||||
ctld.i18n["fr"]["%1\nFOB @ %2"] = nil
|
||||
ctld.i18n["fr"]["Sorry, there are no active FOBs!"] = nil
|
||||
ctld.i18n["fr"]["You can't unpack that here! Take it to where it's needed!"] = nil
|
||||
ctld.i18n["fr"]["Sorry you must move this crate before you unpack it!"] = nil
|
||||
ctld.i18n["fr"]["%1 successfully deployed %2 to the field"] = nil
|
||||
ctld.i18n["fr"]["No friendly crates close enough to unpack, or crate too close to aircraft."] = nil
|
||||
ctld.i18n["fr"]["You can't unpack that here! Take it to where it's needed!"] = nil
|
||||
ctld.i18n["fr"]["Finished building FOB! Crates and Troops can now be picked up."] = nil
|
||||
ctld.i18n["fr"]["Finished building FOB! Crates can now be picked up."] = nil
|
||||
ctld.i18n["fr"]["%1 started building FOB using %2 FOB crates, it will be finished in %3 seconds.\nPosition marked with smoke."] = nil
|
||||
ctld.i18n["fr"]["Cannot build FOB!\n\nIt requires %1 Large FOB crates ( 3 small FOB crates equal 1 large FOB Crate) and there are the equivalent of %2 large FOB crates nearby\n\nOr the crates are not within 750m of each other"] = nil
|
||||
ctld.i18n["fr"]["You are not currently transporting any crates. \n\nTo Pickup a crate, hover for %1 seconds above the crate or land and use F10 Crate Commands."] = nil
|
||||
ctld.i18n["fr"]["You are not currently transporting any crates. \n\nTo Pickup a crate, hover for %1 seconds above the crate."] = nil
|
||||
ctld.i18n["fr"]["You are not currently transporting any crates. \n\nTo Pickup a crate, land and use F10 Crate Commands to load one."] = nil
|
||||
ctld.i18n["fr"]["%1 crate has been safely unhooked and is at your %2 o'clock"] = nil
|
||||
ctld.i18n["fr"]["%1 crate has been safely dropped below you"] = nil
|
||||
ctld.i18n["fr"]["You were too high! The crate has been destroyed"] = nil
|
||||
ctld.i18n["fr"]["Radio Beacons:\n%1"] = nil
|
||||
ctld.i18n["fr"]["No Active Radio Beacons"] = nil
|
||||
ctld.i18n["fr"]["%1 deployed a Radio Beacon.\n\n%2"] = nil
|
||||
ctld.i18n["fr"]["You need to land before you can deploy a Radio Beacon!"] = nil
|
||||
ctld.i18n["fr"]["%1 removed a Radio Beacon.\n\n%2"] = nil
|
||||
ctld.i18n["fr"]["No Radio Beacons within 500m."] = nil
|
||||
ctld.i18n["fr"]["You need to land before remove a Radio Beacon"] = nil
|
||||
ctld.i18n["fr"]["%1 successfully rearmed a full %2 in the field"] = nil
|
||||
ctld.i18n["fr"]["Missing %1\n"] = nil
|
||||
ctld.i18n["fr"]["Out of parts for AA Systems. Current limit is %1\n"] = nil
|
||||
ctld.i18n["fr"]["Cannot build %1\n%2\n\nOr the crates are not close enough together"] = nil
|
||||
ctld.i18n["fr"]["%1 successfully deployed a full %2 in the field. \n\nAA Active System limit is: %3\nActive: %4"] = nil
|
||||
ctld.i18n["fr"]["%1 successfully repaired a full %2 in the field."] = nil
|
||||
ctld.i18n["fr"]["Cannot repair %1. No damaged %2 within 300m"] = nil
|
||||
ctld.i18n["fr"]["%1 successfully deployed %2 to the field using %3 crates."] = nil
|
||||
ctld.i18n["fr"]["Cannot build %1!\n\nIt requires %2 crates and there are %3 \n\nOr the crates are not within 300m of each other"] = nil
|
||||
ctld.i18n["fr"]["%1 dropped %2 smoke."] = nil
|
||||
ctld.i18n["fr"]["You are not close enough to friendly logistics to get a crate!"] = "Vous n'êtes pas assez proche de la logistique alliée pour obtenir une caisse !"
|
||||
ctld.i18n["fr"]["No more JTAC Crates Left!"] = "Plus de caisses JTAC disponibles !"
|
||||
ctld.i18n["fr"]["Sorry you must wait %1 seconds before you can get another crate"] = "Désolé, vous devez attendre %1 secondes avant de pouvoir obtenir une autre caisse"
|
||||
ctld.i18n["fr"]["A %1 crate weighing %2 kg has been brought out and is at your %3 o'clock "] = "Une caisse %1 pesant %2 kg a été apportée et se trouve à votre %3 heure"
|
||||
ctld.i18n["fr"]["%1 fast-ropped troops from %2 into combat"] = "%1 a largué rapidement des troupes de %2 au combat"
|
||||
ctld.i18n["fr"]["%1 dropped troops from %2 into combat"] = "%1 a largué des troupes de %2 au combat"
|
||||
ctld.i18n["fr"]["%1 fast-ropped troops from %2 into %3"] = "%1 a largué rapidement des troupes de %2 à %3"
|
||||
ctld.i18n["fr"]["%1 dropped troops from %2 into %3"] = "%1 a largué des troupes de %2 à %3"
|
||||
ctld.i18n["fr"]["Too high or too fast to drop troops into combat! Hover below %1 feet or land."] = "Trop haut ou trop rapide pour larguer des troupes au combat ! Survolez en dessous de %1 pieds ou atterrissez."
|
||||
ctld.i18n["fr"]["%1 dropped vehicles from %2 into combat"] = "%1 a largué des véhicules de %2 au combat"
|
||||
ctld.i18n["fr"]["%1 loaded troops into %2"] = "%1 a chargé des troupes dans %2"
|
||||
ctld.i18n["fr"]["%1 loaded %2 vehicles into %3"] = "%1 a chargé %2 véhicules dans %3"
|
||||
ctld.i18n["fr"]["%1 delivered a FOB Crate"] = "%1 a livré une caisse FOB"
|
||||
ctld.i18n["fr"]["Delivered FOB Crate 60m at 6'oclock to you"] = "Caisse FOB livrée à 60 m à 6 heures de vous"
|
||||
ctld.i18n["fr"]["FOB Crate dropped back to base"] = "Caisse FOB ramenée à la base"
|
||||
ctld.i18n["fr"]["FOB Crate Loaded"] = "Caisse FOB chargée"
|
||||
ctld.i18n["fr"]["%1 loaded a FOB Crate ready for delivery!"] = "%1 a chargé une caisse FOB prête à être livrée !"
|
||||
ctld.i18n["fr"]["There are no friendly logistic units nearby to load a FOB crate from!"] = "Il n'y a pas d'unités logistiques alliée à proximité pour charger une caisse FOB !"
|
||||
ctld.i18n["fr"]["You already have troops onboard."] = "Vous avez déjà des troupes à bord."
|
||||
ctld.i18n["fr"]["You already have vehicles onboard."] = "Vous avez déjà des véhicules à bord."
|
||||
ctld.i18n["fr"]["This area has no more reinforcements available!"] = "Cette zone n'a plus de renforts disponibles !"
|
||||
ctld.i18n["fr"]["You are not in a pickup zone and no one is nearby to extract"] = "Vous n'êtes pas dans une zone d'embarquement et personne n'est à proximité pour être extrait."
|
||||
ctld.i18n["fr"]["You are not in a pickup zone"] = "Vous n'êtes pas dans une zone d'embarquement"
|
||||
ctld.i18n["fr"]["No one to unload"] = "Personne à débarquer"
|
||||
ctld.i18n["fr"]["Dropped troops back to base"] = "Troupes larguées à la base"
|
||||
ctld.i18n["fr"]["Dropped vehicles back to base"] = "Véhicules largués à la base"
|
||||
ctld.i18n["fr"]["You already have troops onboard."] = "Vous avez déjà des troupes à bord."
|
||||
ctld.i18n["fr"]["You already have vehicles onboard."] = "Vous avez déjà des véhicules à bord."
|
||||
ctld.i18n["fr"]["Sorry - The group of %1 is too large to fit. \n\nLimit is %2 for %3"] = "Désolé - Le groupe de %1 est trop important. \n\nLa limite est de %2 pour %3"
|
||||
ctld.i18n["fr"]["%1 extracted troops in %2 from combat"] = "%1 troupes extraites du combat en %2"
|
||||
ctld.i18n["fr"]["No extractable troops nearby!"] = "Aucune troupe extractible à proximité !"
|
||||
ctld.i18n["fr"]["%1 extracted vehicles in %2 from combat"] = "%1 véhicules extraits du combat en %2"
|
||||
ctld.i18n["fr"]["No extractable vehicles nearby!"] = "Aucun véhicule extractible à proximité !"
|
||||
ctld.i18n["fr"]["%1 troops onboard (%2 kg)\n"] = "%1 troupes à bord (%2 kg)\n"
|
||||
ctld.i18n["fr"]["%1 vehicles onboard (%2)\n"] = "%1 véhicules à bord (%2)\n"
|
||||
ctld.i18n["fr"]["1 FOB Crate oboard (%1 kg)\n"] = "1 caisse FOB à bord (%1 kg)\n"
|
||||
ctld.i18n["fr"]["%1 crate onboard (%2 kg)\n"] = "%1 caisse à bord (%2 kg)\n"
|
||||
ctld.i18n["fr"]["Total weight of cargo : %1 kg\n"] = "Poids total de la cargaison : %1 kg\n"
|
||||
ctld.i18n["fr"]["No cargo."] = "Aucune cargaison."
|
||||
ctld.i18n["fr"]["Hovering above %1 crate. \n\nHold hover for %2 seconds! \n\nIf the countdown stops you're too far away!"] = "Stationaire au-dessus de la caisse %1. \n\nMaintenez le stationaire pendant %2 secondes ! \n\nSi le compte à rebours s'arrête, vous êtes trop loin !"
|
||||
ctld.i18n["fr"]["Loaded %1 crate!"] = "Caisse %1 chargée !"
|
||||
ctld.i18n["fr"]["Too low to hook %1 crate.\n\nHold hover for %2 seconds"] = "Trop bas pour accrocher la caisse %1.\n\nMaintenez le stationaire pendant %2 secondes"
|
||||
ctld.i18n["fr"]["Too high to hook %1 crate.\n\nHold hover for %2 seconds"] = "Trop haut pour accrocher la caisse %1.\n\nMaintenez le stationaire pendant %2 secondes"
|
||||
ctld.i18n["fr"]["You must land before you can load a crate!"] = "Vous devez atterrir avant de pouvoir charger une caisse !"
|
||||
ctld.i18n["fr"]["No Crates within 50m to load!"] = "Aucune caisse à moins de 50 m pour charger !"
|
||||
ctld.i18n["fr"]["Maximum number of crates are on board!"] = "Nombre maximal de caisses à bord !"
|
||||
ctld.i18n["fr"]["%1\n%2 crate - kg %3 - %4 m - %5 o'clock"] = "%1\n%2 caisse - kg %3 - %4 m - %5 heures"
|
||||
ctld.i18n["fr"]["FOB Crate - %1 m - %2 o'clock\n"] = "Caisse FOB - %1 m - %2 heures\n"
|
||||
ctld.i18n["fr"]["No Nearby Crates"] = "Aucune caisse à proximité"
|
||||
ctld.i18n["fr"]["Nearby Crates:\n%1"] = "Caisses à proximité :\n%1"
|
||||
ctld.i18n["fr"]["Nearby FOB Crates (Not Slingloadable):\n%1"] = "Caisses FOB à proximité (non chargeables par élingue) :\n%1"
|
||||
ctld.i18n["fr"]["FOB Positions:"] = "Positions FOB :"
|
||||
ctld.i18n["fr"]["%1\nFOB @ %2"] = "%1\nFOB @ %2"
|
||||
ctld.i18n["fr"]["Sorry, there are no active FOBs!"] = "Désolé, il n'y a pas de FOB actif !"
|
||||
ctld.i18n["fr"]["You can't unpack that here! Take it to where it's needed!"] = "Vous ne pouvez déballer ça ici ! Emmenez-le là où vous en avez besoin !"
|
||||
ctld.i18n["fr"]["Sorry you must move this crate before you unpack it!"] = "Désolé, vous devez déplacer cette caisse avant de la déballer !"
|
||||
ctld.i18n["fr"]["%1 successfully deployed %2 to the field"] = "%1 a déployé avec succès %2 sur le terrain."
|
||||
ctld.i18n["fr"]["No friendly crates close enough to unpack, or crate too close to aircraft."] = "Aucune caisse alliée n'est suffisamment proche pour être déballée, ou la caisse est trop proche d'un avion."
|
||||
ctld.i18n["fr"]["Finished building FOB! Crates and Troops can now be picked up."] = "Construction du FOB terminée ! Les caisses et les troupes peuvent maintenant embarqués."
|
||||
ctld.i18n["fr"]["Finished building FOB! Crates can now be picked up."] = "Construction du FOB terminée ! Les caisses peuvent maintenant être embarqués."
|
||||
ctld.i18n["fr"]["%1 started building FOB using %2 FOB crates, it will be finished in %3 seconds.\nPosition marked with smoke."] = "%1 a commencé à construire le FOB en utilisant %2 caisses FOB, il sera terminé dans %3 secondes.\nPosition marquée par le fumigène."
|
||||
ctld.i18n["fr"]["Cannot build FOB!\n\nIt requires %1 Large FOB crates ( 3 small FOB crates equal 1 large FOB Crate) and there are the equivalent of %2 large FOB crates nearby\n\nOr the crates are not within 750m of each other"] = "Impossible de construire le FOB !\n\nIl nécessite %1 grandes caisses FOB (3 petites caisses FOB équivalent à 1 grande caisse FOB) et il y a l'équivalent de %2 grandes caisses FOB à proximité\n\nOu les caisses ne sont pas à moins de 750 m les unes des autres autre"
|
||||
ctld.i18n["fr"]["You are not currently transporting any crates. \n\nTo Pickup a crate, hover for %1 seconds above the crate or land and use F10 Crate Commands."] = "Vous ne transportez actuellement aucune caisse. \n\nPour charger une caisse, survolez la caisse pendant %1 secondes ou atterrissez et utilisez les commandes de caisse F10."
|
||||
ctld.i18n["fr"]["You are not currently transporting any crates. \n\nTo Pickup a crate, hover for %1 seconds above the crate."] = "Vous ne transportez actuellement aucune caisse. \n\nPour ramasser une caisse, survolez la caisse pendant %1 secondes."
|
||||
ctld.i18n["fr"]["You are not currently transporting any crates. \n\nTo Pickup a crate, land and use F10 Crate Commands to load one."] = "Vous ne transportez actuellement aucune caisse. \n\nPour charger une caisse, atterrissez et utilisez les commandes de caisse F10."
|
||||
ctld.i18n["fr"]["%1 crate has been safely unhooked and is at your %2 o'clock"] = "%1 caisse a été décrochée en toute sécurité et se trouve à votre %2 heures"
|
||||
ctld.i18n["fr"]["%1 crate has been safely dropped below you"] = "%1 caisse a été déposée en toute sécurité sous vous"
|
||||
ctld.i18n["fr"]["You were too high! The crate has been destroyed"] = "Vous étiez trop haut! La caisse a été détruite"
|
||||
ctld.i18n["fr"]["Radio Beacons:\n%1"] = "Balises radio :\n%1"
|
||||
ctld.i18n["fr"]["No Active Radio Beacons"] = "Aucune balise radio active"
|
||||
ctld.i18n["fr"]["%1 deployed a Radio Beacon.\n\n%2"] = "%1 a déployé une balise radio.\n\n%2"
|
||||
ctld.i18n["fr"]["You need to land before you can deploy a Radio Beacon!"] = "Vous devez atterrir avant de pouvoir déployer une balise radio !"
|
||||
ctld.i18n["fr"]["%1 removed a Radio Beacon.\n\n%2"] = "%1 a supprimé une balise radio.\n\n%2"
|
||||
ctld.i18n["fr"]["No Radio Beacons within 500m."] = "Aucune balise radio à moins de 500m."
|
||||
ctld.i18n["fr"]["You need to land before remove a Radio Beacon"] = "Vous devez atterrir avant de retirer une balise radio"
|
||||
ctld.i18n["fr"]["%1 successfully rearmed a full %2 in the field"] = "%1 a réarmé avec succès un %2 complet sur le terrain"
|
||||
ctld.i18n["fr"]["Missing %1\n"] = "%1 manquant\n"
|
||||
ctld.i18n["fr"]["Out of parts for AA Systems. Current limit is %1\n"] = "Plus de pièces pour les systèmes AA. La limite actuelle est de %1\n"
|
||||
ctld.i18n["fr"]["Cannot build %1\n%2\n\nOr the crates are not close enough together"] = "Impossible de construire %1\n%2\n\nOu les caisses ne sont pas assez proches les unes des autres"
|
||||
ctld.i18n["fr"]["%1 successfully deployed a full %2 in the field. \n\nAA Active System limit is: %3\nActive: %4"] = "%1 a déployé avec succès un %2 complet sur le terrain. \n\nLa limite du système actif AA est : %3\nActif : %4"
|
||||
ctld.i18n["fr"]["%1 successfully repaired a full %2 in the field."] = "%1 a réparé avec succès un %2 complet sur le terrain."
|
||||
ctld.i18n["fr"]["Cannot repair %1. No damaged %2 within 300m"] = "Impossible de réparer %1. Aucun %2 endommagé à moins de 300 m"
|
||||
ctld.i18n["fr"]["%1 successfully deployed %2 to the field using %3 crates."] = "%1 a déployé avec succès %2 sur le terrain en utilisant %3 caisses."
|
||||
ctld.i18n["fr"]["Cannot build %1!\n\nIt requires %2 crates and there are %3 \n\nOr the crates are not within 300m of each other"] = "Impossible de construire %1 !\n\nIl faut %2 caisses et il y en a %3 \n\nOu les caisses ne sont pas à moins de 300 m les unes des autres"
|
||||
ctld.i18n["fr"]["%1 dropped %2 smoke."] = "%1 a largué un fumigène %2."
|
||||
|
||||
--- JTAC messages
|
||||
ctld.i18n["fr"]["JTAC Group %1 KIA!"] = nil
|
||||
ctld.i18n["fr"]["%1, selected target reacquired, %2"] = nil
|
||||
ctld.i18n["fr"][". CODE: %1. POSITION: %2"] = nil
|
||||
ctld.i18n["fr"]["new target, "] = nil
|
||||
ctld.i18n["fr"]["standing by on %1"] = nil
|
||||
ctld.i18n["fr"]["lasing %1"] = nil
|
||||
ctld.i18n["fr"][", temporarily %1"] = nil
|
||||
ctld.i18n["fr"]["target lost"] = nil
|
||||
ctld.i18n["fr"]["target destroyed"] = nil
|
||||
ctld.i18n["fr"][", selected %1"] = nil
|
||||
ctld.i18n["fr"]["%1 %2 target lost."] = nil
|
||||
ctld.i18n["fr"]["%1 %2 target destroyed."] = nil
|
||||
ctld.i18n["fr"]["JTAC STATUS: \n\n"] = nil
|
||||
ctld.i18n["fr"][", available on %1 %2,"] = nil
|
||||
ctld.i18n["fr"]["UNKNOWN"] = nil
|
||||
ctld.i18n["fr"][" targeting "] = nil
|
||||
ctld.i18n["fr"][" targeting selected unit "] = nil
|
||||
ctld.i18n["fr"][" attempting to find selected unit, temporarily targeting "] = nil
|
||||
ctld.i18n["fr"]["(Laser OFF) "] = nil
|
||||
ctld.i18n["fr"]["Visual On: "] = nil
|
||||
ctld.i18n["fr"][" searching for targets %1\n"] = nil
|
||||
ctld.i18n["fr"]["No Active JTACs"] = nil
|
||||
ctld.i18n["fr"][", targeting selected unit, %1"] = nil
|
||||
ctld.i18n["fr"][". CODE: %1. POSITION: %2"] = nil
|
||||
ctld.i18n["fr"][", target selection reset."] = nil
|
||||
ctld.i18n["fr"]["%1, laser and smokes enabled"] = nil
|
||||
ctld.i18n["fr"]["%1, laser and smokes disabled"] = nil
|
||||
ctld.i18n["fr"]["%1, wind and target speed laser spot compensations enabled"] = nil
|
||||
ctld.i18n["fr"]["%1, wind and target speed laser spot compensations disabled"] = nil
|
||||
ctld.i18n["fr"]["%1, WHITE smoke deployed near target"] = nil
|
||||
ctld.i18n["fr"]["JTAC Group %1 KIA!"] = "Groupe JTAC %1 KIA !"
|
||||
ctld.i18n["fr"]["%1, selected target reacquired, %2"] = "%1, cible sélectionnée réacquise, %2"
|
||||
ctld.i18n["fr"][". CODE: %1. POSITION: %2"] = ". CODE : %1. POSITION : %2"
|
||||
ctld.i18n["fr"]["new target, "] = "nouvelle cible, "
|
||||
ctld.i18n["fr"]["standing by on %1"] = "en attente sur %1"
|
||||
ctld.i18n["fr"]["lasing %1"] = "laser %1"
|
||||
ctld.i18n["fr"][", temporarily %1"] = ", temporairement %1"
|
||||
ctld.i18n["fr"]["target lost"] = "cible perdue"
|
||||
ctld.i18n["fr"]["target destroyed"] = "cible détruite"
|
||||
ctld.i18n["fr"][", selected %1"] = ", %1 sélectionné"
|
||||
ctld.i18n["fr"]["%1 %2 target lost."] = "%1 %2 cible perdue."
|
||||
ctld.i18n["fr"]["%1 %2 target destroyed."] = "%1 %2 cible détruite."
|
||||
ctld.i18n["fr"]["JTAC STATUS: \n\n"] = "ÉTAT JTAC : \n\n"
|
||||
ctld.i18n["fr"][", available on %1 %2,"] = ", disponible sur %1 %2,"
|
||||
ctld.i18n["fr"]["UNKNOWN"] = "INCONNU"
|
||||
ctld.i18n["fr"][" targeting "] = " ciblage "
|
||||
ctld.i18n["fr"][" targeting selected unit "] = " ciblage de l'unité sélectionnée "
|
||||
ctld.i18n["fr"][" attempting to find selected unit, temporarily targeting "] = " tentative de recherche de l'unité sélectionnée, ciblage temporaire "
|
||||
ctld.i18n["fr"]["(Laser OFF) "] = "(Laser INACTIF) "
|
||||
ctld.i18n["fr"]["Visual On: "] = "Visuel activé : "
|
||||
ctld.i18n["fr"][" searching for targets %1\n"] = " recherche de cibles %1\n"
|
||||
ctld.i18n["fr"]["No Active JTACs"] = "Aucun JTAC actif"
|
||||
ctld.i18n["fr"][", targeting selected unit, %1"] = ", ciblage de l'unité sélectionnée, %1"
|
||||
ctld.i18n["fr"][". CODE: %1. POSITION: %2"] = ". CODE : %1. POSITION : %2"
|
||||
ctld.i18n["fr"][", target selection reset."] = ", sélection de cible réinitialisée."
|
||||
ctld.i18n["fr"]["%1, laser and smokes enabled"] = "%1, laser et fumigènes activés"
|
||||
ctld.i18n["fr"]["%1, laser and smokes disabled"] = "%1, laser et fumigènes désactivés"
|
||||
ctld.i18n["fr"]["%1, wind and target speed laser spot compensations enabled"] = "%1, compensations activées de la vitesse du vent et de la cible pour le spot laser"
|
||||
ctld.i18n["fr"]["%1, wind and target speed laser spot compensations disabled"] = "%1, compensations désactivées de la vitesse du vent et de la cible pour le spot laser"
|
||||
ctld.i18n["fr"]["%1, WHITE smoke deployed near target"] = "%1, fumigène BLANCHE déployée près de la cible"
|
||||
|
||||
--- F10 menu messages
|
||||
ctld.i18n["fr"]["Actions"] = "Actions"
|
||||
ctld.i18n["fr"]["Troop Transport"] = "Transport troupes"
|
||||
ctld.i18n["fr"]["Unload / Extract Troops"] = "Débarqt / Embarqt Troupes"
|
||||
ctld.i18n["fr"]["Next page"] = "page suiv."
|
||||
ctld.i18n["fr"]["Load "] = "Charger "
|
||||
ctld.i18n["fr"]["Vehicle / FOB Transport"] = "Transport Vehicule / FOB"
|
||||
ctld.i18n["fr"]["Vehicle / FOB Crates"] = "Caisses Vehicule / FOB"
|
||||
ctld.i18n["fr"]["Unload Vehicles"] = "Décharger Vehicles"
|
||||
ctld.i18n["fr"]["Load / Extract Vehicles"] = "Chargt / Déchargt Vehicules"
|
||||
ctld.i18n["fr"]["Load / Unload FOB Crate"] = "Chargt / Déchargt Caisse FOB"
|
||||
ctld.i18n["fr"]["CTLD Commands"] = "Commandes CTLD"
|
||||
ctld.i18n["fr"]["CTLD"] = "CTLD"
|
||||
ctld.i18n["fr"]["Check Cargo"] = "Vérif° chargement"
|
||||
ctld.i18n["fr"]["Load Nearby Crate"] = "Charger caisse proche"
|
||||
ctld.i18n["fr"]["Unpack Any Crate"] = "Décharger caisses"
|
||||
ctld.i18n["fr"]["Drop Crate"] = "Déposer Caisse"
|
||||
ctld.i18n["fr"]["List Nearby Crates"] = "Liste caisses proches"
|
||||
ctld.i18n["fr"]["List FOBs"] = "Liste FOBs"
|
||||
ctld.i18n["fr"]["List Beacons"] = "Liste balises"
|
||||
ctld.i18n["fr"]["List Radio Beacons"] = "Liste Radio balises"
|
||||
ctld.i18n["fr"]["Smoke Markers"] = "Marques Fumées"
|
||||
ctld.i18n["fr"]["Drop Red Smoke"] = "Déposer Fumi Rouge"
|
||||
ctld.i18n["fr"]["Drop Blue Smoke"] = "Déposer Fumi Bleu"
|
||||
ctld.i18n["fr"]["Drop Orange Smoke"] = "Déposer Fumi Orange"
|
||||
ctld.i18n["fr"]["Drop Green Smoke"] = "Déposer Fumi Vert"
|
||||
ctld.i18n["fr"]["Drop Beacon"] = "Déposer Fumi Vert"
|
||||
ctld.i18n["fr"]["Radio Beacons"] = "Déposer Balise"
|
||||
ctld.i18n["fr"]["Remove Closet Beacon"] = "Supprimer Balise +proche"
|
||||
ctld.i18n["fr"]["JTAC Status"] = "Statut JTAC"
|
||||
ctld.i18n["fr"]["DISABLE "] = "DESACTIVE "
|
||||
ctld.i18n["fr"]["ENABLE "] = "ACTIVE "
|
||||
ctld.i18n["fr"]["REQUEST "] = "DEMANDE"
|
||||
ctld.i18n["fr"]["Reset TGT Selection"] = "Réinitialiser sélection TGT"
|
||||
|
||||
--====== SPANISH : ESPAÑOL====================================================================================
|
||||
ctld.i18n["es"] = {}
|
||||
|
||||
--- groups names
|
||||
ctld.i18n["es"]["Standard Group"] = "Grupo estándar"
|
||||
ctld.i18n["es"]["Anti Air"] = "Defensa aérea"
|
||||
ctld.i18n["es"]["Anti Tank"] = "Antitanque"
|
||||
ctld.i18n["es"]["Mortar Squad"] = "Grupo mortero"
|
||||
ctld.i18n["es"]["JTAC Group"] = "Grupo JTAC"
|
||||
ctld.i18n["es"]["Single JTAC"] = "JTAC solo"
|
||||
ctld.i18n["es"]["2x - Standard Groups"] = "2x - Grupos estándares"
|
||||
ctld.i18n["es"]["2x - Anti Air"] = "2x - Defensas aéreas"
|
||||
ctld.i18n["es"]["2x - Anti Tank"] = "2x - Antitanque"
|
||||
ctld.i18n["es"]["2x - Standard Groups + 2x morteros"] = "2x - Grupos estándar + 2x Grupos morteros"
|
||||
ctld.i18n["es"]["3x - Standard Groups"] = "3x - Defensas aéreas"
|
||||
ctld.i18n["es"]["3x - Anti Air"] = "3x - Defensas aéreas"
|
||||
ctld.i18n["es"]["3x - Anti Tank"] = "3x - Antitanque"
|
||||
ctld.i18n["es"]["3x - Mortar Squad"] = "3x - Grupos de morteros"
|
||||
ctld.i18n["es"]["5x - Mortar Squad"] = "5x - Grupos de morteros"
|
||||
ctld.i18n["es"]["Mortar Squad Red"] = "Grupo mortero rojo"
|
||||
|
||||
--- crates names
|
||||
ctld.i18n["es"]["Humvee - MG"] = nil
|
||||
ctld.i18n["es"]["Humvee - TOW"] = nil
|
||||
ctld.i18n["es"]["Light Tank - MRAP"] = nil
|
||||
ctld.i18n["es"]["Med Tank - LAV-25"] = nil
|
||||
ctld.i18n["es"]["Heavy Tank - Abrams"] = nil
|
||||
ctld.i18n["es"]["BTR-D"] = nil
|
||||
ctld.i18n["es"]["BRDM-2"] = nil
|
||||
ctld.i18n["es"]["Hummer - JTAC"] = nil
|
||||
ctld.i18n["es"]["M-818 Ammo Truck"] = nil
|
||||
ctld.i18n["es"]["M-978 Tanker"] = nil
|
||||
ctld.i18n["es"]["SKP-11 - JTAC"] = nil
|
||||
ctld.i18n["es"]["Ural-375 Ammo Truck"] = nil
|
||||
ctld.i18n["es"]["KAMAZ Ammo Truck"] = nil
|
||||
ctld.i18n["es"]["EWR Radar"] = nil
|
||||
ctld.i18n["es"]["FOB Crate - Small"] = nil
|
||||
ctld.i18n["es"]["MLRS"] = nil
|
||||
ctld.i18n["es"]["SpGH DANA"] = nil
|
||||
ctld.i18n["es"]["T155 Firtina"] = nil
|
||||
ctld.i18n["es"]["Howitzer"] = nil
|
||||
ctld.i18n["es"]["SPH 2S19 Msta"] = nil
|
||||
ctld.i18n["es"]["M1097 Avenger"] = nil
|
||||
ctld.i18n["es"]["M48 Chaparral"] = nil
|
||||
ctld.i18n["es"]["Roland ADS"] = nil
|
||||
ctld.i18n["es"]["Gepard AAA"] = nil
|
||||
ctld.i18n["es"]["LPWS C-RAM"] = nil
|
||||
ctld.i18n["es"]["9K33 Osa"] = nil
|
||||
ctld.i18n["es"]["9P31 Strela-1"] = nil
|
||||
ctld.i18n["es"]["9K35M Strela-10"] = nil
|
||||
ctld.i18n["es"]["9K331 Tor"] = nil
|
||||
ctld.i18n["es"]["2K22 Tunguska"] = nil
|
||||
ctld.i18n["es"]["HAWK Launcher"] = nil
|
||||
ctld.i18n["es"]["HAWK Search Radar"] = nil
|
||||
ctld.i18n["es"]["HAWK Track Radar"] = nil
|
||||
ctld.i18n["es"]["HAWK PCP"] = nil
|
||||
ctld.i18n["es"]["HAWK CWAR"] = nil
|
||||
ctld.i18n["es"]["HAWK Repair"] = nil
|
||||
ctld.i18n["es"]["NASAMS Launcher 120C"] = nil
|
||||
ctld.i18n["es"]["NASAMS Search/Track Radar"] = nil
|
||||
ctld.i18n["es"]["NASAMS Command Post"] = nil
|
||||
ctld.i18n["es"]["NASAMS Repair"] = nil
|
||||
ctld.i18n["es"]["KUB Launcher"] = nil
|
||||
ctld.i18n["es"]["KUB Radar"] = nil
|
||||
ctld.i18n["es"]["KUB Repair"] = nil
|
||||
ctld.i18n["es"]["BUK Launcher"] = nil
|
||||
ctld.i18n["es"]["BUK Search Radar"] = nil
|
||||
ctld.i18n["es"]["BUK CC Radar"] = nil
|
||||
ctld.i18n["es"]["BUK Repair"] = nil
|
||||
ctld.i18n["es"]["Patriot Launcher"] = nil
|
||||
ctld.i18n["es"]["Patriot Radar"] = nil
|
||||
ctld.i18n["es"]["Patriot ECS"] = nil
|
||||
ctld.i18n["es"]["Patriot ICC"] = nil
|
||||
ctld.i18n["es"]["Patriot EPP"] = nil
|
||||
ctld.i18n["es"]["Patriot AMG (optional)"] = nil
|
||||
ctld.i18n["es"]["Patriot Repair"] = nil
|
||||
ctld.i18n["es"]["S-300 Grumble TEL C"] = nil
|
||||
ctld.i18n["es"]["S-300 Grumble Flap Lid-A TR"] = nil
|
||||
ctld.i18n["es"]["S-300 Grumble Clam Shell SR"] = nil
|
||||
ctld.i18n["es"]["S-300 Grumble Big Bird SR"] = nil
|
||||
ctld.i18n["es"]["S-300 Grumble C2"] = nil
|
||||
ctld.i18n["es"]["S-300 Repair"] = nil
|
||||
|
||||
--- mission design error messages
|
||||
ctld.i18n["es"]["CTLD.lua ERROR: Can't find trigger called %1"] = "CTLD.lua ERROR : Imposible encontrar el activador llamado %1"
|
||||
ctld.i18n["es"]["CTLD.lua ERROR: Can't find zone called %1"] = "CTLD.lua ERROR : Imposible encontrar la zona llamada %1"
|
||||
ctld.i18n["es"]["CTLD.lua ERROR: Can't find zone or ship called %1"] = "CTLD.lua ERROR : Imposible encontrar la zona o el barco llamado %1"
|
||||
ctld.i18n["es"]["CTLD.lua ERROR: Can't find crate with weight %1"] = "CTLD.lua ERROR : Imposible encontrar una caja con un peso de %1"
|
||||
|
||||
--- runtime messages
|
||||
ctld.i18n["es"]["You are not close enough to friendly logistics to get a crate!"] = "¡No estás lo suficientemente cerca de la logística amigable para conseguir una caja!"
|
||||
ctld.i18n["es"]["No more JTAC Crates Left!"] = "¡No hay más cajas JTAC disponibles!"
|
||||
ctld.i18n["es"]["Sorry you must wait %1 seconds before you can get another crate"] = "Lo sentimos, debes esperar %1 segundos antes de poder conseguir otra caja"
|
||||
ctld.i18n["es"]["A %1 crate weighing %2 kg has been brought out and is at your %3 o'clock "] = "Una caja %1 que pesa %2 kg ha sido sacada y está a tus %3 en punto "
|
||||
ctld.i18n["es"]["%1 fast-ropped troops from %2 into combat"] = "%1 lanzó rápidamente tropas de %2 al combate"
|
||||
ctld.i18n["es"]["%1 dropped troops from %2 into combat"] = "%1 arrojó tropas de %2 al combate"
|
||||
ctld.i18n["es"]["%1 fast-ropped troops from %2 into %3"] = "%1 lanzó tropas rápidamente de %2 a %3"
|
||||
ctld.i18n["es"]["%1 dropped troops from %2 into %3"] = "%1 arrojó tropas de %2 a %3"
|
||||
ctld.i18n["es"]["Too high or too fast to drop troops into combat! Hover below %1 feet or land."] = "¡Demasiado alto o demasiado rápido para lanzar tropas al combate! Coloca el cursor por debajo de % 1 pies o aterriza."
|
||||
ctld.i18n["es"]["%1 dropped vehicles from %2 into combat"] = "%1 descargo vehículos de %2 en combate"
|
||||
ctld.i18n["es"]["%1 loaded troops into %2"] = "%1 cargó tropas en %2"
|
||||
ctld.i18n["es"]["%1 loaded %2 vehicles into %3"] = "%1 cargó %2 vehículos en %3"
|
||||
ctld.i18n["es"]["%1 delivered a FOB Crate"] = "%1 entregó una caja FOB"
|
||||
ctld.i18n["es"]["Delivered FOB Crate 60m at 6'oclock to you"] = "Se le entregó la caja FOB de 60 m a sus 6 horas"
|
||||
ctld.i18n["es"]["FOB Crate dropped back to base"] = "La caja FOB volvió a la base"
|
||||
ctld.i18n["es"]["FOB Crate Loaded"] = "Caja FOB cargada"
|
||||
ctld.i18n["es"]["%1 loaded a FOB Crate ready for delivery!"] = "%1 cargó una caja FOB lista para su entrega!"
|
||||
ctld.i18n["es"]["There are no friendly logistic units nearby to load a FOB crate from!"] = "¡No hay unidades logísticas amigas cerca para cargar una caja FOB!"
|
||||
ctld.i18n["es"]["You already have troops onboard."] = "Ya tienes tropas a bordo."
|
||||
ctld.i18n["es"]["You already have vehicles onboard."] = "Ya tiene vehículos a bordo."
|
||||
ctld.i18n["es"]["This area has no more reinforcements available!"] = "¡Esta área no tiene más refuerzos disponibles!"
|
||||
ctld.i18n["es"]["You are not in a pickup zone and no one is nearby to extract"] = "No estás en una zona de recogida y no hay nadie cerca para extraerlo"
|
||||
ctld.i18n["es"]["You are not in a pickup zone"] = "No estás en una zona de recogida"
|
||||
ctld.i18n["es"]["No one to unload"] = "Nadie para descargar"
|
||||
ctld.i18n["es"]["Dropped troops back to base"] = "Tropas arrojadas a la base"
|
||||
ctld.i18n["es"]["Dropped vehicles back to base"] = "Vehículos arrojados a la base"
|
||||
ctld.i18n["es"]["You already have troops onboard."] = "Ya tienes tropas a bordo."
|
||||
ctld.i18n["es"]["You already have vehicles onboard."] = "Ya tiene vehículos a bordo."
|
||||
ctld.i18n["es"]["Sorry - The group of %1 is too large to fit. \n\nLimit is %2 for %3"] = "Lo sentimos, el grupo de %1 es demasiado grande. \n \nEl límite es %2 para %3"
|
||||
ctld.i18n["es"]["%1 extracted troops in %2 from combat"] = "%1 tropas extraídas del combate en %2"
|
||||
ctld.i18n["es"]["No extractable troops nearby!"] = "¡No hay tropas extraíbles cerca!"
|
||||
ctld.i18n["es"]["%1 extracted vehicles in %2 from combat"] = "%1 vehículos extraídos del combate en %2"
|
||||
ctld.i18n["es"]["No extractable vehicles nearby!"] = "¡No hay vehículos extraíbles cerca!"
|
||||
ctld.i18n["es"]["%1 troops onboard (%2 kg)\n"] = "%1 tropas a bordo (%2 kg)\n"
|
||||
ctld.i18n["es"]["%1 vehicles onboard (%2)\n"] = "%1 vehículos a bordo (%2)\n"
|
||||
ctld.i18n["es"]["1 FOB Crate oboard (%1 kg)\n"] = "1 caja FOB a bordo (%1 kg)\n"
|
||||
ctld.i18n["es"]["%1 crate onboard (%2 kg)\n"] = "%1 caja a bordo (%2 kg)\n"
|
||||
ctld.i18n["es"]["Total weight of cargo : %1 kg\n"] = "Peso total de la carga: %1 kg\n"
|
||||
ctld.i18n["es"]["No cargo."] = "Aucune cargaison."
|
||||
ctld.i18n["es"]["Hovering above %1 crate. \n\nHold hover for %2 seconds! \n\nIf the countdown stops you're too far away!"] = "Stationaire au-dessus de la caisse %1. \n\nMaintenez le stationaire pendant %2 secondes ! \n\nSi le compte à rebours s'arrête, vous êtes trop loin !"
|
||||
ctld.i18n["es"]["Loaded %1 crate!"] = "Caisse %1 chargée !"
|
||||
ctld.i18n["es"]["Too low to hook %1 crate.\n\nHold hover for %2 seconds"] = "Trop bas pour accrocher la caisse %1.\n\nMaintenez le stationaire pendant %2 secondes"
|
||||
ctld.i18n["es"]["Too high to hook %1 crate.\n\nHold hover for %2 seconds"] = "Trop haut pour accrocher la caisse %1.\n\nMaintenez le stationaire pendant %2 secondes"
|
||||
ctld.i18n["es"]["You must land before you can load a crate!"] = "Vous devez atterrir avant de pouvoir charger une caisse !"
|
||||
ctld.i18n["es"]["No Crates within 50m to load!"] = "Aucune caisse à moins de 50 m pour charger !"
|
||||
ctld.i18n["es"]["Maximum number of crates are on board!"] = "Nombre maximal de caisses à bord !"
|
||||
ctld.i18n["es"]["%1\n%2 crate - kg %3 - %4 m - %5 o'clock"] = "%1\n%2 caisse - kg %3 - %4 m - %5 heures"
|
||||
ctld.i18n["es"]["FOB Crate - %1 m - %2 o'clock\n"] = "Caisse FOB - %1 m - %2 heures\n"
|
||||
ctld.i18n["es"]["No Nearby Crates"] = "Aucune caisse à proximité"
|
||||
ctld.i18n["es"]["Nearby Crates:\n%1"] = "Caisses à proximité :\n%1"
|
||||
ctld.i18n["es"]["Nearby FOB Crates (Not Slingloadable):\n%1"] = "Caisses FOB à proximité (non chargeables par élingue) :\n%1"
|
||||
ctld.i18n["es"]["FOB Positions:"] = "Positions FOB :"
|
||||
ctld.i18n["es"]["%1\nFOB @ %2"] = "%1\nFOB @ %2"
|
||||
ctld.i18n["es"]["Sorry, there are no active FOBs!"] = "Désolé, il n'y a pas de FOB actif !"
|
||||
ctld.i18n["es"]["No cargo."] = "Sin carga."
|
||||
ctld.i18n["es"]["Hovering above %1 crate. \n\nHold hover for %2 seconds! \n\nIf the countdown stops you're too far away!"] = "Estacionario sobre la caja %1 \n\n¡Mantenlo flotando durante %2 segundos! \n\n¡Si la cuenta regresiva se detiene, estás demasiado lejos!"
|
||||
ctld.i18n["es"]["Loaded %1 crate!"] = "¡Caja %1 cargada!"
|
||||
ctld.i18n["es"]["Too low to hook %1 crate.\n\nHold hover for %2 seconds"] = "Demasiado bajo para enganchar la caja %1.\n\nMantén el estacionario durante %2 segundos"
|
||||
ctld.i18n["es"]["Too high to hook %1 crate.\n\nHold hover for %2 seconds"] = "Demasiado alto para enganchar la caja %1.\n\nMantén el estacionario durante %2 segundos"
|
||||
ctld.i18n["es"]["You must land before you can load a crate!"] = "¡Debes aterrizar antes de poder cargar una caja!"
|
||||
ctld.i18n["es"]["No Crates within 50m to load!"] = "¡No hay cajas para cargar en un radio de 50 m!"
|
||||
ctld.i18n["es"]["Maximum number of crates are on board!"] = "¡Número máximo de cajas a bordo!"
|
||||
ctld.i18n["es"]["%1\n%2 crate - kg %3 - %4 m - %5 o'clock"] = "%1\n%2 caja - kg %3 - %4 m - %5 horas"
|
||||
ctld.i18n["es"]["FOB Crate - %1 m - %2 o'clock\n"] = "Caja FOB - %1 m - %2 horas\n"
|
||||
ctld.i18n["es"]["No Nearby Crates"] = "No hay cajas cerca"
|
||||
ctld.i18n["es"]["Nearby Crates:\n%1"] = "Cajas cercanas:\n%1"
|
||||
ctld.i18n["es"]["Nearby FOB Crates (Not Slingloadable):\n%1"] = "Cajas FOB cercanas (no se pueden cargar con eslinga):\n%1"
|
||||
ctld.i18n["es"]["FOB Positions:"] = "Posiciones FOB:"
|
||||
ctld.i18n["es"]["%1\nFOB @ %2"] = "%1\nFOB @ %2"
|
||||
ctld.i18n["es"]["Sorry, there are no active FOBs!"] = "¡Lo sentimos, no hay FOB activos!"
|
||||
ctld.i18n["es"]["You can't unpack that here! Take it to where it's needed!"] = "¡No puedes desembalar eso aquí! ¡Llévalo a donde lo necesites!"
|
||||
ctld.i18n["es"]["Sorry you must move this crate before you unpack it!"] = "¡Lo siento, debes mover esta caja antes de desempacarla!"
|
||||
ctld.i18n["es"]["%1 successfully deployed %2 to the field"] = "%1 implementó exitosamente %2 en el campo."
|
||||
ctld.i18n["es"]["No friendly crates close enough to unpack, or crate too close to aircraft."] = "No hay cajas amigas lo suficientemente cerca para desempacar, o la caja está demasiado cerca de un avión"
|
||||
ctld.i18n["es"]["Finished building FOB! Crates and Troops can now be picked up."] = "¡Construcción FOB completada! Ahora se pueden recoger cajas y tropas"
|
||||
ctld.i18n["es"]["Finished building FOB! Crates can now be picked up."] ="¡Construcción FOB completada! Las cajas ahora se pueden recoger."
|
||||
ctld.i18n["es"]["%1 started building FOB using %2 FOB crates, it will be finished in %3 seconds.\nPosition marked with smoke."] = "%1 comenzó a construir FOB usando %2 cajas FOB , estará terminado en %3 segundos.\nPosición marcada por la bomba de humo."
|
||||
ctld.i18n["es"]["Cannot build FOB!\n\nIt requires %1 Large FOB crates ( 3 small FOB crates equal 1 large FOB Crate) and there are the equivalent of %2 large FOB crates nearby\n\nOr the crates are not within 750m of each other"] = "¡No se puede construir el FOB!\n\nSe requiere %1 cajas FOB grandes (3 cajas FOB pequeñas equivalente a 1 caja FOB grande) y hay el equivalente a %2 cajas FOB grandes cerca\n\nO las cajas no están a menos de 750 m una de otra"
|
||||
ctld.i18n["es"]["You are not currently transporting any crates. \n\nTo Pickup a crate, hover for %1 seconds above the crate or land and use F10 Crate Commands."] = "Actualmente no estás transportando ninguna caja.\n\nPara cargar una caja, flota sobre la caja durante %1 segundos o aterrice y use los comandos de caja F10."
|
||||
ctld.i18n["es"]["You are not currently transporting any crates. \n\nTo Pickup a crate, hover for %1 seconds above the crate."] = "Actualmente no estás transportando ninguna caja. \n\nPour recoge una caja, flota sobre la caja durante %1 segundos."
|
||||
ctld.i18n["es"]["You are not currently transporting any crates. \n\nTo Pickup a crate, land and use F10 Crate Commands to load one."] = "Actualmente no estás transportando ninguna caja. \n\nPara cargar una caja, aterriza y usa los controles de la caja F10."
|
||||
ctld.i18n["es"]["%1 crate has been safely unhooked and is at your %2 o'clock"] = "%1 caja ha sido desenganchada de forma segura y está en tu %2 horas"
|
||||
ctld.i18n["es"]["%1 crate has been safely dropped below you"] = "%1 caja se ha dejado caer de forma segura debajo de ti"
|
||||
ctld.i18n["es"]["You were too high! The crate has been destroyed"] = "¡Estabas demasiado drogado! La caja ha sido destruida"
|
||||
ctld.i18n["es"]["Radio Beacons:\n%1"] = "Balizas de radio:\n%1"
|
||||
ctld.i18n["es"]["No Active Radio Beacons"] = "No hay radiobalizas activas"
|
||||
ctld.i18n["es"]["%1 deployed a Radio Beacon.\n\n%2"] = "%1 implementó una radiobaliza.\n\n%2"
|
||||
ctld.i18n["es"]["You need to land before you can deploy a Radio Beacon!"] = "¡Debes aterrizar antes de poder desplegar una radiobaliza!"
|
||||
ctld.i18n["es"]["%1 removed a Radio Beacon.\n\n%2"] = "%1 eliminó una radiobaliza.\n\n%2"
|
||||
ctld.i18n["es"]["No Radio Beacons within 500m."] = "No hay radiobalizas a menos de 500 m."
|
||||
ctld.i18n["es"]["You need to land before remove a Radio Beacon"] = "Es necesario aterrizar antes de eliminar una radiobaliza"
|
||||
ctld.i18n["es"]["%1 successfully rearmed a full %2 in the field"] = "%1 rearmó exitosamente un %2 completo en el campo"
|
||||
ctld.i18n["es"]["Missing %1\n"] = "%1 falta\n"
|
||||
ctld.i18n["es"]["Out of parts for AA Systems. Current limit is %1\n"] = "Sin piezas para sistemas AA. El límite actual es %1\n"
|
||||
ctld.i18n["es"]["Cannot build %1\n%2\n\nOr the crates are not close enough together"] = "Imposible construir %1\n%2\n\nO las cajas no están lo suficientemente cerca el uno del otro."
|
||||
ctld.i18n["es"]["%1 successfully deployed a full %2 in the field. \n\nAA Active System limit is: %3\nActive: %4"] = "%1 implementó exitosamente un % 2 completo en el campo \n\nEl límite AA del sistema activo es: %3\nActivo: %4"
|
||||
ctld.i18n["es"]["%1 successfully repaired a full %2 in the field."] = "%1 reparó exitosamente un %2 completo en el campo."
|
||||
ctld.i18n["es"]["Cannot repair %1. No damaged %2 within 300m"] = "Imposible de reparar %1. No hay daños en %2 dentro de 300 m"
|
||||
ctld.i18n["es"]["%1 successfully deployed %2 to the field using %3 crates."] = "%1 implementó exitosamente %2 en el campo usando %3 cajas."
|
||||
ctld.i18n["es"]["Cannot build %1!\n\nIt requires %2 crates and there are %3 \n\nOr the crates are not within 300m of each other"] = "Imposible construir %1 !\n\nNecesitamos %2 cajas y hay %3 \n\nO las cajas están a no menos de 300 m una de otra"
|
||||
ctld.i18n["es"]["%1 dropped %2 smoke."] = "%1 arrojó un %2 humo."
|
||||
|
||||
--- JTAC messages
|
||||
ctld.i18n["es"]["JTAC Group %1 KIA!"] = "¡Grupo JTAC %1 KIA!"
|
||||
ctld.i18n["es"]["%1, selected target reacquired, %2"] = "%1, objetivo seleccionado readquirido, %2"
|
||||
ctld.i18n["es"][". CODE: %1. POSITION: %2"] = ". CÓDIGO: %1. POSICIÓN: %2"
|
||||
ctld.i18n["es"]["new target, "] = "nuevo objetivo, "
|
||||
ctld.i18n["es"]["standing by on %1"] = "en espera en %1"
|
||||
ctld.i18n["es"]["lasing %1"] = "láser %1"
|
||||
ctld.i18n["es"][", temporarily %1"] = ", temporalmente %1"
|
||||
ctld.i18n["es"]["target lost"] = "objetivo perdido"
|
||||
ctld.i18n["es"]["target destroyed"] = "objetivo destruido"
|
||||
ctld.i18n["es"][", selected %1"] = ", %1 seleccionado"
|
||||
ctld.i18n["es"]["%1 %2 target lost."] = "%1 %2 objetivo perdido."
|
||||
ctld.i18n["es"]["%1 %2 target destroyed."] = "%1 %2 objetivo destruido."
|
||||
ctld.i18n["es"]["JTAC STATUS: \n\n"] = "ESTADO JTAC: \n\n"
|
||||
ctld.i18n["es"][", available on %1 %2,"] = ", disponible en %1 %2,"
|
||||
ctld.i18n["es"]["UNKNOWN"] = "DESCONOCIDO"
|
||||
ctld.i18n["es"][" targeting "] = " apuntación "
|
||||
ctld.i18n["es"][" targeting selected unit "] = " apuntando a la unidad seleccionada"
|
||||
ctld.i18n["es"][" attempting to find selected unit, temporarily targeting "] = " intento de encontrar la unidad seleccionada, objetivo temporal "
|
||||
ctld.i18n["es"]["(Laser OFF) "] = "(Láser INACTIVO) "
|
||||
ctld.i18n["es"]["Visual On: "] = "Visual activado: "
|
||||
ctld.i18n["es"][" searching for targets %1\n"] = " buscando objetivos %1\n"
|
||||
ctld.i18n["es"]["No Active JTACs"] = "No hay JTAC activos"
|
||||
ctld.i18n["es"][", targeting selected unit, %1"] = ", apuntando a la unidad seleccionada, %1"
|
||||
ctld.i18n["es"][". CODE: %1. POSITION: %2"] = ". CÓDIGO: %1. POSICIÓN: %2"
|
||||
ctld.i18n["es"][", target selection reset."] = ", reinicio de selección de objetivo."
|
||||
ctld.i18n["es"]["%1, laser and smokes enabled"] = "%1, láser y humo habilitados"
|
||||
ctld.i18n["es"]["%1, laser and smokes disabled"] = "%1, láser y humo deshabilitados"
|
||||
ctld.i18n["es"]["%1, wind and target speed laser spot compensations enabled"] = "%1, compensaciones habilitadas del viento y de velocidad del objetivo para el punto láser"
|
||||
ctld.i18n["es"]["%1, wind and target speed laser spot compensations disabled"] = "%1, compensaciones deshabilitadas del viento y de velocidad del objetivo para el punto láser"
|
||||
ctld.i18n["es"]["%1, WHITE smoke deployed near target"] = "%1, humo BLANCO desplegado cerca del objetivo"
|
||||
|
||||
--- F10 menu messages
|
||||
ctld.i18n["es"]["Actions"] = "Acciones"
|
||||
ctld.i18n["es"]["Troop Transport"] = "Transporte de tropas"
|
||||
ctld.i18n["es"]["Unload / Extract Troops"] = "Descargar/Extraer tropas"
|
||||
ctld.i18n["es"]["Next page"] = "Página siguiente"
|
||||
ctld.i18n["es"]["Load "] = "Cargar "
|
||||
ctld.i18n["es"]["Vehicle / FOB Transport"] = "Transporte Vehículo / FOB"
|
||||
ctld.i18n["es"]["Vehicle / FOB Crates"] = "Cajas Vehículo / FOB"
|
||||
ctld.i18n["es"]["Unload Vehicles"] = "Descargar vehículos"
|
||||
ctld.i18n["es"]["Load / Extract Vehicles"] = "Cargar/Extraer vehículos"
|
||||
ctld.i18n["es"]["Load / Unload FOB Crate"] = "Cargar/Descargar caja FOB"
|
||||
ctld.i18n["es"]["CTLD Commands"] = "Comandos CTLD"
|
||||
ctld.i18n["es"]["CTLD"] = "CTLD"
|
||||
ctld.i18n["es"]["Check Cargo"] = "Verificar carga"
|
||||
ctld.i18n["es"]["Load Nearby Crate"] = "Cargar caja cercana"
|
||||
ctld.i18n["es"]["Unpack Any Crate"] = "Desempaquetar las cajas"
|
||||
ctld.i18n["es"]["Drop Crate"] = "Descargar caja"
|
||||
ctld.i18n["es"]["List Nearby Crates"] = "Enumerar cajas cercanas"
|
||||
ctld.i18n["es"]["List FOBs"] = "Enumerar FOBs"
|
||||
ctld.i18n["es"]["List Beacons"] = "Enumerar balizas"
|
||||
ctld.i18n["es"]["List Radio Beacons"] = "Enumerar radiobalizas"
|
||||
ctld.i18n["es"]["Smoke Markers"] = "Marcadores de humo"
|
||||
ctld.i18n["es"]["Drop Red Smoke"] = "Soltar humo rojo"
|
||||
ctld.i18n["es"]["Drop Blue Smoke"] = "Soltar humo azul"
|
||||
ctld.i18n["es"]["Drop Orange Smoke"] = "Soltar humo naranja"
|
||||
ctld.i18n["es"]["Drop Green Smoke"] = "Soltar humo verde"
|
||||
ctld.i18n["es"]["Drop Beacon"] = "Soltar baliza"
|
||||
ctld.i18n["es"]["Radio Beacons"] = "Balizas de radio"
|
||||
ctld.i18n["es"]["Remove Closet Beacon"] = "Quitar baliza cercana"
|
||||
ctld.i18n["es"]["JTAC Status"] = "Estado de JTAC"
|
||||
ctld.i18n["es"]["DISABLE "] = "DESHABILITAR "
|
||||
ctld.i18n["es"]["ENABLE "] = "HABILITAR "
|
||||
ctld.i18n["es"]["REQUEST "] = "SOLICITUD "
|
||||
ctld.i18n["es"]["Reset TGT Selection"] = "Restablecer selección TGT"
|
||||
--========================================================================================================================
|
||||
|
||||
--- Translates a string (text) with parameters (parameters) to the language defined in ctld.i18n_lang
|
||||
---@param text string The text to translate, with the parameters as %1, %2, etc. (all strings!!!!)
|
||||
@ -5805,17 +6132,17 @@ function ctld.addTransportF10MenuOptions(_unitName)
|
||||
ctld.logTrace("ctld.addedTo = %s", ctld.p(ctld.addedTo))
|
||||
if ctld.addedTo[tostring(_groupId)] == nil then
|
||||
ctld.logTrace("adding CTLD menu for _groupId = %s", ctld.p(_groupId))
|
||||
local _rootPath = missionCommands.addSubMenuForGroup(_groupId, "CTLD")
|
||||
local _rootPath = missionCommands.addSubMenuForGroup(_groupId, ctld.i18n_translate("CTLD"))
|
||||
|
||||
local _unitActions = ctld.getUnitActions(_unitTypename)
|
||||
|
||||
missionCommands.addCommandForGroup(_groupId, "Check Cargo", _rootPath, ctld.checkTroopStatus, { _unitName })
|
||||
missionCommands.addCommandForGroup(_groupId, ctld.i18n_translate("Check Cargo"), _rootPath, ctld.checkTroopStatus, { _unitName })
|
||||
|
||||
if _unitActions.troops then
|
||||
|
||||
local _troopCommandsPath = missionCommands.addSubMenuForGroup(_groupId, "Troop Transport", _rootPath)
|
||||
local _troopCommandsPath = missionCommands.addSubMenuForGroup(_groupId, ctld.i18n_translate("Troop Transport"), _rootPath)
|
||||
|
||||
missionCommands.addCommandForGroup(_groupId, "Unload / Extract Troops", _troopCommandsPath, ctld.unloadExtractTroops, { _unitName })
|
||||
missionCommands.addCommandForGroup(_groupId, ctld.i18n_translate("Unload / Extract Troops"), _troopCommandsPath, ctld.unloadExtractTroops, { _unitName })
|
||||
|
||||
|
||||
-- local _loadPath = missionCommands.addSubMenuForGroup(_groupId, "Load From Zone", _troopCommandsPath)
|
||||
@ -5827,7 +6154,7 @@ function ctld.addTransportF10MenuOptions(_unitName)
|
||||
if not _loadGroup.side or _loadGroup.side == _unit:getCoalition() then
|
||||
-- check size & unit
|
||||
if _transportLimit >= _loadGroup.total then
|
||||
table.insert(menuEntries, { text = "Load ".._loadGroup.name, group = _loadGroup })
|
||||
table.insert(menuEntries, { text = ctld.i18n_translate("Load ").._loadGroup.name, group = _loadGroup })
|
||||
end
|
||||
end
|
||||
end
|
||||
@ -5835,7 +6162,7 @@ function ctld.addTransportF10MenuOptions(_unitName)
|
||||
-- add the menu item
|
||||
itemNb = itemNb + 1
|
||||
if itemNb == 9 and _i < #menuEntries then -- page limit reached (first item is "unload")
|
||||
menuPath = missionCommands.addSubMenuForGroup(_groupId, "Next page", menuPath)
|
||||
menuPath = missionCommands.addSubMenuForGroup(_groupId, ctld.i18n_translate("Next page"), menuPath)
|
||||
itemNb = 1
|
||||
end
|
||||
missionCommands.addCommandForGroup(_groupId, _menu.text, menuPath, ctld.loadTroopsFromZone, { _unitName, true,_menu.group,false })
|
||||
@ -5843,16 +6170,16 @@ function ctld.addTransportF10MenuOptions(_unitName)
|
||||
|
||||
if ctld.unitCanCarryVehicles(_unit) then
|
||||
|
||||
local _vehicleCommandsPath = missionCommands.addSubMenuForGroup(_groupId, "Vehicle / FOB Transport", _rootPath)
|
||||
local _vehicleCommandsPath = missionCommands.addSubMenuForGroup(_groupId, ctld.i18n_translate("Vehicle / FOB Transport"), _rootPath)
|
||||
|
||||
missionCommands.addCommandForGroup(_groupId, "Unload Vehicles", _vehicleCommandsPath, ctld.unloadTroops, { _unitName, false })
|
||||
missionCommands.addCommandForGroup(_groupId, "Load / Extract Vehicles", _vehicleCommandsPath, ctld.loadTroopsFromZone, { _unitName, false,"",true })
|
||||
missionCommands.addCommandForGroup(_groupId, ctld.i18n_translate("Unload Vehicles"), _vehicleCommandsPath, ctld.unloadTroops, { _unitName, false })
|
||||
missionCommands.addCommandForGroup(_groupId, ctld.i18n_translate("Load / Extract Vehicles"), _vehicleCommandsPath, ctld.loadTroopsFromZone, { _unitName, false,"",true })
|
||||
|
||||
if ctld.enabledFOBBuilding and ctld.staticBugWorkaround == false then
|
||||
|
||||
missionCommands.addCommandForGroup(_groupId, "Load / Unload FOB Crate", _vehicleCommandsPath, ctld.loadUnloadFOBCrate, { _unitName, false })
|
||||
missionCommands.addCommandForGroup(_groupId, ctld.i18n_translate("Load / Unload FOB Crate"), _vehicleCommandsPath, ctld.loadUnloadFOBCrate, { _unitName, false })
|
||||
end
|
||||
missionCommands.addCommandForGroup(_groupId, "Check Cargo", _vehicleCommandsPath, ctld.checkTroopStatus, { _unitName })
|
||||
missionCommands.addCommandForGroup(_groupId, ctld.i18n_translate("Check Cargo"), _vehicleCommandsPath, ctld.checkTroopStatus, { _unitName })
|
||||
end
|
||||
|
||||
end
|
||||
@ -5871,7 +6198,7 @@ function ctld.addTransportF10MenuOptions(_unitName)
|
||||
|
||||
-- add menu for spawning crates
|
||||
local itemNbMain = 0
|
||||
local _cratesMenuPath = missionCommands.addSubMenuForGroup(_groupId, "Vehicle / FOB Crates", _rootPath)
|
||||
local _cratesMenuPath = missionCommands.addSubMenuForGroup(_groupId, ctld.i18n_translate("Vehicle / FOB Crates"), _rootPath)
|
||||
for _i, _category in ipairs(crateCategories) do
|
||||
local _subMenuName = _category
|
||||
local _crates = ctld.spawnableCrates[_subMenuName]
|
||||
@ -5879,7 +6206,7 @@ function ctld.addTransportF10MenuOptions(_unitName)
|
||||
-- add the submenu item
|
||||
itemNbMain = itemNbMain + 1
|
||||
if itemNbMain == 10 and _i < #crateCategories then -- page limit reached
|
||||
_cratesMenuPath = missionCommands.addSubMenuForGroup(_groupId, "Next page", _cratesMenuPath)
|
||||
_cratesMenuPath = missionCommands.addSubMenuForGroup(_groupId, ctld.i18n_translate("Next page"), _cratesMenuPath)
|
||||
itemNbMain = 1
|
||||
end
|
||||
local itemNbSubmenu = 0
|
||||
@ -5902,7 +6229,7 @@ function ctld.addTransportF10MenuOptions(_unitName)
|
||||
-- add the submenu item
|
||||
itemNbSubmenu = itemNbSubmenu + 1
|
||||
if itemNbSubmenu == 10 and _i < #menuEntries then -- page limit reached
|
||||
_subMenuPath = missionCommands.addSubMenuForGroup(_groupId, "Next page", _subMenuPath)
|
||||
_subMenuPath = missionCommands.addSubMenuForGroup(_groupId, ctld.i18n_translate("Next page"), _subMenuPath)
|
||||
itemNbSubmenu = 1
|
||||
end
|
||||
missionCommands.addCommandForGroup(_groupId, _menu.text, _subMenuPath, ctld.spawnCrate, { _unitName, _menu.crate.weight })
|
||||
@ -5913,43 +6240,43 @@ function ctld.addTransportF10MenuOptions(_unitName)
|
||||
|
||||
if (ctld.enabledFOBBuilding or ctld.enableCrates) and _unitActions.crates then
|
||||
|
||||
local _crateCommands = missionCommands.addSubMenuForGroup(_groupId, "CTLD Commands", _rootPath)
|
||||
local _crateCommands = missionCommands.addSubMenuForGroup(_groupId, ctld.i18n_translate("CTLD Commands"), _rootPath)
|
||||
if ctld.hoverPickup == false or ctld.loadCrateFromMenu == true then
|
||||
if ctld.loadCrateFromMenu then
|
||||
missionCommands.addCommandForGroup(_groupId, "Load Nearby Crate", _crateCommands, ctld.loadNearbyCrate, _unitName )
|
||||
missionCommands.addCommandForGroup(_groupId, ctld.i18n_translate("Load Nearby Crate"), _crateCommands, ctld.loadNearbyCrate, _unitName )
|
||||
end
|
||||
end
|
||||
|
||||
missionCommands.addCommandForGroup(_groupId, "Unpack Any Crate", _crateCommands, ctld.unpackCrates, { _unitName })
|
||||
missionCommands.addCommandForGroup(_groupId, ctld.i18n_translate("Unpack Any Crate"), _crateCommands, ctld.unpackCrates, { _unitName })
|
||||
|
||||
if ctld.loadCrateFromMenu or ctld.hoverPickup then
|
||||
missionCommands.addCommandForGroup(_groupId, "Drop Crate", _crateCommands, ctld.dropSlingCrate, { _unitName })
|
||||
missionCommands.addCommandForGroup(_groupId, ctld.i18n_translate("Drop Crate"), _crateCommands, ctld.dropSlingCrate, { _unitName })
|
||||
end
|
||||
|
||||
missionCommands.addCommandForGroup(_groupId, "List Nearby Crates", _crateCommands, ctld.listNearbyCrates, { _unitName })
|
||||
missionCommands.addCommandForGroup(_groupId, ctld.i18n_translate("List Nearby Crates"), _crateCommands, ctld.listNearbyCrates, { _unitName })
|
||||
|
||||
if ctld.enabledFOBBuilding then
|
||||
missionCommands.addCommandForGroup(_groupId, "List FOBs", _crateCommands, ctld.listFOBS, { _unitName })
|
||||
missionCommands.addCommandForGroup(_groupId, ctld.i18n_translate("List FOBs"), _crateCommands, ctld.listFOBS, { _unitName })
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
if ctld.enableSmokeDrop then
|
||||
local _smokeMenu = missionCommands.addSubMenuForGroup(_groupId, "Smoke Markers", _rootPath)
|
||||
missionCommands.addCommandForGroup(_groupId, "Drop Red Smoke", _smokeMenu, ctld.dropSmoke, { _unitName, trigger.smokeColor.Red })
|
||||
missionCommands.addCommandForGroup(_groupId, "Drop Blue Smoke", _smokeMenu, ctld.dropSmoke, { _unitName, trigger.smokeColor.Blue })
|
||||
missionCommands.addCommandForGroup(_groupId, "Drop Orange Smoke", _smokeMenu, ctld.dropSmoke, { _unitName, trigger.smokeColor.Orange })
|
||||
missionCommands.addCommandForGroup(_groupId, "Drop Green Smoke", _smokeMenu, ctld.dropSmoke, { _unitName, trigger.smokeColor.Green })
|
||||
local _smokeMenu = missionCommands.addSubMenuForGroup(_groupId, ctld.i18n_translate("Smoke Markers"), _rootPath)
|
||||
missionCommands.addCommandForGroup(_groupId, ctld.i18n_translate("Drop Red Smoke"), _smokeMenu, ctld.dropSmoke, { _unitName, trigger.smokeColor.Red })
|
||||
missionCommands.addCommandForGroup(_groupId, ctld.i18n_translate("Drop Blue Smoke"), _smokeMenu, ctld.dropSmoke, { _unitName, trigger.smokeColor.Blue })
|
||||
missionCommands.addCommandForGroup(_groupId, ctld.i18n_translate("Drop Orange Smoke"), _smokeMenu, ctld.dropSmoke, { _unitName, trigger.smokeColor.Orange })
|
||||
missionCommands.addCommandForGroup(_groupId, ctld.i18n_translate("Drop Green Smoke"), _smokeMenu, ctld.dropSmoke, { _unitName, trigger.smokeColor.Green })
|
||||
end
|
||||
|
||||
if ctld.enabledRadioBeaconDrop then
|
||||
local _radioCommands = missionCommands.addSubMenuForGroup(_groupId, "Radio Beacons", _rootPath)
|
||||
missionCommands.addCommandForGroup(_groupId, "List Beacons", _radioCommands, ctld.listRadioBeacons, { _unitName })
|
||||
missionCommands.addCommandForGroup(_groupId, "Drop Beacon", _radioCommands, ctld.dropRadioBeacon, { _unitName })
|
||||
missionCommands.addCommandForGroup(_groupId, "Remove Closet Beacon", _radioCommands, ctld.removeRadioBeacon, { _unitName })
|
||||
local _radioCommands = missionCommands.addSubMenuForGroup(_groupId, ctld.i18n_translate("Radio Beacons"), _rootPath)
|
||||
missionCommands.addCommandForGroup(_groupId, ctld.i18n_translate("List Beacons"), _radioCommands, ctld.listRadioBeacons, { _unitName })
|
||||
missionCommands.addCommandForGroup(_groupId, ctld.i18n_translate("Drop Beacon"), _radioCommands, ctld.dropRadioBeacon, { _unitName })
|
||||
missionCommands.addCommandForGroup(_groupId, ctld.i18n_translate("Remove Closet Beacon"), _radioCommands, ctld.removeRadioBeacon, { _unitName })
|
||||
elseif ctld.deployedRadioBeacons ~= {} then
|
||||
local _radioCommands = missionCommands.addSubMenuForGroup(_groupId, "Radio Beacons", _rootPath)
|
||||
missionCommands.addCommandForGroup(_groupId, "List Beacons", _radioCommands, ctld.listRadioBeacons, { _unitName })
|
||||
local _radioCommands = missionCommands.addSubMenuForGroup(_groupId, ctld.i18n_translate("Radio Beacons"), _rootPath)
|
||||
missionCommands.addCommandForGroup(_groupId, ctld.i18n_translate("List Beacons"), _radioCommands, ctld.listRadioBeacons, { _unitName })
|
||||
end
|
||||
|
||||
ctld.addedTo[tostring(_groupId)] = true
|
||||
@ -6017,7 +6344,7 @@ function ctld.addRadioListCommand(_side)
|
||||
ctld.logTrace("ctld.addedTo = %s", ctld.p(ctld.addedTo))
|
||||
if ctld.addedTo[tostring(_groupId)] == nil then
|
||||
ctld.logTrace("adding List Radio Beacons for _groupId = %s", ctld.p(_groupId))
|
||||
missionCommands.addCommandForGroup(_groupId, "List Radio Beacons", nil, ctld.listRadioBeacons, { _playerUnit:getName() })
|
||||
missionCommands.addCommandForGroup(_groupId, ctld.i18n_translate("List Radio Beacons"), nil, ctld.listRadioBeacons, { _playerUnit:getName() })
|
||||
ctld.addedTo[tostring(_groupId)] = true
|
||||
end
|
||||
end
|
||||
@ -6042,7 +6369,7 @@ function ctld.addJTACRadioCommand(_side)
|
||||
ctld.logDebug("ctld.addJTACRadioCommand - adding JTAC radio menu for unit [%s]", ctld.p(_playerUnit:getName()))
|
||||
newGroup = true
|
||||
local JTACpath = missionCommands.addSubMenuForGroup(_groupId, ctld.jtacMenuName)
|
||||
missionCommands.addCommandForGroup(_groupId, "JTAC Status", JTACpath, ctld.getJTACStatus, { _playerUnit:getName() })
|
||||
missionCommands.addCommandForGroup(_groupId, ctld.i18n_translate("JTAC Status"), JTACpath, ctld.getJTACStatus, { _playerUnit:getName() })
|
||||
ctld.jtacRadioAdded[tostring(_groupId)] = true
|
||||
end
|
||||
|
||||
@ -6117,7 +6444,7 @@ function ctld.addJTACRadioCommand(_side)
|
||||
|
||||
if not jtacSpecialOptPagePath then
|
||||
itemCounter = itemCounter + 1 --one item is added to the first JTAC target page
|
||||
jtacSpecialOptPagePath = missionCommands.addSubMenuForGroup(_groupId, "Actions", jtacTargetPagePath)
|
||||
jtacSpecialOptPagePath = missionCommands.addSubMenuForGroup(_groupId, ctld.i18n_translate("Actions"), jtacTargetPagePath)
|
||||
end
|
||||
|
||||
SpecialOptionsCounter = SpecialOptionsCounter+1
|
||||
@ -6129,12 +6456,12 @@ function ctld.addJTACRadioCommand(_side)
|
||||
|
||||
if _specialOption.jtacs then
|
||||
if _specialOption.jtacs[_jtacGroupName] then
|
||||
missionCommands.addCommandForGroup(_groupId, "DISABLE " .. _specialOption.message, jtacSpecialOptPagePath, _specialOption.setter, {jtacGroupName = _jtacGroupName, value = false})
|
||||
missionCommands.addCommandForGroup(_groupId, ctld.i18n_translate("DISABLE ") .. _specialOption.message, jtacSpecialOptPagePath, _specialOption.setter, {jtacGroupName = _jtacGroupName, value = false})
|
||||
else
|
||||
missionCommands.addCommandForGroup(_groupId, "ENABLE " .. _specialOption.message, jtacSpecialOptPagePath, _specialOption.setter, {jtacGroupName = _jtacGroupName, value = true})
|
||||
missionCommands.addCommandForGroup(_groupId, ctld.i18n_translate("ENABLE ") .. _specialOption.message, jtacSpecialOptPagePath, _specialOption.setter, {jtacGroupName = _jtacGroupName, value = true})
|
||||
end
|
||||
else
|
||||
missionCommands.addCommandForGroup(_groupId, "REQUEST " .. _specialOption.message, jtacSpecialOptPagePath, _specialOption.setter, {jtacGroupName = _jtacGroupName, value = false}) --value is not used here
|
||||
missionCommands.addCommandForGroup(_groupId, ctld.i18n_translate("REQUEST ") .. _specialOption.message, jtacSpecialOptPagePath, _specialOption.setter, {jtacGroupName = _jtacGroupName, value = false}) --value is not used here
|
||||
end
|
||||
end
|
||||
end
|
||||
@ -6144,7 +6471,7 @@ function ctld.addJTACRadioCommand(_side)
|
||||
--ctld.logTrace(string.format("JTAC - MENU - [%s] - adding targets menu", ctld.p(_jtacGroupName)))
|
||||
|
||||
--add a reset targeting option to revert to automatic JTAC unit targeting
|
||||
missionCommands.addCommandForGroup(_groupId, "Reset TGT Selection", jtacTargetPagePath, ctld.setJTACTarget, {jtacGroupName = _jtacGroupName, targetName = nil})
|
||||
missionCommands.addCommandForGroup(_groupId, ctld.i18n_translate("Reset TGT Selection"), jtacTargetPagePath, ctld.setJTACTarget, {jtacGroupName = _jtacGroupName, targetName = nil})
|
||||
|
||||
itemCounter = itemCounter + 1 --one item is added to the first JTAC target page
|
||||
|
||||
|
||||
27
README.md
27
README.md
@ -20,6 +20,7 @@ This script is a rewrite of some of the functionality of the original Complete C
|
||||
* [Setup in Mission Editor](#setup-in-mission-editor)
|
||||
* [Script Setup](#script-setup)
|
||||
* [Script Configuration](#script-configuration)
|
||||
* [Internationalization (multiple languages for text)](#internationalization)
|
||||
* [Pickup and Dropoff Zones Setup](#pickup-and-dropoff-zones-setup)
|
||||
* [Waypoint Zones Setup](#waypoint-zones-setup)
|
||||
* [Transport Unit Setup](#transport-unit-setup)
|
||||
@ -301,6 +302,32 @@ Example showing what happens if you dont have enough crates:
|
||||
|
||||
**Make sure that after making any changes to the script you remove and re-add the script to the mission. **
|
||||
|
||||
### Internationalization
|
||||
|
||||
CTLD supports multiple languages (English being the base and the reference).
|
||||
|
||||
This is done via the `ctld.i18n` table that can be found at the beginning of the script.
|
||||
|
||||
#### Changing the language
|
||||
|
||||
You can easily switch the language you want CTLD to display its messages and name its radio menus, by changing the `ctld.i18n_lang` parameter to a supported language.
|
||||
Supported languages are all listed near the parameter in the code, so it's easy to uncomment the line you wish to use.
|
||||
|
||||
Example, to set it to French: `ctld.i18n_lang = "fr"`
|
||||
|
||||
#### Adding or editing a translation
|
||||
|
||||
Translations are referenced by the english text, and can contain numbered parameters that will be replaced (in the calling code) by values.
|
||||
|
||||
This allows for different languages placing words at different places in a sentence.
|
||||
|
||||
To add a translation, simply copy the complete `ctld.i18n["en"]` table to a new one, and replace the language (`"en"`) with the one you want to add (`"de"` for example).
|
||||
|
||||
Then, replace all the `= nil` statements with the translation; for example, `ctld.i18n["de"]["Standard Group"] = "Standard-Kampfgruppe"`.
|
||||
|
||||
Finally, switch the CTLD language to the new one you defined (example: `ctld.i18n_lang = "de"`) and test.
|
||||
|
||||
Please share your work with the community, contact Zip [on Github](https://github.com/davidp57) or [on Discord](https://discordapp.com/users/421317390807203850).
|
||||
|
||||
### Pickup and Dropoff Zones Setup
|
||||
Pickup zones are used by transport aircraft and helicopters to load troops and vehicles. A transport unit must be inside of the radius of the trigger and the right side (RED or BLUE or BOTH) in order to load troops and vehicles.
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user