From 714e2b445b76a0352f95957df8ce85c6437a5679 Mon Sep 17 00:00:00 2001 From: gecko_reverse Date: Tue, 24 Feb 2009 03:22:12 +0000 Subject: [PATCH] added Italian translation to cocoa port thanks to Paolo Bernini. move cocoa translation files to their own folder to simplify things --- desmume/ChangeLog | 4 + .../cocoa/DeSmuME.xcodeproj/project.pbxproj | 72 +++++++++++------- desmume/src/cocoa/Rakefile | 9 +-- desmume/src/cocoa/makeapp.sh | 16 +--- .../English.lproj/Localizable.strings} | Bin .../English.lproj/MainMenu.nib}/classes.nib | 0 .../English.lproj/MainMenu.nib}/info.nib | 0 .../MainMenu.nib}/keyedobjects.nib | Bin .../French.lproj/Localizable.strings} | 0 .../French.lproj/MainMenu.nib}/classes.nib | 0 .../French.lproj/MainMenu.nib}/info.nib | 0 .../MainMenu.nib}/keyedobjects.nib | Bin .../Italian.lproj/Localizable.strings | Bin 0 -> 8750 bytes .../Italian.lproj/MainMenu.nib/classes.nib | 19 +++++ .../Italian.lproj/MainMenu.nib/info.nib | 18 +++++ .../MainMenu.nib/keyedobjects.nib | Bin 0 -> 4877 bytes .../Japanese.lproj/Localizable.strings} | Bin .../Japanese.lproj/MainMenu.nib}/classes.nib | 0 .../Japanese.lproj/MainMenu.nib}/info.nib | 0 .../MainMenu.nib}/keyedobjects.nib | Bin 20 files changed, 88 insertions(+), 50 deletions(-) rename desmume/src/cocoa/{English.strings => translations/English.lproj/Localizable.strings} (100%) rename desmume/src/cocoa/{English.nib => translations/English.lproj/MainMenu.nib}/classes.nib (100%) rename desmume/src/cocoa/{English.nib => translations/English.lproj/MainMenu.nib}/info.nib (100%) rename desmume/src/cocoa/{English.nib => translations/English.lproj/MainMenu.nib}/keyedobjects.nib (100%) rename desmume/src/cocoa/{French.strings => translations/French.lproj/Localizable.strings} (100%) rename desmume/src/cocoa/{French.nib => translations/French.lproj/MainMenu.nib}/classes.nib (100%) rename desmume/src/cocoa/{French.nib => translations/French.lproj/MainMenu.nib}/info.nib (100%) rename desmume/src/cocoa/{French.nib => translations/French.lproj/MainMenu.nib}/keyedobjects.nib (100%) create mode 100644 desmume/src/cocoa/translations/Italian.lproj/Localizable.strings create mode 100644 desmume/src/cocoa/translations/Italian.lproj/MainMenu.nib/classes.nib create mode 100644 desmume/src/cocoa/translations/Italian.lproj/MainMenu.nib/info.nib create mode 100644 desmume/src/cocoa/translations/Italian.lproj/MainMenu.nib/keyedobjects.nib rename desmume/src/cocoa/{Japanese.strings => translations/Japanese.lproj/Localizable.strings} (100%) rename desmume/src/cocoa/{Japanese.nib => translations/Japanese.lproj/MainMenu.nib}/classes.nib (100%) rename desmume/src/cocoa/{Japanese.nib => translations/Japanese.lproj/MainMenu.nib}/info.nib (100%) rename desmume/src/cocoa/{Japanese.nib => translations/Japanese.lproj/MainMenu.nib}/keyedobjects.nib (100%) diff --git a/desmume/ChangeLog b/desmume/ChangeLog index 291fe255c..99b5af790 100644 --- a/desmume/ChangeLog +++ b/desmume/ChangeLog @@ -1,3 +1,7 @@ +0.9.1 -> ? +Mac OS X Port: + enh: added Italian translation thanks to Paolo Bernini [jeff] + 0.9 -> 0.9.1 General/Core: enh: GBA slot emulation [CrazyMax] diff --git a/desmume/src/cocoa/DeSmuME.xcodeproj/project.pbxproj b/desmume/src/cocoa/DeSmuME.xcodeproj/project.pbxproj index 18b2cb490..dfeb81c23 100644 --- a/desmume/src/cocoa/DeSmuME.xcodeproj/project.pbxproj +++ b/desmume/src/cocoa/DeSmuME.xcodeproj/project.pbxproj @@ -8,6 +8,8 @@ /* Begin PBXBuildFile section */ 1F4B54D90F538DFE00C8B514 /* texcache.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1F4B54D70F538DFE00C8B514 /* texcache.cpp */; }; + 1F4B550A0F53924500C8B514 /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = 1F4B55090F53924500C8B514 /* Localizable.strings */; }; + 1F4B550C0F53924500C8B514 /* MainMenu.nib in Resources */ = {isa = PBXBuildFile; fileRef = 1F4B550B0F53924500C8B514 /* MainMenu.nib */; }; 1F5577080F326E2000DCF447 /* cheatSystem.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1F5577060F326E2000DCF447 /* cheatSystem.cpp */; }; 1FB3725C0F1CB9D300F75A43 /* mic.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1FB3725A0F1CB9D300F75A43 /* mic.cpp */; }; 1FB372630F1CB9F700F75A43 /* addons.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1FB372610F1CB9F700F75A43 /* addons.cpp */; }; @@ -51,13 +53,7 @@ 7233955A0E596E9100999693 /* speed_limit_selection_window.m in Sources */ = {isa = PBXBuildFile; fileRef = 723395590E596E9100999693 /* speed_limit_selection_window.m */; }; 7248E4620E7E0B0E004DCFFE /* gfx3d.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7248E45E0E7E0B0E004DCFFE /* gfx3d.cpp */; }; 7248E4630E7E0B0E004DCFFE /* OGLRender.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7248E4600E7E0B0E004DCFFE /* OGLRender.cpp */; }; - 726D68AC0E310B1800800002 /* French.nib in Resources */ = {isa = PBXBuildFile; fileRef = 726D68AA0E310B1800800002 /* French.nib */; }; - 726D68AD0E310B1800800002 /* French.strings in Resources */ = {isa = PBXBuildFile; fileRef = 726D68AB0E310B1800800002 /* French.strings */; }; 7277B62F0D9D9AEA00D283BD /* DeSmuME.icns in Resources */ = {isa = PBXBuildFile; fileRef = 7277B62E0D9D9AEA00D283BD /* DeSmuME.icns */; }; - 7277B6E30D9E045700D283BD /* English.nib in Resources */ = {isa = PBXBuildFile; fileRef = 7277B6DF0D9E045700D283BD /* English.nib */; }; - 7277B6E40D9E045700D283BD /* English.strings in Resources */ = {isa = PBXBuildFile; fileRef = 7277B6E00D9E045700D283BD /* English.strings */; }; - 7277B6E50D9E045700D283BD /* Japanese.nib in Resources */ = {isa = PBXBuildFile; fileRef = 7277B6E10D9E045700D283BD /* Japanese.nib */; }; - 7277B6E60D9E045700D283BD /* Japanese.strings in Resources */ = {isa = PBXBuildFile; fileRef = 7277B6E20D9E045700D283BD /* Japanese.strings */; }; 7277B8EB0D9F25F700D283BD /* about.m in Sources */ = {isa = PBXBuildFile; fileRef = 7277B8EA0D9F25F700D283BD /* about.m */; }; 728E5E210E7F54CC00608344 /* GPU_osd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 728E5E1F0E7F54CC00608344 /* GPU_osd.cpp */; }; 729BEC6F0D9D55DB00ED561B /* cocoa_util.m in Sources */ = {isa = PBXBuildFile; fileRef = 729BEC5A0D9D55DB00ED561B /* cocoa_util.m */; }; @@ -79,6 +75,14 @@ 1058C7A1FEA54F0111CA2CBB /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = /System/Library/Frameworks/Cocoa.framework; sourceTree = ""; }; 1F4B54D70F538DFE00C8B514 /* texcache.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = texcache.cpp; path = ../texcache.cpp; sourceTree = SOURCE_ROOT; }; 1F4B54D80F538DFE00C8B514 /* texcache.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = texcache.h; path = ../texcache.h; sourceTree = SOURCE_ROOT; }; + 1F4B55030F53921B00C8B514 /* English */ = {isa = PBXFileReference; fileEncoding = 10; lastKnownFileType = text.plist.strings; name = English; path = translations/English.lproj/Localizable.strings; sourceTree = ""; }; + 1F4B55040F53921B00C8B514 /* English */ = {isa = PBXFileReference; lastKnownFileType = wrapper.nib; name = English; path = translations/English.lproj/MainMenu.nib; sourceTree = ""; }; + 1F4B550D0F53928000C8B514 /* Italian */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = Italian; path = translations/Italian.lproj/Localizable.strings; sourceTree = ""; }; + 1F4B550E0F53928400C8B514 /* Japanese */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = Japanese; path = translations/Japanese.lproj/Localizable.strings; sourceTree = ""; }; + 1F4B550F0F53928700C8B514 /* French */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = French; path = translations/French.lproj/Localizable.strings; sourceTree = ""; }; + 1F4B55100F53929300C8B514 /* Italian */ = {isa = PBXFileReference; lastKnownFileType = wrapper.nib; name = Italian; path = translations/Italian.lproj/MainMenu.nib; sourceTree = ""; }; + 1F4B55110F53929700C8B514 /* Japanese */ = {isa = PBXFileReference; lastKnownFileType = wrapper.nib; name = Japanese; path = translations/Japanese.lproj/MainMenu.nib; sourceTree = ""; }; + 1F4B55120F53929900C8B514 /* French */ = {isa = PBXFileReference; lastKnownFileType = wrapper.nib; name = French; path = translations/French.lproj/MainMenu.nib; sourceTree = ""; }; 1F5577060F326E2000DCF447 /* cheatSystem.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = cheatSystem.cpp; path = ../cheatSystem.cpp; sourceTree = SOURCE_ROOT; }; 1F5577070F326E2000DCF447 /* cheatSystem.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = cheatSystem.h; path = ../cheatSystem.h; sourceTree = SOURCE_ROOT; }; 1FB3725A0F1CB9D300F75A43 /* mic.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = mic.cpp; path = ../mic.cpp; sourceTree = SOURCE_ROOT; }; @@ -152,13 +156,7 @@ 7248E45F0E7E0B0E004DCFFE /* gfx3d.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = gfx3d.h; path = ../gfx3d.h; sourceTree = SOURCE_ROOT; }; 7248E4600E7E0B0E004DCFFE /* OGLRender.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = OGLRender.cpp; path = ../OGLRender.cpp; sourceTree = SOURCE_ROOT; }; 7248E4610E7E0B0E004DCFFE /* OGLRender.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = OGLRender.h; path = ../OGLRender.h; sourceTree = SOURCE_ROOT; }; - 726D68AA0E310B1800800002 /* French.nib */ = {isa = PBXFileReference; lastKnownFileType = wrapper.nib; path = French.nib; sourceTree = ""; }; - 726D68AB0E310B1800800002 /* French.strings */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.strings; path = French.strings; sourceTree = ""; }; 7277B62E0D9D9AEA00D283BD /* DeSmuME.icns */ = {isa = PBXFileReference; lastKnownFileType = image.icns; path = DeSmuME.icns; sourceTree = ""; }; - 7277B6DF0D9E045700D283BD /* English.nib */ = {isa = PBXFileReference; lastKnownFileType = wrapper.nib; path = English.nib; sourceTree = ""; }; - 7277B6E00D9E045700D283BD /* English.strings */ = {isa = PBXFileReference; fileEncoding = 10; lastKnownFileType = text.plist.strings; path = English.strings; sourceTree = ""; }; - 7277B6E10D9E045700D283BD /* Japanese.nib */ = {isa = PBXFileReference; lastKnownFileType = wrapper.nib; path = Japanese.nib; sourceTree = ""; }; - 7277B6E20D9E045700D283BD /* Japanese.strings */ = {isa = PBXFileReference; fileEncoding = 10; lastKnownFileType = text.plist.strings; path = Japanese.strings; sourceTree = ""; }; 7277B8EA0D9F25F700D283BD /* about.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = about.m; sourceTree = ""; }; 728E5E1F0E7F54CC00608344 /* GPU_osd.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = GPU_osd.cpp; path = ../GPU_osd.cpp; sourceTree = SOURCE_ROOT; }; 728E5E200E7F54CC00608344 /* GPU_osd.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = GPU_osd.h; path = ../GPU_osd.h; sourceTree = SOURCE_ROOT; }; @@ -208,7 +206,7 @@ 729BECE60D9D57F600ED561B /* OpenGL.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = OpenGL.framework; path = /System/Library/Frameworks/OpenGL.framework; sourceTree = ""; }; 729BECEF0D9D581900ED561B /* AudioUnit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AudioUnit.framework; path = /System/Library/Frameworks/AudioUnit.framework; sourceTree = ""; }; 72C000010D9D59E60046B7EA /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - 72C000020D9D59E60046B7EA /* InfoPlist.strings */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.strings; path = InfoPlist.strings; sourceTree = ""; }; + 72C000020D9D59E60046B7EA /* InfoPlist.strings */ = {isa = PBXFileReference; fileEncoding = 10; lastKnownFileType = text.plist.strings; path = InfoPlist.strings; sourceTree = ""; }; 72D89DE30E83973A008D9B64 /* screen_state.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = screen_state.h; sourceTree = ""; }; 72D89DE40E83973A008D9B64 /* screen_state.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = screen_state.m; sourceTree = ""; }; 72D89E360E845C7E008D9B64 /* readwrite.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = readwrite.cpp; path = ../readwrite.cpp; sourceTree = SOURCE_ROOT; }; @@ -260,6 +258,8 @@ 1058C7A0FEA54F0111CA2CBB /* Linked Frameworks */ = { isa = PBXGroup; children = ( + 29B97325FDCFA39411CA2CEA /* Foundation.framework */, + 29B97324FDCFA39411CA2CEA /* AppKit.framework */, 1058C7A1FEA54F0111CA2CBB /* Cocoa.framework */, ); name = "Linked Frameworks"; @@ -268,8 +268,6 @@ 1058C7A2FEA54F0111CA2CBB /* Other Frameworks */ = { isa = PBXGroup; children = ( - 29B97324FDCFA39411CA2CEA /* AppKit.framework */, - 29B97325FDCFA39411CA2CEA /* Foundation.framework */, ); name = "Other Frameworks"; sourceTree = ""; @@ -422,14 +420,10 @@ 29B97317FDCFA39411CA2CEA /* Resources */ = { isa = PBXGroup; children = ( + 1F4B55090F53924500C8B514 /* Localizable.strings */, + 1F4B550B0F53924500C8B514 /* MainMenu.nib */, 72C000010D9D59E60046B7EA /* Info.plist */, 72C000020D9D59E60046B7EA /* InfoPlist.strings */, - 726D68AA0E310B1800800002 /* French.nib */, - 726D68AB0E310B1800800002 /* French.strings */, - 7277B6DF0D9E045700D283BD /* English.nib */, - 7277B6E00D9E045700D283BD /* English.strings */, - 7277B6E10D9E045700D283BD /* Japanese.nib */, - 7277B6E20D9E045700D283BD /* Japanese.strings */, 7277B62E0D9D9AEA00D283BD /* DeSmuME.icns */, ); name = Resources; @@ -491,6 +485,7 @@ French, German, TestLocale, + Italian, ); mainGroup = 29B97314FDCFA39411CA2CEA /* DeSmuME */; projectDirPath = ""; @@ -507,12 +502,8 @@ buildActionMask = 2147483647; files = ( 7277B62F0D9D9AEA00D283BD /* DeSmuME.icns in Resources */, - 7277B6E30D9E045700D283BD /* English.nib in Resources */, - 7277B6E40D9E045700D283BD /* English.strings in Resources */, - 7277B6E50D9E045700D283BD /* Japanese.nib in Resources */, - 7277B6E60D9E045700D283BD /* Japanese.strings in Resources */, - 726D68AC0E310B1800800002 /* French.nib in Resources */, - 726D68AD0E310B1800800002 /* French.strings in Resources */, + 1F4B550A0F53924500C8B514 /* Localizable.strings in Resources */, + 1F4B550C0F53924500C8B514 /* MainMenu.nib in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -530,7 +521,7 @@ ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "cp ../../README $BUILT_PRODUCTS_DIR/DeSmuME.app/Contents/Resources/README\ncp ../../README.MAC $BUILT_PRODUCTS_DIR/DeSmuME.app/Contents/Resources/README.MAC\ncp ../../AUTHORS $BUILT_PRODUCTS_DIR/DeSmuME.app/Contents/Resources/AUTHORS\ncp ../../README.TRANSLATION $BUILT_PRODUCTS_DIR/DeSmuME.app/Contents/Resources/README.TRANSLATION\ncp ../../ChangeLog $BUILT_PRODUCTS_DIR/DeSmuME.app/Contents/Resources/ChangeLog\ncp ../../COPYING $BUILT_PRODUCTS_DIR/DeSmuME.app/Contents/Resources/COPYING\ncd $BUILT_PRODUCTS_DIR/DeSmuME.app/Contents/Resources/\nmkdir English.lproj\nmv English.nib English.lproj/MainMenu.nib\nmv English.strings English.lproj/Localizable.strings\nmkdir Japanese.lproj\nmv Japanese.nib Japanese.lproj/MainMenu.nib\nmv Japanese.strings Japanese.lproj/Localizable.strings\nmkdir French.lproj\nmv French.nib French.lproj/MainMenu.nib\nmv French.strings French.lproj/Localizable.strings\n"; + shellScript = "cp ../../README $BUILT_PRODUCTS_DIR/DeSmuME.app/Contents/Resources/README\ncp ../../README.MAC $BUILT_PRODUCTS_DIR/DeSmuME.app/Contents/Resources/README.MAC\ncp ../../AUTHORS $BUILT_PRODUCTS_DIR/DeSmuME.app/Contents/Resources/AUTHORS\ncp ../../README.TRANSLATION $BUILT_PRODUCTS_DIR/DeSmuME.app/Contents/Resources/README.TRANSLATION\ncp ../../ChangeLog $BUILT_PRODUCTS_DIR/DeSmuME.app/Contents/Resources/ChangeLog\ncp ../../COPYING $BUILT_PRODUCTS_DIR/DeSmuME.app/Contents/Resources/COPYING\ncd $BUILT_PRODUCTS_DIR/DeSmuME.app/Contents/Resources/\n"; }; /* End PBXShellScriptBuildPhase section */ @@ -600,6 +591,31 @@ }; /* End PBXSourcesBuildPhase section */ +/* Begin PBXVariantGroup section */ + 1F4B55090F53924500C8B514 /* Localizable.strings */ = { + isa = PBXVariantGroup; + children = ( + 1F4B55030F53921B00C8B514 /* English */, + 1F4B550D0F53928000C8B514 /* Italian */, + 1F4B550E0F53928400C8B514 /* Japanese */, + 1F4B550F0F53928700C8B514 /* French */, + ); + name = Localizable.strings; + sourceTree = ""; + }; + 1F4B550B0F53924500C8B514 /* MainMenu.nib */ = { + isa = PBXVariantGroup; + children = ( + 1F4B55040F53921B00C8B514 /* English */, + 1F4B55100F53929300C8B514 /* Italian */, + 1F4B55110F53929700C8B514 /* Japanese */, + 1F4B55120F53929900C8B514 /* French */, + ); + name = MainMenu.nib; + sourceTree = ""; + }; +/* End PBXVariantGroup section */ + /* Begin XCBuildConfiguration section */ C01FCF4B08A954540054247B /* Debug */ = { isa = XCBuildConfiguration; diff --git a/desmume/src/cocoa/Rakefile b/desmume/src/cocoa/Rakefile index 481c49ab3..e55e2f5c0 100644 --- a/desmume/src/cocoa/Rakefile +++ b/desmume/src/cocoa/Rakefile @@ -159,17 +159,10 @@ task :build_cocoa_app => :link do cp 'PkgInfo', output_file + '/Contents/PkgInfo' cp 'InfoPlist.strings', output_file + '/Contents/Resources/InfoPlist.strings' cp 'DeSmuME.icns', output_file + '/Contents/Resources/DeSmuME.icns' + cp_r 'translations/*.lproj', output_file + '/Contents/Resources/' cp output_executable, output_file + '/Contents/MacOS/DeSmuME' - Dir['*.nib'].each do |nib_file| - locale = nib_file[0...-4] - locale_dir = output_file + '/Contents/Resources/' + locale +'.lproj' - mkdir locale_dir rescue Errno::EEXIST - cp_r nib_file, locale_dir + '/MainMenu.nib' rescue Errno::EEXIST - cp_r locale + '.strings', locale_dir + '/Localizable.strings' - end - puts 'Built ' + output_file end diff --git a/desmume/src/cocoa/makeapp.sh b/desmume/src/cocoa/makeapp.sh index 65df0ad30..3b29fb899 100755 --- a/desmume/src/cocoa/makeapp.sh +++ b/desmume/src/cocoa/makeapp.sh @@ -19,17 +19,5 @@ cp ../../AUTHORS DeSmuME.app/Contents/Resources/AUTHORS cp ../../README.TRANSLATION DeSmuME.app/Contents/Resources/README.TRANSLATION cp ../../ChangeLog DeSmuME.app/Contents/Resources/ChangeLog -#English -mkdir -p DeSmuME.app/Contents/Resources/English.lproj -cp -R English.nib DeSmuME.app/Contents/Resources/English.lproj/MainMenu.nib -cp English.strings DeSmuME.app/Contents/Resources/English.lproj/Localizable.strings - -#Japanese -mkdir -p DeSmuME.app/Contents/Resources/Japanese.lproj -cp -R Japanese.nib DeSmuME.app/Contents/Resources/Japanese.lproj/MainMenu.nib -cp Japanese.strings DeSmuME.app/Contents/Resources/Japanese.lproj/Localizable.strings - -#French -mkdir -p DeSmuME.app/Contents/Resources/French.lproj -cp -R French.nib DeSmuME.app/Contents/Resources/French.lproj/MainMenu.nib -cp French.strings DeSmuME.app/Contents/Resources/French.lproj/Localizable.strings +#Localizations +cp -R translations/*.lproj DeSmuME.app/Contents/Resources/ diff --git a/desmume/src/cocoa/English.strings b/desmume/src/cocoa/translations/English.lproj/Localizable.strings similarity index 100% rename from desmume/src/cocoa/English.strings rename to desmume/src/cocoa/translations/English.lproj/Localizable.strings diff --git a/desmume/src/cocoa/English.nib/classes.nib b/desmume/src/cocoa/translations/English.lproj/MainMenu.nib/classes.nib similarity index 100% rename from desmume/src/cocoa/English.nib/classes.nib rename to desmume/src/cocoa/translations/English.lproj/MainMenu.nib/classes.nib diff --git a/desmume/src/cocoa/English.nib/info.nib b/desmume/src/cocoa/translations/English.lproj/MainMenu.nib/info.nib similarity index 100% rename from desmume/src/cocoa/English.nib/info.nib rename to desmume/src/cocoa/translations/English.lproj/MainMenu.nib/info.nib diff --git a/desmume/src/cocoa/English.nib/keyedobjects.nib b/desmume/src/cocoa/translations/English.lproj/MainMenu.nib/keyedobjects.nib similarity index 100% rename from desmume/src/cocoa/English.nib/keyedobjects.nib rename to desmume/src/cocoa/translations/English.lproj/MainMenu.nib/keyedobjects.nib diff --git a/desmume/src/cocoa/French.strings b/desmume/src/cocoa/translations/French.lproj/Localizable.strings similarity index 100% rename from desmume/src/cocoa/French.strings rename to desmume/src/cocoa/translations/French.lproj/Localizable.strings diff --git a/desmume/src/cocoa/French.nib/classes.nib b/desmume/src/cocoa/translations/French.lproj/MainMenu.nib/classes.nib similarity index 100% rename from desmume/src/cocoa/French.nib/classes.nib rename to desmume/src/cocoa/translations/French.lproj/MainMenu.nib/classes.nib diff --git a/desmume/src/cocoa/French.nib/info.nib b/desmume/src/cocoa/translations/French.lproj/MainMenu.nib/info.nib similarity index 100% rename from desmume/src/cocoa/French.nib/info.nib rename to desmume/src/cocoa/translations/French.lproj/MainMenu.nib/info.nib diff --git a/desmume/src/cocoa/French.nib/keyedobjects.nib b/desmume/src/cocoa/translations/French.lproj/MainMenu.nib/keyedobjects.nib similarity index 100% rename from desmume/src/cocoa/French.nib/keyedobjects.nib rename to desmume/src/cocoa/translations/French.lproj/MainMenu.nib/keyedobjects.nib diff --git a/desmume/src/cocoa/translations/Italian.lproj/Localizable.strings b/desmume/src/cocoa/translations/Italian.lproj/Localizable.strings new file mode 100644 index 0000000000000000000000000000000000000000..b77011922b403f3b62c7883582078cda5d339459 GIT binary patch literal 8750 zcmbuF+iqLe5r)@o`V<=ki~vEAL~;T*34)fg4sk=tf+#6*i(W8{BnzP_RR=rvQ{|Cz z*;mL-+y7gm;mqdVQluCJY3*5aT60=6Yx}?dE1#5)N>kR$Q5lz4<+^N_4Ly&`Rkl^(wDL>XdU?;a4dhaqV#Cw& zP9N8IATOP1WiAavlc69#R=%#wcX|Tnti>0Nk$hP_9X#3dtem$vo{A^FY1_&7+$d)7 zG!}CUJr@UHP1%!gw#&!$leIjr@wL3}-VExa>btq*_fyAuSkYuQipzO9mfp+KZ(BF% zV_EpMw6`oED*1aTOD*#Ob0*wL!adX9PbHJR@95uGqINptKN6IvYV+TeJ-~Kc&jI3> zOq_P4tPA4Uw`(3&>(|z!q))4$y-f?Jekwbh$wFAltea_HN`H&WSapq|yAsu-Ruqpb zzkq}7`5F0hCBA0qZUk6>>HFnoC^OguELSideTwpu=y$JpWB+?MH^vZAx&vjv~e%ct+bXLZ5n$sg9| zaZ8^S>GMZ5BHJ%yPijKcqSg1{xGs+8`kacV#|Tn>-|joo;8Gt>2d~=$)g_{w2zzx8 z9=qakA$&3{pFVLC+>c{Z`cI%|(&Aj)(TED#j=cLwA4@}O#J1>vZtdtx*~@dN8-w6u z9io3y!0qM+IrB)L;1dwXHtCyXs6L3(25u+PDf%U^&#uezp5qK<#pvx^h6j9|12Vk= zdY905@{YBucU6ZK*(9`Iue;?;X5ZFzkd5H@ew=dk9+ZZ&O!@d8l!miR`Pn@v4aX=q z70WYy$c3rml$w^ito>R`iB-dRsdch5X9HI7{s*f!Ite(1iOLH_mf7htS&_)07okg= z>$gqe{albhG2c9c-$i4Kouzat+%1H$`_TkiFpFL5KnQn)OC13IVMz!-5r)gCEg6`Au%Ocvk zm|wJTdAbXGrTnFZZ_js8td=J&3VRNUk@otwdMJCGszf)4_rkCHvdy`ywpO-UJeT3- zqYPb1_E?5@u{q(qc4X{0`7-qJE!e<4TCU3vJ$jE7H5uN;&U$BT;9cyjcg7CAGc@bH z40qnqlSj5+DvyX!uaR!4cBeZPmQA5#ArbBP@b;P-vs7PIJ(Qf8Y(zI79%(~O(+unD z!#Gh4bGufk%+Da6fv#CTJ-fO&md|ZnjDcd5>Ty+nztawWsAm9kP2S6-)&c5NbF&VW z;k(Y6)28@cRGZ{{Ih1{=C-xgS&cXa^T_;%N(6vrYCWE6zyS;)>*vz64S4QV+F3Yo;{_IE-uvy6N_1I;*Mt)T9D7!a}{nR1b z?ro0c1?~svjzVkezT%G5ZGgVig$rplsd*Lrme+_X-x0GD-5&R>#9q#=_Db$M==^ND zpqC};u}4T`p2#chUh#!+vm9mx-v{v#eC#R5+wxwB&whKxEntoh@DFO$CN4bwLZU^A z-OF$;P^)v?QQ5GTpN<3hoSZUl6Zwm1AcKg*KljQQitDU=Scb}X&Xlu?m!-HhTtBq(^vdnD0B#j)f&g#SA1Mmj|Hy5?AE~j>iFDX{3KoT{xYo1ov7qCDR}qa zBN=y>HIzTL%NN?$edw)2a+)@eC->xGbq%RcQl#0mcRwxQz#A3nvg_bBd!}sQtPU$U zg!;|yxha%H8`&^Kv`axq*!P zOZt7|@})G3ojZ+pM(mn*!^j94VtV;T)A*R=UC~SxhmEGRxB8`1u<7bjD{WgJ)YFS@ z_`}*y8lKCK(|1kY-%XnOvq_}3Y^GIzw$;Cjax1O+vunH4THRG7D5HLLJ zt=6{h=OXjl{rOBbc>n&~ + + + + IBClasses + + + CLASS + FirstResponder + LANGUAGE + ObjC + SUPERCLASS + NSObject + + + IBVersion + 1 + + diff --git a/desmume/src/cocoa/translations/Italian.lproj/MainMenu.nib/info.nib b/desmume/src/cocoa/translations/Italian.lproj/MainMenu.nib/info.nib new file mode 100644 index 000000000..dec60681a --- /dev/null +++ b/desmume/src/cocoa/translations/Italian.lproj/MainMenu.nib/info.nib @@ -0,0 +1,18 @@ + + + + + IBFramework Version + 677 + IBOldestOS + 5 + IBOpenObjects + + 57 + + IBSystem Version + 9G55 + targetFramework + IBCocoaFramework + + diff --git a/desmume/src/cocoa/translations/Italian.lproj/MainMenu.nib/keyedobjects.nib b/desmume/src/cocoa/translations/Italian.lproj/MainMenu.nib/keyedobjects.nib new file mode 100644 index 0000000000000000000000000000000000000000..7e135a6f19c808d95c1a019a13e59c39388f4514 GIT binary patch literal 4877 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 PL2y6u@9t;zFFX7XQJ