@@ -74,15 +74,20 @@ void LocalizationEditor::add_translation(const String &p_translation) {
7474
7575void LocalizationEditor::_translation_add (const PackedStringArray &p_paths) {
7676 PackedStringArray translations = GLOBAL_GET (" internationalization/locale/translations" );
77- for (int i = 0 ; i < p_paths.size (); i++) {
78- if (!translations.has (p_paths[i])) {
77+ int count = 0 ;
78+ for (const String &path : p_paths) {
79+ if (!translations.has (path)) {
7980 // Don't add duplicate translation paths.
80- translations.push_back (p_paths[i]);
81+ translations.push_back (path);
82+ count += 1 ;
8183 }
8284 }
85+ if (count == 0 ) {
86+ return ;
87+ }
8388
8489 EditorUndoRedoManager *undo_redo = EditorUndoRedoManager::get_singleton ();
85- undo_redo->create_action (vformat (TTR (" Add %d Translations" ), p_paths. size () ));
90+ undo_redo->create_action (vformat (TTRN (" Add %d Translation " , " Add %d Translations" , count), count ));
8691 undo_redo->add_do_property (ProjectSettings::get_singleton (), " internationalization/locale/translations" , translations);
8792 undo_redo->add_undo_property (ProjectSettings::get_singleton (), " internationalization/locale/translations" , GLOBAL_GET (" internationalization/locale/translations" ));
8893 undo_redo->add_do_method (this , " update_translations" );
@@ -136,15 +141,20 @@ void LocalizationEditor::_translation_res_add(const PackedStringArray &p_paths)
136141 prev = remaps;
137142 }
138143
139- for (int i = 0 ; i < p_paths.size (); i++) {
140- if (!remaps.has (p_paths[i])) {
144+ int count = 0 ;
145+ for (const String &path : p_paths) {
146+ if (!remaps.has (path)) {
141147 // Don't overwrite with an empty remap array if an array already exists for the given path.
142- remaps[p_paths[i]] = PackedStringArray ();
148+ remaps[path] = PackedStringArray ();
149+ count += 1 ;
143150 }
144151 }
152+ if (count == 0 ) {
153+ return ;
154+ }
145155
146156 EditorUndoRedoManager *undo_redo = EditorUndoRedoManager::get_singleton ();
147- undo_redo->create_action (vformat (TTR (" Translation Resource Remap: Add %d Path(s) " ), p_paths. size () ));
157+ undo_redo->create_action (vformat (TTRN (" Translation Resource Remap: Add %d Path" , " Translation Resource Remap: Add %d Paths " , count), count ));
148158 undo_redo->add_do_property (ProjectSettings::get_singleton (), " internationalization/locale/translation_remaps" , remaps);
149159 undo_redo->add_undo_property (ProjectSettings::get_singleton (), " internationalization/locale/translation_remaps" , prev);
150160 undo_redo->add_do_method (this , " update_translations" );
@@ -176,7 +186,7 @@ void LocalizationEditor::_translation_res_option_add(const PackedStringArray &p_
176186 remaps[key] = r;
177187
178188 EditorUndoRedoManager *undo_redo = EditorUndoRedoManager::get_singleton ();
179- undo_redo->create_action (vformat (TTR (" Translation Resource Remap: Add %d Remap(s) " ), p_paths.size ()));
189+ undo_redo->create_action (vformat (TTRN (" Translation Resource Remap: Add %d Remap" , " Translation Resource Remap: Add %d Remaps " , p_paths. size () ), p_paths.size ()));
180190 undo_redo->add_do_property (ProjectSettings::get_singleton (), " internationalization/locale/translation_remaps" , remaps);
181191 undo_redo->add_undo_property (ProjectSettings::get_singleton (), " internationalization/locale/translation_remaps" , GLOBAL_GET (" internationalization/locale/translation_remaps" ));
182192 undo_redo->add_do_method (this , " update_translations" );
@@ -326,14 +336,19 @@ void LocalizationEditor::_translation_res_option_delete(Object *p_item, int p_co
326336
327337void LocalizationEditor::_pot_add (const PackedStringArray &p_paths) {
328338 PackedStringArray pot_translations = GLOBAL_GET (" internationalization/locale/translations_pot_files" );
329- for (int i = 0 ; i < p_paths.size (); i++) {
330- if (!pot_translations.has (p_paths[i])) {
331- pot_translations.push_back (p_paths[i]);
339+ int count = 0 ;
340+ for (const String &path : p_paths) {
341+ if (!pot_translations.has (path)) {
342+ pot_translations.push_back (path);
343+ count += 1 ;
332344 }
333345 }
346+ if (count == 0 ) {
347+ return ;
348+ }
334349
335350 EditorUndoRedoManager *undo_redo = EditorUndoRedoManager::get_singleton ();
336- undo_redo->create_action (vformat (TTR (" Add %d file(s) for POT generation" ), p_paths. size () ));
351+ undo_redo->create_action (vformat (TTRN (" Add %d file for POT generation" , " Add %d files for POT generation " , count), count ));
337352 undo_redo->add_do_property (ProjectSettings::get_singleton (), " internationalization/locale/translations_pot_files" , pot_translations);
338353 undo_redo->add_undo_property (ProjectSettings::get_singleton (), " internationalization/locale/translations_pot_files" , GLOBAL_GET (" internationalization/locale/translations_pot_files" ));
339354 undo_redo->add_do_method (this , " update_translations" );
0 commit comments