Skip to content

Commit 6c5b74c

Browse files
authored
♻️ Move localization-strings under localization service (ampproject#34945)
* Make #services/localization a submodule * Move localized-strings closer to localization service * Update owners * Drop index exports for cleaner deps * Update imports * Update dep-check config
1 parent 9dda7df commit 6c5b74c

29 files changed

+67
-57
lines changed

Diff for: build-system/test-configs/dep-check-config.js

+4-2
Original file line numberDiff line numberDiff line change
@@ -425,8 +425,10 @@ exports.rules = [
425425
'extensions/amp-link-rewriter/0.1/amp-link-rewriter.js->' +
426426
'src/service/navigation.js',
427427
// For localization.
428-
'extensions/amp-story/1.0/amp-story-localization-service.js->src/service/localization.js',
429-
'extensions/amp-story-auto-ads/0.1/story-ad-localization.js->src/service/localization.js',
428+
'extensions/amp-story/1.0/amp-story-localization-service.js->src/service/localization/index.js',
429+
'extensions/amp-story*/**/*.js->src/service/localization/strings.js',
430+
'extensions/amp-story-auto-ads/0.1/story-ad-localization.js->src/service/localization/index.js',
431+
430432
// Accessing calculateScriptBaseUrl() for vendor config URLs
431433
'extensions/amp-analytics/0.1/config.js->' +
432434
'src/service/extension-script.js',

Diff for: extensions/amp-story-360/0.1/amp-story-360.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ import {
2525
} from '../../amp-story/1.0/amp-story-store-service';
2626
import {CSS} from '../../../build/amp-story-360-0.1.css';
2727
import {CommonSignals} from '#core/constants/common-signals';
28-
import {LocalizedStringId} from '../../../src/localized-strings';
28+
import {LocalizedStringId} from '#service/localization/strings';
2929
import {Matrix, Renderer} from '#third_party/zuho/zuho';
3030
import {Services} from '#service';
3131
import {applyFillContent, isLayoutSizeDefined} from '#core/dom/layout';

Diff for: extensions/amp-story-auto-ads/0.1/story-ad-localization.js

+2-2
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ import {LocalizationService} from '#service/localization';
1818
import {
1919
LocalizedStringId,
2020
createPseudoLocale,
21-
} from '../../../src/localized-strings';
21+
} from '#service/localization/strings';
2222
import {Services} from '#service';
2323
import {registerServiceBuilderForDoc} from '../../../src/service-helpers';
2424
import LocalizedStringsAr from './_locales/ar.json' assert {type: 'json'}; // lgtm[js/syntax-error]
@@ -102,7 +102,7 @@ export class StoryAdLocalization {
102102
}
103103

104104
/**
105-
* @param {!../../../src/localized-strings.LocalizedStringId} id
105+
* @param {!../../../src/service/localization/strings.LocalizedStringId} id
106106
* @return {?string}
107107
*/
108108
getLocalizedString(id) {

Diff for: extensions/amp-story-auto-ads/0.1/test/test-story-ad-localization-strings.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
* limitations under the License.
1515
*/
1616

17-
import {LocalizedStringId} from '../../../../src/localized-strings';
17+
import {LocalizedStringId} from '#service/localization/strings';
1818
import localesObjs from '../_locales';
1919

2020
describes.fakeWin('amp-story-ad-localization-strings', {amp: true}, () => {

Diff for: extensions/amp-story-education/0.1/amp-story-education.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ import {
2121
} from '../../amp-story/1.0/amp-story-store-service';
2222
import {CSS} from '../../../build/amp-story-education-0.1.css';
2323
import {Layout} from '#core/dom/layout';
24-
import {LocalizedStringId} from '../../../src/localized-strings';
24+
import {LocalizedStringId} from '#service/localization/strings';
2525
import {Services} from '#service';
2626
import {createShadowRootWithStyle} from '../../amp-story/1.0/utils';
2727
import {dev} from '../../../src/log';

Diff for: extensions/amp-story-interactive/0.1/amp-story-interactive-quiz.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ import {
1919
InteractiveType,
2020
} from './amp-story-interactive-abstract';
2121
import {CSS} from '../../../build/amp-story-interactive-quiz-0.1.css';
22-
import {LocalizedStringId} from '../../../src/localized-strings';
22+
import {LocalizedStringId} from '#service/localization/strings';
2323
import {htmlFor} from '#core/dom/static-template';
2424
import {setStyle} from '#core/dom/style';
2525
import objstr from 'obj-str';

Diff for: extensions/amp-story-interactive/0.1/interactive-disclaimer.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222
* submit a PR with a new entry on the DisclaimerBackendList and tag @ampproject/wg-stories to review it.
2323
*/
2424

25-
import {LocalizedStringId} from '../../../src/localized-strings';
25+
import {LocalizedStringId} from '#service/localization/strings';
2626
import {htmlFor} from '#core/dom/static-template';
2727
import DisclaimerBackendsList from './disclaimer-backends-list.json' assert {type: 'json'}; // lgtm[js/syntax-error]
2828

Diff for: extensions/amp-story/1.0/amp-story-consent.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ import {
2222
import {ActionTrust} from '#core/constants/action-constants';
2323
import {CSS} from '../../../build/amp-story-consent-1.0.css';
2424
import {Layout} from '#core/dom/layout';
25-
import {LocalizedStringId} from '../../../src/localized-strings';
25+
import {LocalizedStringId} from '#service/localization/strings';
2626
import {Services} from '#service';
2727
import {assertAbsoluteHttpOrHttpsUrl, assertHttpsUrl} from '../../../src/url';
2828
import {

Diff for: extensions/amp-story/1.0/amp-story-draggable-drawer.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ import {
2222
} from './amp-story-store-service';
2323
import {CSS} from '../../../build/amp-story-draggable-drawer-header-1.0.css';
2424
import {Layout} from '#core/dom/layout';
25-
import {LocalizedStringId} from '../../../src/localized-strings';
25+
import {LocalizedStringId} from '#service/localization/strings';
2626
import {Services} from '#service';
2727
import {closest} from '#core/dom/query';
2828
import {createShadowRootWithStyle} from './utils';

Diff for: extensions/amp-story/1.0/amp-story-embedded-component.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ import {
3030
import {CSS} from '../../../build/amp-story-tooltip-1.0.css';
3131
import {EventType, dispatch} from './events';
3232
import {Keys} from '#core/constants/key-codes';
33-
import {LocalizedStringId} from '../../../src/localized-strings';
33+
import {LocalizedStringId} from '#service/localization/strings';
3434
import {Services} from '#service';
3535
import {addAttributesToElement, tryFocus} from '#core/dom';
3636
import {closest, matches} from '#core/dom/query';

Diff for: extensions/amp-story/1.0/amp-story-hint.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ import {
2121
UIType,
2222
getStoreService,
2323
} from './amp-story-store-service';
24-
import {LocalizedStringId} from '../../../src/localized-strings';
24+
import {LocalizedStringId} from '#service/localization/strings';
2525
import {Services} from '#service';
2626
import {createShadowRootWithStyle} from './utils';
2727
import {dict} from '#core/types/object';

Diff for: extensions/amp-story/1.0/amp-story-info-dialog.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ import {
2525
getStoreService,
2626
} from './amp-story-store-service';
2727
import {CSS} from '../../../build/amp-story-info-dialog-1.0.css';
28-
import {LocalizedStringId} from '../../../src/localized-strings';
28+
import {LocalizedStringId} from '#service/localization/strings';
2929
import {Services} from '#service';
3030
import {assertAbsoluteHttpOrHttpsUrl} from '../../../src/url';
3131
import {closest, matches} from '#core/dom/query';

Diff for: extensions/amp-story/1.0/amp-story-open-page-attachment.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818
* @fileoverview Helper for amp-story rendering of page-attachment UI.
1919
*/
2020
import {AttachmentTheme} from './amp-story-page-attachment';
21-
import {LocalizedStringId} from '../../../src/localized-strings';
21+
import {LocalizedStringId} from '#service/localization/strings';
2222
import {Services} from '#service';
2323
import {computedStyle, setImportantStyles} from '#core/dom/style';
2424
import {getLocalizationService} from './amp-story-localization-service';

Diff for: extensions/amp-story/1.0/amp-story-page-attachment.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
import {Action, StateProperty, UIType} from './amp-story-store-service';
1818
import {DraggableDrawer, DrawerState} from './amp-story-draggable-drawer';
1919
import {HistoryState, setHistoryState} from './history';
20-
import {LocalizedStringId} from '../../../src/localized-strings';
20+
import {LocalizedStringId} from '#service/localization/strings';
2121
import {Services} from '#service';
2222
import {StoryAnalyticsEvent, getAnalyticsService} from './story-analytics';
2323
import {buildOpenAttachmentElementLinkIcon} from './amp-story-open-page-attachment';

Diff for: extensions/amp-story/1.0/amp-story-page.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ import {Deferred} from '#core/data-structures/promise';
4848
import {EventType, dispatch} from './events';
4949
import {Layout} from '#core/dom/layout';
5050
import {LoadingSpinner} from './loading-spinner';
51-
import {LocalizedStringId} from '../../../src/localized-strings';
51+
import {LocalizedStringId} from '#service/localization/strings';
5252
import {MediaPool} from './media-pool';
5353
import {Services} from '#service';
5454
import {StoryAdSegmentTimes} from '#experiments/story-ad-progress-segment';

Diff for: extensions/amp-story/1.0/amp-story-share-menu.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ import {
2727
} from './amp-story-store-service';
2828
import {CSS} from '../../../build/amp-story-share-menu-1.0.css';
2929
import {Keys} from '#core/constants/key-codes';
30-
import {LocalizedStringId} from '../../../src/localized-strings';
30+
import {LocalizedStringId} from '#service/localization/strings';
3131
import {Services} from '#service';
3232
import {ShareWidget} from './amp-story-share';
3333
import {closest} from '#core/dom/query';

Diff for: extensions/amp-story/1.0/amp-story-share.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
* See the License for the specific language governing permissions and
1414
* limitations under the License.
1515
*/
16-
import {LocalizedStringId} from '../../../src/localized-strings';
16+
import {LocalizedStringId} from '#service/localization/strings';
1717
import {Services} from '#service';
1818
import {Toast} from './toast';
1919
import {

Diff for: extensions/amp-story/1.0/amp-story-system-layer.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ import {
2626
DevelopmentModeLog,
2727
DevelopmentModeLogButtonSet,
2828
} from './development-ui';
29-
import {LocalizedStringId} from '../../../src/localized-strings';
29+
import {LocalizedStringId} from '#service/localization/strings';
3030
import {ProgressBar} from './progress-bar';
3131
import {Services} from '#service';
3232
import {closest, matches, scopedQuerySelector} from '#core/dom/query';

Diff for: extensions/amp-story/1.0/amp-story-unsupported-browser-layer.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616

1717
import {Action, getStoreService} from './amp-story-store-service';
1818
import {CSS} from '../../../build/amp-story-unsupported-browser-layer-1.0.css';
19-
import {LocalizedStringId} from '../../../src/localized-strings';
19+
import {LocalizedStringId} from '#service/localization/strings';
2020
import {createShadowRootWithStyle} from './utils';
2121
import {dict} from '#core/types/object';
2222
import {removeElement} from '#core/dom';

Diff for: extensions/amp-story/1.0/amp-story-viewport-warning-layer.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
*/
1616

1717
import {CSS} from '../../../build/amp-story-viewport-warning-layer-1.0.css';
18-
import {LocalizedStringId} from '../../../src/localized-strings';
18+
import {LocalizedStringId} from '#service/localization/strings';
1919
import {Services} from '#service';
2020
import {
2121
StateProperty,

Diff for: extensions/amp-story/1.0/amp-story.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,7 @@ import {
8383
scopedQuerySelectorAll,
8484
} from '#core/dom/query';
8585
import {computedStyle, setImportantStyles, toggle} from '#core/dom/style';
86-
import {createPseudoLocale} from '../../../src/localized-strings';
86+
import {createPseudoLocale} from '#service/localization/strings';
8787
import {debounce} from '#core/types/function';
8888
import {dev, devAssert, user} from '../../../src/log';
8989
import {dict, map} from '#core/types/object';

Diff for: extensions/amp-story/1.0/pagination-buttons.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ import {
2121
} from './amp-story-store-service';
2222
import {AdvancementMode} from './story-analytics';
2323
import {EventType, dispatch} from './events';
24-
import {LocalizedStringId} from '../../../src/localized-strings';
24+
import {LocalizedStringId} from '#service/localization/strings';
2525
import {Services} from '#service';
2626
import {dev, devAssert} from '../../../src/log';
2727

Diff for: extensions/amp-story/1.0/simple-template.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
* See the License for the specific language governing permissions and
1414
* limitations under the License.
1515
*/
16-
import {LocalizedStringId} from '../../../src/localized-strings'; // eslint-disable-line no-unused-vars
16+
import {LocalizedStringId} from '#service/localization/strings'; // eslint-disable-line no-unused-vars
1717
import {createElementWithAttributes} from '#core/dom';
1818
import {devAssert} from '../../../src/log';
1919
import {getLocalizationService} from './amp-story-localization-service';

Diff for: extensions/amp-story/1.0/test/test-amp-story-localization-strings.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
* limitations under the License.
1515
*/
1616

17-
import {LocalizedStringId} from '../../../../src/localized-strings';
17+
import {LocalizedStringId} from '#service/localization/strings';
1818
import localesObjs from '../_locales';
1919

2020
describes.fakeWin('amp-story-localization-strings', {amp: true}, () => {

Diff for: src/OWNERS

-25
Original file line numberDiff line numberDiff line change
@@ -33,30 +33,5 @@
3333
{name: 'ampproject/wg-components'},
3434
],
3535
},
36-
{
37-
pattern: 'localized-strings.js',
38-
owners: [
39-
{
40-
name: 'gmajoulet',
41-
notify: true,
42-
},
43-
{
44-
name: 'newmuis',
45-
notify: true,
46-
},
47-
{
48-
name: 'enriqe',
49-
},
50-
{
51-
name: 'processprocess',
52-
},
53-
{
54-
name: 'mszylkowski',
55-
},
56-
{
57-
name: 'raxsha',
58-
},
59-
],
60-
},
6136
],
6237
}

Diff for: src/service/localization/OWNERS

+32
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
// For an explanation of the OWNERS rules and syntax, see:
2+
// https://github.com/ampproject/amp-github-apps/blob/main/owners/OWNERS.example
3+
4+
{
5+
rules: [
6+
{
7+
pattern: 'strings.js',
8+
owners: [
9+
{
10+
name: 'gmajoulet',
11+
notify: true,
12+
},
13+
{
14+
name: 'newmuis',
15+
notify: true,
16+
},
17+
{
18+
name: 'enriqe',
19+
},
20+
{
21+
name: 'processprocess',
22+
},
23+
{
24+
name: 'mszylkowski',
25+
},
26+
{
27+
name: 'raxsha',
28+
},
29+
],
30+
},
31+
],
32+
}

Diff for: src/service/localization.js renamed to src/service/localization/index.js

+4-4
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
// compiler does not output types for enums, but we want to distinguish between
1818
// LocalizedStringId enum values and any other strings.
1919
// eslint-disable-next-line no-unused-vars
20-
import {LocalizedStringId} from '../localized-strings';
20+
import {LocalizedStringBundleDef, LocalizedStringId} from './strings';
2121
import {Services} from '#service';
2222
import {closest} from '#core/dom/query';
2323

@@ -35,7 +35,7 @@ const LANGUAGE_CODE_CHUNK_REGEX = /\w+/gi;
3535
/**
3636
* Gets the string matching the specified localized string ID in the language
3737
* specified.
38-
* @param {!Object<string, !../localized-strings.LocalizedStringBundleDef>} localizedStringBundles
38+
* @param {!Object<string, !LocalizedStringBundleDef>} localizedStringBundles
3939
* @param {!Array<string>} languageCodes
4040
* @param {!LocalizedStringId} localizedStringId
4141
* @return {?string}
@@ -102,7 +102,7 @@ export class LocalizationService {
102102

103103
/**
104104
* A mapping of language code to localized string bundle.
105-
* @private @const {!Object<string, !../localized-strings.LocalizedStringBundleDef>}
105+
* @private @const {!Object<string, !LocalizedStringBundleDef>}
106106
*/
107107
this.localizedStringBundles_ = {};
108108
}
@@ -127,7 +127,7 @@ export class LocalizationService {
127127
/**
128128
* @param {string} languageCode The language code to associate with the
129129
* specified localized string bundle.
130-
* @param {!../localized-strings.LocalizedStringBundleDef} localizedStringBundle
130+
* @param {!LocalizedStringBundleDef} localizedStringBundle
131131
* The localized string bundle to register.
132132
* @return {!LocalizationService} For chaining.
133133
*/

Diff for: src/localized-strings.js renamed to src/service/localization/strings.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
* See the License for the specific language governing permissions and
1414
* limitations under the License.
1515
*/
16-
import {parseJson} from './core/types/object/json';
16+
import {parseJson} from '#core/types/object/json';
1717

1818
/**
1919
* A unique identifier for each localized string. Localized string IDs should:

Diff for: test/unit/test-localization.js

+2-1
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,8 @@ import {
2121
import {
2222
LocalizedStringId,
2323
createPseudoLocale,
24-
} from '../../src/localized-strings';
24+
} from '#service/localization/strings';
25+
2526
import {Services} from '#service';
2627

2728
describes.fakeWin('localization', {amp: true}, (env) => {

0 commit comments

Comments
 (0)