If you ever get {#advanced_dlg.link_url} (and similar values, such as {#advanced_dlg.link_list}, {#advanced_dlg.link_target} or {#advanced_dlg.link_titlefield}) in your advanced theme link window in TinyMCE, the language file has not been loaded properly. The two simplest reasons for this is that the language file may be missing completely, or that you’ve provided a language key that does not exist. To check for the first issue, check that you have en_dlg.js in your themes/advanced/langs/ directory. To check for the other issue, try to set the language parameter (when creatinging the TinyMCE object) to ‘en‘ just to test it with the default value. If it works with ‘en’, you’re probably missing the local translation file for the advanced theme. Get it from the TinyMCE site and live happily ever after!
Thanks for the note. For anyone else running into this problem I want to add that this behavior can also happen if you load the tinymce.js script twice on the same page. This double loading of tinymce.js will lead to all sorts of problems, including the non-parsing of the language macros discussed here. Other problems that show up are all edits being lost when toggling between fullscreen mode and normal mode, and breakage in the link dialog.
Thank you for this pointer. I was getting the {#advanced_dlg.link_url} etc in my popup plus {#insert} for the button. The en_dlg.js helped with the first but not with the second problem. I am using TinyMCE in WordPress, btw, and my problem got solved after copying wp_lang_en from the tinymce/langs to themes/advanced/langs and renaming it to en.js (the last point discovered after significant struggle, because browser caching prevented me from seeing quickly where the labels were being derived from.)
Comment 2 solved my WordPress problem but I want to make it work for other languages too. Any ideas?
Languages files from TinyMCE don’t work, I will have to manage cloning the wordpress english lang file and translating things. Thanks for the post though! :)