The tinymce.editors
array is not populated until after you init()
the editor instances so you can't rely on it to have the data you need to do the initialization.
I would have separate inits for each language and have a base configuration that you just update with the link_list value and then init using the calculated configuration.
You can always use JavaScript to modify/extend your standard init on an editor instance basis.
For example, start with your standard configuration:
baseConfig = {
selector: 'textarea'
//everything here except your language specific configuration
....
}
...since this is just a simple JavaScript object you can inject additional properties/methods into that object before you use it to initialize TinyMCE.
For example:
customConfigEn = {
link_list: "link_list.php?lang=en"
}
customConfigFr = {
link_list: "link_list.php?lang=fr"
}
Then you can "inject" customConfig into baseConfig. The easiest way is to use jQuery's extend method:
$.extend(baseConfig, customConfigEn);
... or ...
$.extend(baseConfig, customConfigFr);
...this will take all the methods and properties from customConfig and add them to baseConfig. Once you are done you can then load TinyMCE using the newly updated baseConfig:
tinymce.init(baseConfig);
This general technique allows you to create a "standard" configuration with all the base capabilities you need while injecting additional configuration options on a page by page basis.
Note: You could also choose to create these configurations on the server before you render the HTML page but you did not mention what server side language you are using so I can't speak to how you might do it from the server side.