diff --git a/static/webui/translations/fr.js b/static/webui/translations/fr.js
new file mode 100644
index 00000000..9294bd29
--- /dev/null
+++ b/static/webui/translations/fr.js
@@ -0,0 +1,135 @@
+dict = {
+ general_inventoryUpdateNote: `Note: Changes made here will only be applied in-game when the game syncs the inventory. Visiting the navigation should be the easiest way to trigger that.`,
+ general_addButton: `Add`,
+ general_bulkActions: `Bulk Actions`,
+ code_nonValidAuthz: `Your credentials are no longer valid.`,
+ code_changeNameConfirm: `What would you like to change your account name to?`,
+ code_deleteAccountConfirm: `Are you sure you want to delete your account |DISPLAYNAME| (|EMAIL|)? This action cannot be undone.`,
+ code_archgun: `Archgun`,
+ code_melee: `Melee`,
+ code_pistol: `Pistol`,
+ code_rifle: `Rifle`,
+ code_shotgun: `Shotgun`,
+ code_kitgun: `Kitgun`,
+ code_zaw: `Zaw`,
+ code_moteAmp: `Mote Amp`,
+ code_amp: `Amp`,
+ code_sirocco: `Sirocco`,
+ code_kDrive: `K-Drive`,
+ code_legendaryCore: `Legendary Core`,
+ code_traumaticPeculiar: `Traumatic Peculiar`,
+ code_starter: `|MOD| (Flawed)`,
+ code_badItem: `(Imposter)`,
+ code_maxRank: `Max Rank`,
+ code_rename: `Rename`,
+ code_renamePrompt: `Enter new custom name:`,
+ code_remove: `Remove`,
+ code_addItemsConfirm: `Are you sure you want to add |COUNT| items to your account?`,
+ code_noEquipmentToRankUp: `No equipment to rank up.`,
+ code_succAdded: `Successfully added.`,
+ code_buffsNumber: `Number of buffs`,
+ code_cursesNumber: `Number of curses`,
+ code_rerollsNumber: `Number of rerolls`,
+ code_viewStats: `View Stats`,
+ code_rank: `Rank`,
+ code_count: `Count`,
+ code_focusAllUnlocked: `All focus schools are already unlocked.`,
+ code_focusUnlocked: `Unlocked |COUNT| new focus schools! An inventory update will be needed for the changes to be reflected in-game. Visiting the navigation should be the easiest way to trigger that.`,
+ code_addModsConfirm: `Are you sure you want to add |COUNT| mods to your account?`,
+ code_succImport: `Successfully imported.`,
+ login_description: `Login using your OpenWF account credentials (same as in-game when connecting to this server).`,
+ login_emailLabel: `Email address`,
+ login_passwordLabel: `Password`,
+ login_loginButton: `Login`,
+ navbar_logout: `Logout`,
+ navbar_renameAccount: `Rename Account`,
+ navbar_deleteAccount: `Delete Account`,
+ navbar_inventory: `Inventory`,
+ navbar_mods: `Mods`,
+ navbar_quests: `Quests`,
+ navbar_cheats: `Cheats`,
+ navbar_import: `Import`,
+ inventory_addItems: `Add Items`,
+ inventory_suits: `Warframes`,
+ inventory_longGuns: `Primary Weapons`,
+ inventory_pistols: `Secondary Weapons`,
+ inventory_melee: `Melee Weapons`,
+ inventory_spaceSuits: `Archwings`,
+ inventory_spaceGuns: `Archwing Primary Weapons`,
+ inventory_spaceMelee: `Archwing Melee Weapons`,
+ inventory_mechSuits: `Necramechs`,
+ inventory_sentinels: `Sentinels`,
+ inventory_sentinelWeapons: `Sentinel Weapons`,
+ inventory_operatorAmps: `Amps`,
+ inventory_hoverboards: `K-Drives`,
+ inventory_bulkAddSuits: `Add Missing Warframes`,
+ inventory_bulkAddWeapons: `Add Missing Weapons`,
+ inventory_bulkAddSpaceSuits: `Add Missing Archwings`,
+ inventory_bulkAddSpaceWeapons: `Add Missing Archwing Weapons`,
+ inventory_bulkAddSentinels: `Add Missing Sentinels`,
+ inventory_bulkAddSentinelWeapons: `Add Missing Sentinel Weapons`,
+ inventory_bulkRankUpSuits: `Max Rank All Warframes`,
+ inventory_bulkRankUpWeapons: `Max Rank All Weapons`,
+ inventory_bulkRankUpSpaceSuits: `Max Rank All Archwings`,
+ inventory_bulkRankUpSpaceWeapons: `Max Rank All Archwing Weapons`,
+ inventory_bulkRankUpSentinels: `Max Rank All Sentinels`,
+ inventory_bulkRankUpSentinelWeapons: `Max Rank All Sentinel Weapons`,
+
+ currency_RegularCredits: `Credits`,
+ currency_PremiumCredits: `Platinum`,
+ currency_FusionPoints: `Endo`,
+ currency_PrimeTokens: `Regal Aya`,
+ currency_owned: `You have |COUNT|.`,
+ powersuit_archonShardsLabel: `Archon Shard Slots`,
+ powersuit_archonShardsDescription: `You can use these unlimited slots to apply a wide range of upgrades`,
+ mods_addRiven: `Add Riven`,
+ mods_fingerprint: `Fingerprint`,
+ mods_fingerprintHelp: `Need help with the fingerprint?`,
+ mods_rivens: `Rivens`,
+ mods_mods: `Mods`,
+ mods_bulkAddMods: `Add Missing Mods`,
+ cheats_administratorRequirement: `You must be an administrator to use this feature. To become an administrator, add |DISPLAYNAME|
to administratorNames
in the config.json.`,
+ cheats_server: `Server`,
+ cheats_skipTutorial: `Skip Tutorial`,
+ cheats_skipAllDialogue: `Skip All Dialogue`,
+ cheats_unlockAllScans: `Unlock All Scans`,
+ cheats_unlockAllMissions: `Unlock All Missions`,
+ cheats_unlockAllQuests: `Unlock All Quests`,
+ cheats_completeAllQuests: `Complete All Quests`,
+ cheats_infiniteCredits: `Infinite Credits`,
+ cheats_infinitePlatinum: `Infinite Platinum`,
+ cheats_infiniteEndo: `Infinite Endo`,
+ cheats_infiniteRegalAya: `Infinite Regal Aya`,
+ cheats_infiniteHelminthMaterials: `Infinite Helminth Materials`,
+ cheats_unlockAllShipFeatures: `Unlock All Ship Features`,
+ cheats_unlockAllShipDecorations: `Unlock All Ship Decorations`,
+ cheats_unlockAllFlavourItems: `Unlock All Flavor Items`,
+ cheats_unlockAllSkins: `Unlock All Skins`,
+ cheats_unlockAllCapturaScenes: `Unlock All Captura Scenes`,
+ cheats_universalPolarityEverywhere: `Universal Polarity Everywhere`,
+ cheats_unlockDoubleCapacityPotatoesEverywhere: `Potatoes Everywhere`,
+ cheats_unlockExilusEverywhere: `Exilus Adapters Everywhere`,
+ cheats_unlockArcanesEverywhere: `Arcane Adapters Everywhere`,
+ cheats_noDailyStandingLimits: `No Daily Standing Limits`,
+ cheats_instantResourceExtractorDrones: `Instant Resource Extractor Drones`,
+ cheats_noDojoRoomBuildStage: `No Dojo Room Build Stage`,
+ cheats_noDojoResearchCosts: `No Dojo Research Costs`,
+ cheats_noDojoResearchTime: `No Dojo Research Time`,
+ cheats_spoofMasteryRank: `Spoofed Mastery Rank (-1 to disable)`,
+ cheats_saveSettings: `Save Settings`,
+ cheats_account: `Account`,
+ cheats_unlockAllFocusSchools: `Unlock All Focus Schools`,
+ cheats_helminthUnlockAll: `Fully Level Up Helminth`,
+ cheats_changeSupportedSyndicate: `Supported syndicate`,
+ cheats_changeButton: `Change`,
+ cheats_none: `None`,
+ cheats_quests: `Quests`,
+ cheats_quests_unlockAll: `Unlock All Quests`,
+ cheats_quests_completeAll: `Complete All Quests`,
+ cheats_quests_completeAllUnlocked: `Complete All Unlocked Quests`,
+ cheats_quests_resetAll: `Reset All Quests`,
+ cheats_quests_giveAll: `Give All Quests`,
+ import_importNote: `You can provide a full or partial inventory response (client respresentation) here. All fields that are supported by the importer will be overwritten in your account.`,
+ import_submit: `Submit`,
+ prettier_sucks_ass: ``
+};