Я думаю, основная проблема здесь в том, что настройки браузера не влияют на свойство navigator.language
, которое получается через javascript.
Что они влияют, это заголовок HTTP-Accept-Language, но, похоже, это значение недоступно через javascript вообще. (Вероятно, почему @anddoutoi заявляет, что не может найти ссылку для него, которая не связана с серверной стороной.)
Я закодировал обходной путь: я выбил сценарий движка приложения Google в http://ajaxhttpheaders.appspot.com , который вернет вам заголовки HTTP-запросов через JSONP.
(Примечание: это взломать только для использования, если у вас нет спины end, который может сделать это для вас. В общем, вы не должны звонить на сторонние размещенные файлы javascript на своих страницах, если у вас не очень высокий уровень доверия к хосту.)
Я намерен оставьте его там навсегда, поэтому не стесняйтесь использовать его в своем коде.
Вот пример кода (в jQuery) для его использования
$.ajax({
url: "http://ajaxhttpheaders.appspot.com",
dataType: 'jsonp',
success: function(headers) {
language = headers['Accept-Language'];
nowDoSomethingWithIt(language);
}
});
Надеемся, что кто-то найдет это Полезно.
Изменить: я написал небольшой плагин jQuery для github, который обертывает эту функциональность: https://github.com/dansingerman/jQuery-Browser-Language
Редактирование 2: как запрошено здесь код, который работает на AppEngine (super triv ial на самом деле):
class MainPage(webapp.RequestHandler):
def get(self):
headers = self.request.headers
callback = self.request.get('callback')
if callback:
self.response.headers['Content-Type'] = 'application/javascript'
self.response.out.write(callback + "(")
self.response.out.write(headers)
self.response.out.write(")")
else:
self.response.headers['Content-Type'] = 'text/plain'
self.response.out.write("I need a callback=")
application = webapp.WSGIApplication(
[('/', MainPage)],
debug=False)
def main():
run_wsgi_app(application)
if __name__ == "__main__":
main()
Редактировать3: Откройте исходный код кода приложения здесь: https://github.com/dansingerman/app-engine-headers
Я тоже немного пострадал от этого, прежде чем нашел решение, изменив общий вид моей IDE.
Вы можете попробовать и настроить внешний вид или среду Eclipse из,
Перейти к: Окно -> Настройки -> Общие -> Внешний вид.
попробуйте установить,
Это можно решить, изменив настройки GTK;
gedit ~/.gtkrc-2.0
Затем добавьте это;
style "gtkcompact" {
GtkButton::default_border={0,0,0,0}
GtkButton::default_outside_border={0,0,0,0}
GtkButtonBox::child_min_width=0
GtkButtonBox::child_min_heigth=0
GtkButtonBox::child_internal_pad_x=0
GtkButtonBox::child_internal_pad_y=0
GtkMenu::vertical-padding=1
GtkMenuBar::internal_padding=0
GtkMenuItem::horizontal_padding=4
GtkToolbar::internal-padding=0
GtkToolbar::space-size=0
GtkOptionMenu::indicator_size=0
GtkOptionMenu::indicator_spacing=0
GtkPaned::handle_size=4
GtkRange::trough_border=0
GtkRange::stepper_spacing=0
GtkScale::value_spacing=0
GtkScrolledWindow::scrollbar_spacing=0
GtkTreeView::vertical-separator=0
GtkTreeView::horizontal-separator=0
GtkTreeView::fixed-height-mode=TRUE
GtkWidget::focus_padding=0
}
class "GtkWidget" style "gtkcompact"
заимствовано у http://ubuntuforums.org/showthread.php?t=1465712
В дополнение к ответу @Varun Mehta я рекомендую следующие советы для Eclipse 4 (Juno), интерфейс которого частично диктуется и настраивается правилами CSS:
В YourEclipseDir/plugins/org.eclipse.platform_4.x.y.v2012zzzzzzzz/css
отредактируйте:
e4_basestyle.css
e4_default.css
e4_default_gtk.css
... и настройте эти файлы. Я использую следующий набор настроек:
margin-*
и padding
в 0
swt-shadow-visible: false
везде, где вы его найдете, чтобы избавиться от эти огромные тени .MPartStack {font-size}
нечто меньшее, чем 12
Наконец, помните, что вы можете отключить панель инструментов. В 4.0 его состояние не запоминалось между сеансами, но кажется, что проблема решена в 4.2.1
Бонусные ресурсы: Eclipse4 / CSS поможет вам начать работу с Eclipse4 CSS, E4 / CSS / SWT Mapping содержит список других интересных атрибутов CSS, а CSS Spy поможет вам проверить пользовательский интерфейс.
Скриншот того, чем я заканчиваю:
РЕДАКТИРОВАТЬ: см. Также Как убрать кнопку закрытия (×) из вкладок Eclipse Juno?
В дополнение к ответу Ронанса, можно изменить высоту вкладок непосредственно в Eclipse Juno.
отредактируйте файл css вашего текущего стиля (например, e4_default_gtk.css) и добавьте
CTabFolder {
tab-height: 16px;
}
Примечание: CTabFolder ... не добавляйте это в CTabFolder Canvas!
Примечание: Eclipse 4 по умолчанию стал немного лучше, ошибка 420238 закрыта:
[CSS] Сокращение использования пробелов в темах Eclipse по умолчанию
До:
После:
См. Ларс Фогель статья [112] об этом:
Если вы запустите следующую веху Eclipse 4.4 , Eclipse использует гораздо меньше пробелов и оставляет больше места для важного содержания.
(Это было бы 4,4 М5)
Хотя это на техническом уровне тривиальное изменение, я надеюсь, что это улучшит первоначальное восприятие людей при использовании Eclipse.
Огромное спасибо Даниэлю Ролке, Робину Стокеру и Дани Мегерту за большую часть работы, и большое спасибо всем заинтересованным сторонам в отчете об ошибках, чтобы принять это изменение.
Если вы действительно хотите сделать вкладки красивыми и короткими, посмотрите на Clearlooks Compact .
Я предпочел просто ударить по всей IDE всплеском «meh», так что здесь - это то, чем я закончил.