Pārlūkot izejas kodu

Add empty translation files to the exported app bundle, to allow translation detection by the OS.

(cherry picked from commit 2eeff4caec00a9eec06919d35c3ea8d87322cd31)
bruvzg 3 gadi atpakaļ
vecāks
revīzija
f883dd48ca
1 mainītis faili ar 18 papildinājumiem un 0 dzēšanām
  1. 18 0
      platform/osx/export/export.cpp

+ 18 - 0
platform/osx/export/export.cpp

@@ -645,6 +645,24 @@ Error EditorExportPlatformOSX::export_project(const Ref<EditorExportPreset> &p_p
 		err = tmp_app_dir->make_dir_recursive(tmp_app_path_name + "/Contents/Resources");
 	}
 
+	Vector<String> translations = ProjectSettings::get_singleton()->get("locale/translations");
+	if (translations.size() > 0) {
+		{
+			String fname = tmp_app_path_name + "/Contents/Resources/en.lproj";
+			tmp_app_dir->make_dir_recursive(fname);
+			FileAccessRef f = FileAccess::open(fname + "/InfoPlist.strings", FileAccess::WRITE);
+		}
+
+		for (int i = 0; i < translations.size(); i++) {
+			Ref<Translation> tr = ResourceLoader::load(translations[i]);
+			if (tr.is_valid()) {
+				String fname = tmp_app_path_name + "/Contents/Resources/" + tr->get_locale() + ".lproj";
+				tmp_app_dir->make_dir_recursive(fname);
+				FileAccessRef f = FileAccess::open(fname + "/InfoPlist.strings", FileAccess::WRITE);
+			}
+		}
+	}
+
 	// Now process our template.
 	bool found_binary = false;
 	Vector<String> dylibs_found;