|
69 | 69 | function on_version_switch() { |
70 | 70 | var selected_version = $(this).children('option:selected').attr('value') + '/'; |
71 | 71 | var url = window.location.href; |
72 | | - var current_language = find_language_in_url(url); |
73 | | - var current_version = find_version_in_url(url); |
| 72 | + var current_language = language_segment_from_url(url); |
| 73 | + var current_version = version_segment_in_url(url); |
74 | 74 | var new_url = url.replace('.org/' + current_language + current_version, |
75 | 75 | '.org/' + current_language + selected_version); |
76 | 76 | if (new_url != url) { |
|
82 | 82 | function on_language_switch() { |
83 | 83 | var selected_language = $(this).children('option:selected').attr('value') + '/'; |
84 | 84 | var url = window.location.href; |
85 | | - var current_language = find_language_in_url(url); |
86 | | - var current_version = find_version_in_url(url); |
| 85 | + var current_language = language_segment_from_url(url); |
| 86 | + var current_version = version_segment_in_url(url); |
87 | 87 | if (selected_language == 'en/') // Special 'default' case for english. |
88 | 88 | selected_language = ''; |
89 | 89 | var new_url = url.replace('.org/' + current_language + current_version, |
|
94 | 94 | } |
95 | 95 | } |
96 | 96 |
|
97 | | - // Returns the path segment as a string, like 'fr/' or '' if not found. |
98 | | - function find_language_in_url(url) { |
| 97 | + // Returns the path segment of the language as a string, like 'fr/' |
| 98 | + // or '' if not found. |
| 99 | + function language_segment_from_url(url) { |
99 | 100 | var language_regexp = '\.org/(' + Object.keys(all_languages).join('|') + '/)'; |
100 | 101 | var match = url.match(language_regexp); |
101 | 102 | if (match !== null) |
102 | 103 | return match[1]; |
103 | 104 | return ''; |
104 | 105 | } |
105 | 106 |
|
106 | | - // Returns the path segment as a string, like '3.6/' or '' if not found. |
107 | | - function find_version_in_url(url) { |
| 107 | + // Returns the path segment of the version as a string, like '3.6/' |
| 108 | + // or '' if not found. |
| 109 | + function version_segment_in_url(url) { |
108 | 110 | var language_segment = '(?:(?:' + Object.keys(all_languages).join('|') + ')/)'; |
109 | 111 | var version_segment = '(?:(?:' + version_regexs.join('|') + ')/)'; |
110 | 112 | var version_regexp = '\\.org/' + language_segment + '?(' + version_segment + ')'; |
|
116 | 118 |
|
117 | 119 | $(document).ready(function() { |
118 | 120 | var release = DOCUMENTATION_OPTIONS.VERSION; |
119 | | - var current_language = find_language_in_url(window.location.href).replace( |
120 | | - /\/+$/g, '') || 'en'; |
| 121 | + var language_segment = language_segment_from_url(window.location.href); |
| 122 | + var current_language = language_segment.replace(/\/+$/g, '') || 'en'; |
121 | 123 | var version = release.substr(0, 3); |
122 | 124 | var version_select = build_version_select(version, release); |
123 | 125 |
|
|
0 commit comments