DO NOT MERGE
cherypick from jb-dev Change-Id: Ifcae4fcf716c8bb48f3ff18f17313b3f131c3f73
refactor the logic for changing languages in global strings.
instead of using separate <span> elements for each language,
provide a unique attribute in each <a> element for each localized
version of that link's title.
Change-Id: I09c65a8dce9b3d9623e32fe17876b055e452618b
diff --git a/tools/droiddoc/templates-sdk/assets/js/docs.js b/tools/droiddoc/templates-sdk/assets/js/docs.js
index 911252e..d18c490 100644
--- a/tools/droiddoc/templates-sdk/assets/js/docs.js
+++ b/tools/droiddoc/templates-sdk/assets/js/docs.js
@@ -979,36 +979,18 @@
}
-function changeTabLang(lang) {
- var nodes = $("#header,#nav-x,.training-nav-top").find("."+lang);
- for (i=0; i < nodes.length; i++) { // for each node in this language
- var node = $(nodes[i]);
- node.siblings().css("display","none"); // hide all siblings
- if (node.not(":empty").length != 0) { //if this languages node has a translation, show it
- node.css("display","inline");
- } else { //otherwise, show English instead
- node.css("display","none");
- node.siblings().filter(".en").css("display","inline");
- }
- }
-}
-
function changeNavLang(lang) {
- var nodes = $("#devdoc-nav").find("."+lang);
- for (i=0; i < nodes.length; i++) { // for each node in this language
- var node = $(nodes[i]);
- node.siblings().css("display","none"); // hide all siblings
- if (node.not(":empty").length != 0) { // if this languages node has a translation, show it
- node.css("display","inline");
- } else { // otherwise, show English instead
- node.css("display","none");
- node.siblings().filter(".en").css("display","inline");
+ var $links = $("#devdoc-nav,#header,#nav-x,.training-nav-top,.content-footer").find("a["+lang+"-lang]");
+ $links.each(function(i){ // for each link with a translation
+ var $link = $(this);
+ if (lang != "en") { // No need to worry about English, because a language change invokes new request
+ // put the desired language from the attribute as the text
+ $link.text($link.attr(lang+"-lang"))
}
- }
+ });
}
function changeDocLang(lang) {
- changeTabLang(lang);
changeNavLang(lang);
}