diff --git a/BinaryConverter.xcodeproj/project.pbxproj b/BinaryConverter.xcodeproj/project.pbxproj index 87366b4..3cfd29b 100644 --- a/BinaryConverter.xcodeproj/project.pbxproj +++ b/BinaryConverter.xcodeproj/project.pbxproj @@ -15,6 +15,7 @@ 2CCE3EAD2AF67A9000BB0ED3 /* UtilsFunctions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2CCE3EAC2AF67A9000BB0ED3 /* UtilsFunctions.swift */; }; 2CCE3EB12AF67CFD00BB0ED3 /* HexaConverter.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2CCE3EB02AF67CFD00BB0ED3 /* HexaConverter.swift */; }; 2CEC5C712AFBF09800A6DEB3 /* BinaryConverter.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2CEC5C702AFBF09800A6DEB3 /* BinaryConverter.swift */; }; + 2CEC5C752AFBF5BB00A6DEB3 /* Localizable.xcstrings in Resources */ = {isa = PBXBuildFile; fileRef = 2CEC5C742AFBF5BB00A6DEB3 /* Localizable.xcstrings */; }; /* End PBXBuildFile section */ /* Begin PBXFileReference section */ @@ -27,6 +28,7 @@ 2CCE3EAC2AF67A9000BB0ED3 /* UtilsFunctions.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UtilsFunctions.swift; sourceTree = ""; }; 2CCE3EB02AF67CFD00BB0ED3 /* HexaConverter.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HexaConverter.swift; sourceTree = ""; }; 2CEC5C702AFBF09800A6DEB3 /* BinaryConverter.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = BinaryConverter.swift; sourceTree = ""; }; + 2CEC5C742AFBF5BB00A6DEB3 /* Localizable.xcstrings */ = {isa = PBXFileReference; lastKnownFileType = text.json.xcstrings; path = Localizable.xcstrings; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -65,6 +67,7 @@ 2CEC5C702AFBF09800A6DEB3 /* BinaryConverter.swift */, 2C53DAA52AF866B200EB233F /* AnyBaseConverter.swift */, 2CCE3EAC2AF67A9000BB0ED3 /* UtilsFunctions.swift */, + 2CEC5C742AFBF5BB00A6DEB3 /* Localizable.xcstrings */, 2CCE3EA22AF678B300BB0ED3 /* Assets.xcassets */, 2CCE3EA42AF678B300BB0ED3 /* Preview Content */, ); @@ -121,6 +124,7 @@ knownRegions = ( en, Base, + fr, ); mainGroup = 2CCE3E922AF678B200BB0ED3; productRefGroup = 2CCE3E9C2AF678B200BB0ED3 /* Products */; @@ -139,6 +143,7 @@ files = ( 2CCE3EA62AF678B300BB0ED3 /* Preview Assets.xcassets in Resources */, 2CCE3EA32AF678B300BB0ED3 /* Assets.xcassets in Resources */, + 2CEC5C752AFBF5BB00A6DEB3 /* Localizable.xcstrings in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; diff --git a/BinaryConverter/ContentView.swift b/BinaryConverter/ContentView.swift index b65e100..c71df7b 100644 --- a/BinaryConverter/ContentView.swift +++ b/BinaryConverter/ContentView.swift @@ -12,8 +12,8 @@ struct ContentView: View { var body: some View { TabView(selection: $selectedTab, content: { - BinaryConverter().tabItem { Image(systemName: "2.square.fill") ; Text("Binary") }.tag(0) - HexaConverter().tabItem { Image(systemName: "16.square.fill") ; Text("Hexa") }.tag(1) + BinaryConverter().tabItem { Image(systemName: "2.square.fill") ; Text("menu.conversion.binary") }.tag(0) + HexaConverter().tabItem { Image(systemName: "16.square.fill") ; Text("menu.conversion.hexa") }.tag(1) AnyBaseConverter().tabItem { Image(systemName: "number.square.fill") ; Text("Any base") }.tag(2) }) diff --git a/BinaryConverter/Localizable.xcstrings b/BinaryConverter/Localizable.xcstrings new file mode 100644 index 0000000..19d73cb --- /dev/null +++ b/BinaryConverter/Localizable.xcstrings @@ -0,0 +1,347 @@ +{ + "sourceLanguage" : "en", + "strings" : { + "Any base" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Any base" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Toutes bases" + } + } + } + }, + "Base 2" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Base 2" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Base 2" + } + } + } + }, + "Base 10" : { + "comment" : "Same translation", + "extractionState" : "manual", + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Base 10" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Base 10" + } + } + } + }, + "Base 16" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Base 16" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Base 16" + } + } + } + }, + "Binary" : { + "extractionState" : "stale", + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Binary" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Binaire" + } + } + } + }, + "Copy value" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Copy value" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Copier la valeur" + } + } + } + }, + "Destination base" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Destination base" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Base de destination" + } + } + } + }, + "Dismiss Keyboard" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Dismiss Keyboard" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Fermer le clavier" + } + } + } + }, + "Enter the arrival base" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Enter the arrival base" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Entrer la base d'arrivée" + } + } + } + }, + "Enter the base 10 number here" : { + "extractionState" : "manual", + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Enter the base 10 number here" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Entrez le nombre en base 10 ici" + } + } + } + }, + "Enter the number that you want to convert" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Enter the number that you want to convert" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Entrez le nombre à convertir" + } + } + } + }, + "Enter the source base for the number" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Enter the source base for the number" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Entrez la base source" + } + } + } + }, + "Hexa" : { + "extractionState" : "stale", + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Hexa" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Hexa" + } + } + } + }, + "menu.conversion.binary" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Binary" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Binaire" + } + } + } + }, + "menu.conversion.hexa" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Hexa" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Hexadecimal" + } + } + } + }, + "Number to convert" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Number to convert" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Le nombre à convertir" + } + } + } + }, + "Result" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Result" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Résultat" + } + } + } + }, + "Source base" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Source base" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Base source" + } + } + } + }, + "Your number in base %@: %@" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "new", + "value" : "Your number in base %1$@: %2$@" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Votre nombre en base %1$@: %2$@" + } + } + } + }, + "Your number in base 2: %@" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Your number in base 2: %@" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Votre nombre en base 2: %@" + } + } + } + }, + "Your number in base 16: %@" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Your number in base 16: %@" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Votre nombre en base 16: %@" + } + } + } + } + }, + "version" : "1.0" +} \ No newline at end of file