Merge pull request #1955 from mattermost/PLT-7-client-user-loc
Plt 7 client user loc
Этот коммит содержится в:
4
Makefile
4
Makefile
@@ -118,7 +118,8 @@ package:
|
||||
mkdir -p $(DIST_PATH)/web/static/js
|
||||
cp -L web/static/js/*.min.js $(DIST_PATH)/web/static/js/
|
||||
cp -L web/static/js/*.min.js.map $(DIST_PATH)/web/static/js/
|
||||
cp -RL web/static/js/react-intl-2.0.0-beta-2 $(DIST_PATH)/web/static/js/
|
||||
cp -RL web/static/js/intl-1.0.0 $(DIST_PATH)/web/static/js/
|
||||
cp -RL web/static/js/react-intl-2.0.0-beta-2 $(DIST_PATH)/web/static/js/
|
||||
cp -RL web/static/i18n $(DIST_PATH)/web/static
|
||||
cp -RL web/static/config $(DIST_PATH)/web/static
|
||||
cp -RL web/static/css $(DIST_PATH)/web/static
|
||||
@@ -141,6 +142,7 @@ package:
|
||||
|
||||
sed -i'.bak' 's|react-0.14.3.js|react-0.14.3.min.js|g' $(DIST_PATH)/web/templates/head.html
|
||||
sed -i'.bak' 's|react-dom-0.14.3.js|react-dom-0.14.3.min.js|g' $(DIST_PATH)/web/templates/head.html
|
||||
sed -i'.bak' 's|Intl.js|Intl.min.js|g' $(DIST_PATH)/web/templates/head.html
|
||||
sed -i'.bak' 's|react-intl.js|react-intl.min.js|g' $(DIST_PATH)/web/templates/head.html
|
||||
sed -i'.bak' 's|jquery-2.1.4.js|jquery-2.1.4.min.js|g' $(DIST_PATH)/web/templates/head.html
|
||||
sed -i'.bak' 's|bootstrap-3.3.5.js|bootstrap-3.3.5.min.js|g' $(DIST_PATH)/web/templates/head.html
|
||||
|
||||
101
web/react/components/user_settings/manage_languages.jsx
Обычный файл
101
web/react/components/user_settings/manage_languages.jsx
Обычный файл
@@ -0,0 +1,101 @@
|
||||
// Copyright (c) 2015 Spinpunch, Inc. All Rights Reserved.
|
||||
// See License.txt for license information.
|
||||
|
||||
import * as Client from '../../utils/client.jsx';
|
||||
import * as Utils from '../../utils/utils.jsx';
|
||||
|
||||
export default class ManageLanguage extends React.Component {
|
||||
constructor(props) {
|
||||
super(props);
|
||||
|
||||
this.setupInitialState = this.setupInitialState.bind(this);
|
||||
this.setLanguage = this.setLanguage.bind(this);
|
||||
this.changeLanguage = this.changeLanguage.bind(this);
|
||||
this.submitUser = this.submitUser.bind(this);
|
||||
this.state = this.setupInitialState(props);
|
||||
}
|
||||
setupInitialState(props) {
|
||||
var user = props.user;
|
||||
return {
|
||||
languages: Utils.languages(),
|
||||
locale: user.locale
|
||||
};
|
||||
}
|
||||
setLanguage(e) {
|
||||
this.setState({locale: e.target.value});
|
||||
}
|
||||
changeLanguage(e) {
|
||||
e.preventDefault();
|
||||
|
||||
var user = this.props.user;
|
||||
var locale = this.state.locale;
|
||||
|
||||
user.locale = locale;
|
||||
|
||||
this.submitUser(user);
|
||||
}
|
||||
submitUser(user) {
|
||||
Client.updateUser(user,
|
||||
() => {
|
||||
window.location.reload(true);
|
||||
},
|
||||
(err) => {
|
||||
let serverError;
|
||||
if (err.message) {
|
||||
serverError = err.message;
|
||||
} else {
|
||||
serverError = err;
|
||||
}
|
||||
this.setState({serverError});
|
||||
}
|
||||
);
|
||||
}
|
||||
render() {
|
||||
let serverError;
|
||||
if (this.state.serverError) {
|
||||
serverError = <label className='has-error'>{this.state.serverError}</label>;
|
||||
}
|
||||
|
||||
const options = [];
|
||||
this.state.languages.forEach((lang) => {
|
||||
options.push(
|
||||
<option
|
||||
key={lang.value}
|
||||
value={lang.value}
|
||||
>
|
||||
{lang.name}
|
||||
</option>);
|
||||
});
|
||||
|
||||
return (
|
||||
<div key='changeLanguage'>
|
||||
<br/>
|
||||
<label className='control-label'>{'Change interface language'}</label>
|
||||
<div className='padding-top'>
|
||||
<select
|
||||
ref='language'
|
||||
className='form-control'
|
||||
value={this.state.locale}
|
||||
onChange={this.setLanguage}
|
||||
>
|
||||
{options}
|
||||
</select>
|
||||
{serverError}
|
||||
<div className='padding-top'>
|
||||
<a
|
||||
className={'btn btn-sm btn-primary'}
|
||||
href='#'
|
||||
onClick={this.changeLanguage}
|
||||
>
|
||||
{'Set language'}
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
ManageLanguage.propTypes = {
|
||||
user: React.PropTypes.object
|
||||
};
|
||||
@@ -5,7 +5,9 @@ import {savePreferences} from '../../utils/client.jsx';
|
||||
import SettingItemMin from '../setting_item_min.jsx';
|
||||
import SettingItemMax from '../setting_item_max.jsx';
|
||||
import Constants from '../../utils/constants.jsx';
|
||||
const PreReleaseFeatures = Constants.PRE_RELEASE_FEATURES;
|
||||
import PreferenceStore from '../../stores/preference_store.jsx';
|
||||
import ManageLanguages from './manage_languages.jsx';
|
||||
import * as Utils from '../../utils/utils.jsx';
|
||||
|
||||
function getDisplayStateFromStores() {
|
||||
@@ -78,6 +80,7 @@ export default class UserSettingsDisplay extends React.Component {
|
||||
let clockSection;
|
||||
let nameFormatSection;
|
||||
let fontSection;
|
||||
let languagesSection;
|
||||
|
||||
if (this.props.activeSection === 'clock') {
|
||||
const clockFormat = [false, false];
|
||||
@@ -292,6 +295,48 @@ export default class UserSettingsDisplay extends React.Component {
|
||||
);
|
||||
}
|
||||
|
||||
if (Utils.isFeatureEnabled(PreReleaseFeatures.LOC_PREVIEW)) {
|
||||
if (this.props.activeSection === 'languages') {
|
||||
var inputs = [];
|
||||
inputs.push(
|
||||
<ManageLanguages
|
||||
user={this.props.user}
|
||||
key='languages-ui'
|
||||
/>
|
||||
);
|
||||
|
||||
languagesSection = (
|
||||
<SettingItemMax
|
||||
title={'Language'}
|
||||
width='medium'
|
||||
inputs={inputs}
|
||||
updateSection={(e) => {
|
||||
this.updateSection('');
|
||||
e.preventDefault();
|
||||
}}
|
||||
/>
|
||||
);
|
||||
} else {
|
||||
var locale = 'English';
|
||||
Utils.languages().forEach((l) => {
|
||||
if (l.value === this.props.user.locale) {
|
||||
locale = l.name;
|
||||
}
|
||||
});
|
||||
|
||||
languagesSection = (
|
||||
<SettingItemMin
|
||||
title={'Language'}
|
||||
width='medium'
|
||||
describe={locale}
|
||||
updateSection={() => {
|
||||
this.updateSection('languages');
|
||||
}}
|
||||
/>
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
return (
|
||||
<div>
|
||||
<div className='modal-header'>
|
||||
@@ -324,6 +369,7 @@ export default class UserSettingsDisplay extends React.Component {
|
||||
<div className='divider-dark'/>
|
||||
{nameFormatSection}
|
||||
<div className='divider-dark'/>
|
||||
{languagesSection}
|
||||
</div>
|
||||
</div>
|
||||
);
|
||||
|
||||
@@ -451,6 +451,10 @@ export default {
|
||||
EMBED_PREVIEW: {
|
||||
label: 'embed_preview',
|
||||
description: 'Show preview snippet of links below message'
|
||||
},
|
||||
LOC_PREVIEW: {
|
||||
label: 'loc_preview',
|
||||
description: 'Show user language in display settings'
|
||||
}
|
||||
},
|
||||
OVERLAY_TIME_DELAY: 400,
|
||||
|
||||
@@ -1340,3 +1340,18 @@ export function clearFileInput(elm) {
|
||||
// Do nothing
|
||||
}
|
||||
}
|
||||
|
||||
export function languages() {
|
||||
return (
|
||||
[
|
||||
{
|
||||
value: 'en',
|
||||
name: 'English'
|
||||
},
|
||||
{
|
||||
value: 'es',
|
||||
name: 'Español'
|
||||
}
|
||||
]
|
||||
);
|
||||
}
|
||||
|
||||
697
web/static/js/intl-1.0.0/Intl.complete.js
Исполняемый файл
697
web/static/js/intl-1.0.0/Intl.complete.js
Исполняемый файл
Различия файлов скрыты, потому что одна или несколько строк слишком длинны
3256
web/static/js/intl-1.0.0/Intl.js
Исполняемый файл
3256
web/static/js/intl-1.0.0/Intl.js
Исполняемый файл
Разница между файлами не показана из-за своего большого размера
Загрузить разницу
1
web/static/js/intl-1.0.0/Intl.js.map
Исполняемый файл
1
web/static/js/intl-1.0.0/Intl.js.map
Исполняемый файл
Различия файлов скрыты, потому что одна или несколько строк слишком длинны
1
web/static/js/intl-1.0.0/Intl.min.js
поставляемый
Исполняемый файл
1
web/static/js/intl-1.0.0/Intl.min.js
поставляемый
Исполняемый файл
Различия файлов скрыты, потому что одна или несколько строк слишком длинны
696
web/static/js/intl-1.0.0/locale-data/complete.js
Исполняемый файл
696
web/static/js/intl-1.0.0/locale-data/complete.js
Исполняемый файл
Различия файлов скрыты, потому что одна или несколько строк слишком длинны
2205
web/static/js/intl-1.0.0/locale-data/json/af-NA.json
Исполняемый файл
2205
web/static/js/intl-1.0.0/locale-data/json/af-NA.json
Исполняемый файл
Разница между файлами не показана из-за своего большого размера
Загрузить разницу
2204
web/static/js/intl-1.0.0/locale-data/json/af-ZA.json
Исполняемый файл
2204
web/static/js/intl-1.0.0/locale-data/json/af-ZA.json
Исполняемый файл
Разница между файлами не показана из-за своего большого размера
Загрузить разницу
2204
web/static/js/intl-1.0.0/locale-data/json/af.json
Исполняемый файл
2204
web/static/js/intl-1.0.0/locale-data/json/af.json
Исполняемый файл
Разница между файлами не показана из-за своего большого размера
Загрузить разницу
2199
web/static/js/intl-1.0.0/locale-data/json/agq-CM.json
Исполняемый файл
2199
web/static/js/intl-1.0.0/locale-data/json/agq-CM.json
Исполняемый файл
Разница между файлами не показана из-за своего большого размера
Загрузить разницу
2199
web/static/js/intl-1.0.0/locale-data/json/agq.json
Исполняемый файл
2199
web/static/js/intl-1.0.0/locale-data/json/agq.json
Исполняемый файл
Разница между файлами не показана из-за своего большого размера
Загрузить разницу
2203
web/static/js/intl-1.0.0/locale-data/json/ak-GH.json
Исполняемый файл
2203
web/static/js/intl-1.0.0/locale-data/json/ak-GH.json
Исполняемый файл
Разница между файлами не показана из-за своего большого размера
Загрузить разницу
2203
web/static/js/intl-1.0.0/locale-data/json/ak.json
Исполняемый файл
2203
web/static/js/intl-1.0.0/locale-data/json/ak.json
Исполняемый файл
Разница между файлами не показана из-за своего большого размера
Загрузить разницу
2204
web/static/js/intl-1.0.0/locale-data/json/am-ET.json
Исполняемый файл
2204
web/static/js/intl-1.0.0/locale-data/json/am-ET.json
Исполняемый файл
Разница между файлами не показана из-за своего большого размера
Загрузить разницу
2204
web/static/js/intl-1.0.0/locale-data/json/am.json
Исполняемый файл
2204
web/static/js/intl-1.0.0/locale-data/json/am.json
Исполняемый файл
Разница между файлами не показана из-за своего большого размера
Загрузить разницу
2239
web/static/js/intl-1.0.0/locale-data/json/ar-001.json
Исполняемый файл
2239
web/static/js/intl-1.0.0/locale-data/json/ar-001.json
Исполняемый файл
Разница между файлами не показана из-за своего большого размера
Загрузить разницу
2239
web/static/js/intl-1.0.0/locale-data/json/ar-AE.json
Исполняемый файл
2239
web/static/js/intl-1.0.0/locale-data/json/ar-AE.json
Исполняемый файл
Разница между файлами не показана из-за своего большого размера
Загрузить разницу
2239
web/static/js/intl-1.0.0/locale-data/json/ar-BH.json
Исполняемый файл
2239
web/static/js/intl-1.0.0/locale-data/json/ar-BH.json
Исполняемый файл
Разница между файлами не показана из-за своего большого размера
Загрузить разницу
2240
web/static/js/intl-1.0.0/locale-data/json/ar-DJ.json
Исполняемый файл
2240
web/static/js/intl-1.0.0/locale-data/json/ar-DJ.json
Исполняемый файл
Разница между файлами не показана из-за своего большого размера
Загрузить разницу
2238
web/static/js/intl-1.0.0/locale-data/json/ar-DZ.json
Исполняемый файл
2238
web/static/js/intl-1.0.0/locale-data/json/ar-DZ.json
Исполняемый файл
Разница между файлами не показана из-за своего большого размера
Загрузить разницу
2239
web/static/js/intl-1.0.0/locale-data/json/ar-EG.json
Исполняемый файл
2239
web/static/js/intl-1.0.0/locale-data/json/ar-EG.json
Исполняемый файл
Разница между файлами не показана из-за своего большого размера
Загрузить разницу
2238
web/static/js/intl-1.0.0/locale-data/json/ar-EH.json
Исполняемый файл
2238
web/static/js/intl-1.0.0/locale-data/json/ar-EH.json
Исполняемый файл
Разница между файлами не показана из-за своего большого размера
Загрузить разницу
2240
web/static/js/intl-1.0.0/locale-data/json/ar-ER.json
Исполняемый файл
2240
web/static/js/intl-1.0.0/locale-data/json/ar-ER.json
Исполняемый файл
Разница между файлами не показана из-за своего большого размера
Загрузить разницу
2239
web/static/js/intl-1.0.0/locale-data/json/ar-IL.json
Исполняемый файл
2239
web/static/js/intl-1.0.0/locale-data/json/ar-IL.json
Исполняемый файл
Разница между файлами не показана из-за своего большого размера
Загрузить разницу
2239
web/static/js/intl-1.0.0/locale-data/json/ar-IQ.json
Исполняемый файл
2239
web/static/js/intl-1.0.0/locale-data/json/ar-IQ.json
Исполняемый файл
Разница между файлами не показана из-за своего большого размера
Загрузить разницу
2239
web/static/js/intl-1.0.0/locale-data/json/ar-JO.json
Исполняемый файл
2239
web/static/js/intl-1.0.0/locale-data/json/ar-JO.json
Исполняемый файл
Разница между файлами не показана из-за своего большого размера
Загрузить разницу
2239
web/static/js/intl-1.0.0/locale-data/json/ar-KM.json
Исполняемый файл
2239
web/static/js/intl-1.0.0/locale-data/json/ar-KM.json
Исполняемый файл
Разница между файлами не показана из-за своего большого размера
Загрузить разницу
2239
web/static/js/intl-1.0.0/locale-data/json/ar-KW.json
Исполняемый файл
2239
web/static/js/intl-1.0.0/locale-data/json/ar-KW.json
Исполняемый файл
Разница между файлами не показана из-за своего большого размера
Загрузить разницу
2238
web/static/js/intl-1.0.0/locale-data/json/ar-LB.json
Исполняемый файл
2238
web/static/js/intl-1.0.0/locale-data/json/ar-LB.json
Исполняемый файл
Разница между файлами не показана из-за своего большого размера
Загрузить разницу
2238
web/static/js/intl-1.0.0/locale-data/json/ar-LY.json
Исполняемый файл
2238
web/static/js/intl-1.0.0/locale-data/json/ar-LY.json
Исполняемый файл
Разница между файлами не показана из-за своего большого размера
Загрузить разницу
2238
web/static/js/intl-1.0.0/locale-data/json/ar-MA.json
Исполняемый файл
2238
web/static/js/intl-1.0.0/locale-data/json/ar-MA.json
Исполняемый файл
Разница между файлами не показана из-за своего большого размера
Загрузить разницу
2239
web/static/js/intl-1.0.0/locale-data/json/ar-MR.json
Исполняемый файл
2239
web/static/js/intl-1.0.0/locale-data/json/ar-MR.json
Исполняемый файл
Разница между файлами не показана из-за своего большого размера
Загрузить разницу
2239
web/static/js/intl-1.0.0/locale-data/json/ar-OM.json
Исполняемый файл
2239
web/static/js/intl-1.0.0/locale-data/json/ar-OM.json
Исполняемый файл
Разница между файлами не показана из-за своего большого размера
Загрузить разницу
2239
web/static/js/intl-1.0.0/locale-data/json/ar-PS.json
Исполняемый файл
2239
web/static/js/intl-1.0.0/locale-data/json/ar-PS.json
Исполняемый файл
Разница между файлами не показана из-за своего большого размера
Загрузить разницу
2239
web/static/js/intl-1.0.0/locale-data/json/ar-QA.json
Исполняемый файл
2239
web/static/js/intl-1.0.0/locale-data/json/ar-QA.json
Исполняемый файл
Разница между файлами не показана из-за своего большого размера
Загрузить разницу
2239
web/static/js/intl-1.0.0/locale-data/json/ar-SA.json
Исполняемый файл
2239
web/static/js/intl-1.0.0/locale-data/json/ar-SA.json
Исполняемый файл
Разница между файлами не показана из-за своего большого размера
Загрузить разницу
2239
web/static/js/intl-1.0.0/locale-data/json/ar-SD.json
Исполняемый файл
2239
web/static/js/intl-1.0.0/locale-data/json/ar-SD.json
Исполняемый файл
Разница между файлами не показана из-за своего большого размера
Загрузить разницу
2240
web/static/js/intl-1.0.0/locale-data/json/ar-SO.json
Исполняемый файл
2240
web/static/js/intl-1.0.0/locale-data/json/ar-SO.json
Исполняемый файл
Разница между файлами не показана из-за своего большого размера
Загрузить разницу
2239
web/static/js/intl-1.0.0/locale-data/json/ar-SS.json
Исполняемый файл
2239
web/static/js/intl-1.0.0/locale-data/json/ar-SS.json
Исполняемый файл
Разница между файлами не показана из-за своего большого размера
Загрузить разницу
2239
web/static/js/intl-1.0.0/locale-data/json/ar-SY.json
Исполняемый файл
2239
web/static/js/intl-1.0.0/locale-data/json/ar-SY.json
Исполняемый файл
Разница между файлами не показана из-за своего большого размера
Загрузить разницу
2239
web/static/js/intl-1.0.0/locale-data/json/ar-TD.json
Исполняемый файл
2239
web/static/js/intl-1.0.0/locale-data/json/ar-TD.json
Исполняемый файл
Разница между файлами не показана из-за своего большого размера
Загрузить разницу
2238
web/static/js/intl-1.0.0/locale-data/json/ar-TN.json
Исполняемый файл
2238
web/static/js/intl-1.0.0/locale-data/json/ar-TN.json
Исполняемый файл
Разница между файлами не показана из-за своего большого размера
Загрузить разницу
2239
web/static/js/intl-1.0.0/locale-data/json/ar-YE.json
Исполняемый файл
2239
web/static/js/intl-1.0.0/locale-data/json/ar-YE.json
Исполняемый файл
Разница между файлами не показана из-за своего большого размера
Загрузить разницу
2239
web/static/js/intl-1.0.0/locale-data/json/ar.json
Исполняемый файл
2239
web/static/js/intl-1.0.0/locale-data/json/ar.json
Исполняемый файл
Разница между файлами не показана из-за своего большого размера
Загрузить разницу
2208
web/static/js/intl-1.0.0/locale-data/json/as-IN.json
Исполняемый файл
2208
web/static/js/intl-1.0.0/locale-data/json/as-IN.json
Исполняемый файл
Разница между файлами не показана из-за своего большого размера
Загрузить разницу
2208
web/static/js/intl-1.0.0/locale-data/json/as.json
Исполняемый файл
2208
web/static/js/intl-1.0.0/locale-data/json/as.json
Исполняемый файл
Разница между файлами не показана из-за своего большого размера
Загрузить разницу
2203
web/static/js/intl-1.0.0/locale-data/json/asa-TZ.json
Исполняемый файл
2203
web/static/js/intl-1.0.0/locale-data/json/asa-TZ.json
Исполняемый файл
Разница между файлами не показана из-за своего большого размера
Загрузить разницу
2203
web/static/js/intl-1.0.0/locale-data/json/asa.json
Исполняемый файл
2203
web/static/js/intl-1.0.0/locale-data/json/asa.json
Исполняемый файл
Разница между файлами не показана из-за своего большого размера
Загрузить разницу
2200
web/static/js/intl-1.0.0/locale-data/json/ast-ES.json
Исполняемый файл
2200
web/static/js/intl-1.0.0/locale-data/json/ast-ES.json
Исполняемый файл
Разница между файлами не показана из-за своего большого размера
Загрузить разницу
2200
web/static/js/intl-1.0.0/locale-data/json/ast.json
Исполняемый файл
2200
web/static/js/intl-1.0.0/locale-data/json/ast.json
Исполняемый файл
Разница между файлами не показана из-за своего большого размера
Загрузить разницу
2200
web/static/js/intl-1.0.0/locale-data/json/az-Cyrl-AZ.json
Исполняемый файл
2200
web/static/js/intl-1.0.0/locale-data/json/az-Cyrl-AZ.json
Исполняемый файл
Разница между файлами не показана из-за своего большого размера
Загрузить разницу
2200
web/static/js/intl-1.0.0/locale-data/json/az-Cyrl.json
Исполняемый файл
2200
web/static/js/intl-1.0.0/locale-data/json/az-Cyrl.json
Исполняемый файл
Разница между файлами не показана из-за своего большого размера
Загрузить разницу
2200
web/static/js/intl-1.0.0/locale-data/json/az-Latn-AZ.json
Исполняемый файл
2200
web/static/js/intl-1.0.0/locale-data/json/az-Latn-AZ.json
Исполняемый файл
Разница между файлами не показана из-за своего большого размера
Загрузить разницу
2200
web/static/js/intl-1.0.0/locale-data/json/az-Latn.json
Исполняемый файл
2200
web/static/js/intl-1.0.0/locale-data/json/az-Latn.json
Исполняемый файл
Разница между файлами не показана из-за своего большого размера
Загрузить разницу
2200
web/static/js/intl-1.0.0/locale-data/json/az.json
Исполняемый файл
2200
web/static/js/intl-1.0.0/locale-data/json/az.json
Исполняемый файл
Разница между файлами не показана из-за своего большого размера
Загрузить разницу
2199
web/static/js/intl-1.0.0/locale-data/json/bas-CM.json
Исполняемый файл
2199
web/static/js/intl-1.0.0/locale-data/json/bas-CM.json
Исполняемый файл
Разница между файлами не показана из-за своего большого размера
Загрузить разницу
2199
web/static/js/intl-1.0.0/locale-data/json/bas.json
Исполняемый файл
2199
web/static/js/intl-1.0.0/locale-data/json/bas.json
Исполняемый файл
Разница между файлами не показана из-за своего большого размера
Загрузить разницу
2204
web/static/js/intl-1.0.0/locale-data/json/be-BY.json
Исполняемый файл
2204
web/static/js/intl-1.0.0/locale-data/json/be-BY.json
Исполняемый файл
Разница между файлами не показана из-за своего большого размера
Загрузить разницу
2204
web/static/js/intl-1.0.0/locale-data/json/be.json
Исполняемый файл
2204
web/static/js/intl-1.0.0/locale-data/json/be.json
Исполняемый файл
Разница между файлами не показана из-за своего большого размера
Загрузить разницу
2203
web/static/js/intl-1.0.0/locale-data/json/bem-ZM.json
Исполняемый файл
2203
web/static/js/intl-1.0.0/locale-data/json/bem-ZM.json
Исполняемый файл
Разница между файлами не показана из-за своего большого размера
Загрузить разницу
2203
web/static/js/intl-1.0.0/locale-data/json/bem.json
Исполняемый файл
2203
web/static/js/intl-1.0.0/locale-data/json/bem.json
Исполняемый файл
Разница между файлами не показана из-за своего большого размера
Загрузить разницу
2203
web/static/js/intl-1.0.0/locale-data/json/bez-TZ.json
Исполняемый файл
2203
web/static/js/intl-1.0.0/locale-data/json/bez-TZ.json
Исполняемый файл
Разница между файлами не показана из-за своего большого размера
Загрузить разницу
2203
web/static/js/intl-1.0.0/locale-data/json/bez.json
Исполняемый файл
2203
web/static/js/intl-1.0.0/locale-data/json/bez.json
Исполняемый файл
Разница между файлами не показана из-за своего большого размера
Загрузить разницу
2196
web/static/js/intl-1.0.0/locale-data/json/bg-BG.json
Исполняемый файл
2196
web/static/js/intl-1.0.0/locale-data/json/bg-BG.json
Исполняемый файл
Разница между файлами не показана из-за своего большого размера
Загрузить разницу
2196
web/static/js/intl-1.0.0/locale-data/json/bg.json
Исполняемый файл
2196
web/static/js/intl-1.0.0/locale-data/json/bg.json
Исполняемый файл
Разница между файлами не показана из-за своего большого размера
Загрузить разницу
2205
web/static/js/intl-1.0.0/locale-data/json/bm-Latn-ML.json
Исполняемый файл
2205
web/static/js/intl-1.0.0/locale-data/json/bm-Latn-ML.json
Исполняемый файл
Разница между файлами не показана из-за своего большого размера
Загрузить разницу
2205
web/static/js/intl-1.0.0/locale-data/json/bm-Latn.json
Исполняемый файл
2205
web/static/js/intl-1.0.0/locale-data/json/bm-Latn.json
Исполняемый файл
Разница между файлами не показана из-за своего большого размера
Загрузить разницу
2199
web/static/js/intl-1.0.0/locale-data/json/bm-Nkoo.json
Исполняемый файл
2199
web/static/js/intl-1.0.0/locale-data/json/bm-Nkoo.json
Исполняемый файл
Разница между файлами не показана из-за своего большого размера
Загрузить разницу
2205
web/static/js/intl-1.0.0/locale-data/json/bm.json
Исполняемый файл
2205
web/static/js/intl-1.0.0/locale-data/json/bm.json
Исполняемый файл
Разница между файлами не показана из-за своего большого размера
Загрузить разницу
2215
web/static/js/intl-1.0.0/locale-data/json/bn-BD.json
Исполняемый файл
2215
web/static/js/intl-1.0.0/locale-data/json/bn-BD.json
Исполняемый файл
Разница между файлами не показана из-за своего большого размера
Загрузить разницу
2215
web/static/js/intl-1.0.0/locale-data/json/bn-IN.json
Исполняемый файл
2215
web/static/js/intl-1.0.0/locale-data/json/bn-IN.json
Исполняемый файл
Разница между файлами не показана из-за своего большого размера
Загрузить разницу
2215
web/static/js/intl-1.0.0/locale-data/json/bn.json
Исполняемый файл
2215
web/static/js/intl-1.0.0/locale-data/json/bn.json
Исполняемый файл
Разница между файлами не показана из-за своего большого размера
Загрузить разницу
2207
web/static/js/intl-1.0.0/locale-data/json/bo-CN.json
Исполняемый файл
2207
web/static/js/intl-1.0.0/locale-data/json/bo-CN.json
Исполняемый файл
Разница между файлами не показана из-за своего большого размера
Загрузить разницу
2207
web/static/js/intl-1.0.0/locale-data/json/bo-IN.json
Исполняемый файл
2207
web/static/js/intl-1.0.0/locale-data/json/bo-IN.json
Исполняемый файл
Разница между файлами не показана из-за своего большого размера
Загрузить разницу
2207
web/static/js/intl-1.0.0/locale-data/json/bo.json
Исполняемый файл
2207
web/static/js/intl-1.0.0/locale-data/json/bo.json
Исполняемый файл
Разница между файлами не показана из-за своего большого размера
Загрузить разницу
2199
web/static/js/intl-1.0.0/locale-data/json/br-FR.json
Исполняемый файл
2199
web/static/js/intl-1.0.0/locale-data/json/br-FR.json
Исполняемый файл
Разница между файлами не показана из-за своего большого размера
Загрузить разницу
2199
web/static/js/intl-1.0.0/locale-data/json/br.json
Исполняемый файл
2199
web/static/js/intl-1.0.0/locale-data/json/br.json
Исполняемый файл
Разница между файлами не показана из-за своего большого размера
Загрузить разницу
2211
web/static/js/intl-1.0.0/locale-data/json/brx-IN.json
Исполняемый файл
2211
web/static/js/intl-1.0.0/locale-data/json/brx-IN.json
Исполняемый файл
Разница между файлами не показана из-за своего большого размера
Загрузить разницу
2211
web/static/js/intl-1.0.0/locale-data/json/brx.json
Исполняемый файл
2211
web/static/js/intl-1.0.0/locale-data/json/brx.json
Исполняемый файл
Разница между файлами не показана из-за своего большого размера
Загрузить разницу
2204
web/static/js/intl-1.0.0/locale-data/json/bs-Cyrl-BA.json
Исполняемый файл
2204
web/static/js/intl-1.0.0/locale-data/json/bs-Cyrl-BA.json
Исполняемый файл
Разница между файлами не показана из-за своего большого размера
Загрузить разницу
2204
web/static/js/intl-1.0.0/locale-data/json/bs-Cyrl.json
Исполняемый файл
2204
web/static/js/intl-1.0.0/locale-data/json/bs-Cyrl.json
Исполняемый файл
Разница между файлами не показана из-за своего большого размера
Загрузить разницу
2196
web/static/js/intl-1.0.0/locale-data/json/bs-Latn-BA.json
Исполняемый файл
2196
web/static/js/intl-1.0.0/locale-data/json/bs-Latn-BA.json
Исполняемый файл
Разница между файлами не показана из-за своего большого размера
Загрузить разницу
2196
web/static/js/intl-1.0.0/locale-data/json/bs-Latn.json
Исполняемый файл
2196
web/static/js/intl-1.0.0/locale-data/json/bs-Latn.json
Исполняемый файл
Разница между файлами не показана из-за своего большого размера
Загрузить разницу
2196
web/static/js/intl-1.0.0/locale-data/json/bs.json
Исполняемый файл
2196
web/static/js/intl-1.0.0/locale-data/json/bs.json
Исполняемый файл
Разница между файлами не показана из-за своего большого размера
Загрузить разницу
2203
web/static/js/intl-1.0.0/locale-data/json/ca-AD.json
Исполняемый файл
2203
web/static/js/intl-1.0.0/locale-data/json/ca-AD.json
Исполняемый файл
Разница между файлами не показана из-за своего большого размера
Загрузить разницу
2203
web/static/js/intl-1.0.0/locale-data/json/ca-ES-VALENCIA.json
Исполняемый файл
2203
web/static/js/intl-1.0.0/locale-data/json/ca-ES-VALENCIA.json
Исполняемый файл
Разница между файлами не показана из-за своего большого размера
Загрузить разницу
2203
web/static/js/intl-1.0.0/locale-data/json/ca-ES.json
Исполняемый файл
2203
web/static/js/intl-1.0.0/locale-data/json/ca-ES.json
Исполняемый файл
Разница между файлами не показана из-за своего большого размера
Загрузить разницу
2204
web/static/js/intl-1.0.0/locale-data/json/ca-FR.json
Исполняемый файл
2204
web/static/js/intl-1.0.0/locale-data/json/ca-FR.json
Исполняемый файл
Разница между файлами не показана из-за своего большого размера
Загрузить разницу
2203
web/static/js/intl-1.0.0/locale-data/json/ca-IT.json
Исполняемый файл
2203
web/static/js/intl-1.0.0/locale-data/json/ca-IT.json
Исполняемый файл
Разница между файлами не показана из-за своего большого размера
Загрузить разницу
2203
web/static/js/intl-1.0.0/locale-data/json/ca.json
Исполняемый файл
2203
web/static/js/intl-1.0.0/locale-data/json/ca.json
Исполняемый файл
Разница между файлами не показана из-за своего большого размера
Загрузить разницу
2203
web/static/js/intl-1.0.0/locale-data/json/cgg-UG.json
Исполняемый файл
2203
web/static/js/intl-1.0.0/locale-data/json/cgg-UG.json
Исполняемый файл
Разница между файлами не показана из-за своего большого размера
Загрузить разницу
2203
web/static/js/intl-1.0.0/locale-data/json/cgg.json
Исполняемый файл
2203
web/static/js/intl-1.0.0/locale-data/json/cgg.json
Исполняемый файл
Разница между файлами не показана из-за своего большого размера
Загрузить разницу
2200
web/static/js/intl-1.0.0/locale-data/json/chr-US.json
Исполняемый файл
2200
web/static/js/intl-1.0.0/locale-data/json/chr-US.json
Исполняемый файл
Разница между файлами не показана из-за своего большого размера
Загрузить разницу
2200
web/static/js/intl-1.0.0/locale-data/json/chr.json
Исполняемый файл
2200
web/static/js/intl-1.0.0/locale-data/json/chr.json
Исполняемый файл
Разница между файлами не показана из-за своего большого размера
Загрузить разницу
2207
web/static/js/intl-1.0.0/locale-data/json/cs-CZ.json
Исполняемый файл
2207
web/static/js/intl-1.0.0/locale-data/json/cs-CZ.json
Исполняемый файл
Разница между файлами не показана из-за своего большого размера
Загрузить разницу
2207
web/static/js/intl-1.0.0/locale-data/json/cs.json
Исполняемый файл
2207
web/static/js/intl-1.0.0/locale-data/json/cs.json
Исполняемый файл
Разница между файлами не показана из-за своего большого размера
Загрузить разницу
Некоторые файлы не были показаны из-за слишком большого количества измененных файлов Показать больше
Ссылка в новой задаче
Block a user