Skip to content

Commit

Permalink
german localization
Browse files Browse the repository at this point in the history
use csv for localization

use single quotes for non-translatable strings
  • Loading branch information
nbelyh committed Jan 26, 2023
1 parent 2cb35b3 commit a8a3faa
Show file tree
Hide file tree
Showing 11 changed files with 138 additions and 134 deletions.
4 changes: 2 additions & 2 deletions config/config.json
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@
}
},
"localizedResources": {
"WebPartStrings": "./src/loc/{locale}.js",
"ControlStrings": "./src/min-sp-controls-react/loc/{locale}.js"
"WebPartStrings": "src/loc/{locale}.js",
"ControlStrings": "src/min-sp-controls-react/loc/{locale}.js"
}
}
Binary file added spfx-locale.xlsx
Binary file not shown.
6 changes: 3 additions & 3 deletions src/WebPart/PropertyPaneSizeFieldComponent.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -72,13 +72,13 @@ export function PropertyPaneSizeFieldComponent(props: {
};

return (
<Stack tokens={{ childrenGap: "s2" }}>
<Stack horizontal tokens={{ childrenGap: "s2" }}>
<Stack tokens={{ childrenGap: 's2' }}>
<Stack horizontal tokens={{ childrenGap: 's2' }}>
<Stack.Item grow>
<TextField label={props.label} value={number} onChange={onNumberChanged} />
</Stack.Item>
<Stack.Item align='end'>
<Dropdown style={{ minWidth: "10em" }} options={unitsOptions} selectedKey={units} disabled={number === ''} onChange={onUnitChanged} />
<Dropdown style={{ minWidth: '10em' }} options={unitsOptions} selectedKey={units} disabled={number === ''} onChange={onUnitChanged} />
</Stack.Item>
</Stack>
<Text variant='small' >{props.description}</Text>
Expand Down
10 changes: 5 additions & 5 deletions src/WebPart/PropertyPaneUrlField.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,13 @@ import * as React from 'react';
import * as ReactDom from 'react-dom';
import { IPropertyPaneField, PropertyPaneFieldType, IPropertyPaneCustomFieldProps } from '@microsoft/sp-property-pane';

import "@pnp/sp/webs";
import "@pnp/sp/folders";
import "@pnp/sp/lists";
import "@pnp/sp/files";
import '@pnp/sp/webs';
import '@pnp/sp/folders';
import '@pnp/sp/lists';
import '@pnp/sp/files';
import { WebPartContext } from '@microsoft/sp-webpart-base';
import { PropertyPaneUrlFieldComponent } from './PropertyPaneUrlFieldComponent';
import { IDefaultFolder } from "./IDefaultFolder";
import { IDefaultFolder } from './IDefaultFolder';

export function PropertyPaneUrlField(targetProperty: string, props: {
url: string;
Expand Down
13 changes: 7 additions & 6 deletions src/WebPart/PropertyPaneUrlFieldComponent.tsx
Original file line number Diff line number Diff line change
@@ -1,17 +1,18 @@
import * as React from 'react';
import { FilePicker, IFilePickerResult } from './../min-sp-controls-react/controls/filePicker';

import { sp } from "@pnp/sp";
import "@pnp/sp/webs";
import "@pnp/sp/folders";
import "@pnp/sp/lists";
import "@pnp/sp/files";
import { sp } from '@pnp/sp';
import '@pnp/sp/webs';
import '@pnp/sp/folders';
import '@pnp/sp/lists';
import '@pnp/sp/files';
import { WebPartContext } from '@microsoft/sp-webpart-base';
import { FolderExplorer, IFolder } from '../min-sp-controls-react/controls/folderExplorer';
import { IDefaultFolder } from './IDefaultFolder';
import { Stack } from '@fluentui/react/lib/Stack';
import { Text } from '@fluentui/react/lib/Text';
import { mergeStyles } from '@fluentui/react';
import * as strings from 'WebPartStrings';

export function PropertyPaneUrlFieldComponent(props: {
url: string;
Expand Down Expand Up @@ -99,7 +100,7 @@ export function PropertyPaneUrlFieldComponent(props: {
return (
<Stack tokens={{ childrenGap: 's2' }}>
<FilePicker
label={"Visio Document"}
label={strings.VisioDocument}
accepts={[".vsd", ".vsdx", ".vsdm"]}
buttonLabel="Browse..."
onSave={(filePickerResult: IFilePickerResult[]) => onUploadFile(filePickerResult)}
Expand Down
2 changes: 1 addition & 1 deletion src/WebPart/PropertyPaneVersionField.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ export function PropertyPaneVersionField(version: string): IPropertyPaneField<IP
targetProperty: '',
type: PropertyPaneFieldType.Custom,
properties: {
key: "version",
key: 'version',
// eslint-disable-next-line @typescript-eslint/no-unused-vars
onRender: (parent: HTMLElement, context: any, changeCallback: (targetProperty: string, newValue: any) => void) => {
const elem = (
Expand Down
38 changes: 19 additions & 19 deletions src/WebPart/TopFrame.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ import * as React from 'react';
import styles from './TopFrame.module.scss';
import { WebPartContext } from '@microsoft/sp-webpart-base';
import { IWebPartProps } from './WebPart';
import { SPHttpClient } from "@microsoft/sp-http";
import { SPHttpClient } from '@microsoft/sp-http';
import { Placeholder } from '../min-sp-controls-react/controls/placeholder';
import { MessageBar, MessageBarType, ThemeProvider } from '@fluentui/react';
import * as strings from 'WebPartStrings';
Expand Down Expand Up @@ -81,7 +81,7 @@ export function TopFrame(props: ITopFrameProps) {
session.init().then(() => Visio.run(session, (ctx) => init(session, ctx)));

return () => {
root.innerHTML = "";
root.innerHTML = '';
};
} else {
enablePropsChanged.current = true;
Expand All @@ -95,9 +95,9 @@ export function TopFrame(props: ITopFrameProps) {
const apiUrl = `${props.context.pageContext.web.absoluteUrl}/_api/SP.RemoteWeb(@a1)/Web/GetFileByUrl(@a1)/ListItemAllFields/GetWopiFrameUrl(0)?@a1='${encodeURIComponent(fileUrl)}'`;
const oneDriveWopiFrameResult = await props.context.spHttpClient.post(apiUrl, SPHttpClient.configurations.v1, {
headers: {
"accept": "application/json;odata=nometadata",
"content-type": "application/json;odata=nometadata",
"odata-version": ""
'accept': 'application/json;odata=nometadata',
'content-type': 'application/json;odata=nometadata',
'odata-version': ''
}
});

Expand All @@ -106,9 +106,9 @@ export function TopFrame(props: ITopFrameProps) {
throw new Error(`${strings.messageVisioFileNotFound} ${fileUrl} ${strings.messageWasTheFileDeleted}`);
}
if (oneDriveWopiFrameResult.status === 403) {
throw new Error(`${strings.messageVisioFileCannotAccessed} ${fileUrl} ${strings.messageArePermissionsMissing}`); // "The Visio file this web part is connected to cannot be accessed at the URL" // "Are some permissions missing?",
throw new Error(`${strings.messageVisioFileCannotAccessed} ${fileUrl} ${strings.messageArePermissionsMissing}`);
}
throw new Error(`${strings.messageSomethingWentWrongResolveURL} ${fileUrl}. Status='${oneDriveWopiFrameResult.status}'`); // "Something went wrong when resolving file URL:",
throw new Error(`${strings.messageSomethingWentWrongResolveURL} ${fileUrl}. Status='${oneDriveWopiFrameResult.status}'`);
}

const oneDriveWopiFrameData = await oneDriveWopiFrameResult.json();
Expand All @@ -117,8 +117,8 @@ export function TopFrame(props: ITopFrameProps) {
}

const result = oneDriveWopiFrameData.value
.replace("action=view", "action=embedview")
.replace("action=default", "action=embedview");
.replace('action=view', 'action=embedview')
.replace('action=default', 'action=embedview');

return result;
}
Expand Down Expand Up @@ -147,21 +147,21 @@ export function TopFrame(props: ITopFrameProps) {
const showPlaceholder = !props.url || loadError;

const placeholderIconName = loadError
? strings.Error // "Error"
: strings.Edit // "Edit";
? strings.Error
: strings.Edit;

const placeholderIconText = loadError
? strings.placeholderIconTextUnableShowVisio // "Unable to show this Visio diagram"
: strings.placeholderIconTextVisioNotSelected // "Visio diagram not selected";
? strings.placeholderIconTextUnableShowVisio
: strings.placeholderIconTextVisioNotSelected

const placeholderDescription = props.isPropertyPaneOpen
? strings.placeholderIconTextPleaseclickBrowse //`Please click 'Browse...' Button on configuration panel to select the diagram.`
? strings.placeholderIconTextPleaseclickBrowse
: props.isReadOnly
? (props.isTeams
? strings.placeholderIconTextPleaseclickSettings //`Please click 'Settings' menu on the Tab to reconfigure this web part.`
: strings.placeholderIconTextPleaseclickEdit // `Please click 'Edit' to start page editing to reconfigure this web part.`
)
: strings.placeholderIconTextPleaseclickConfigure //`Click 'Configure' button to reconfigure this web part.`;
? strings.placeholderIconTextPleaseclickSettings
: strings.placeholderIconTextPleaseclickEdit
)
: strings.placeholderIconTextPleaseclickConfigure

return (
<ThemeProvider className={styles.root} style={rootStyle} ref={ref}>
Expand All @@ -170,7 +170,7 @@ export function TopFrame(props: ITopFrameProps) {
iconName={placeholderIconName}
iconText={placeholderIconText}
description={placeholderDescription}
buttonLabel={strings.FieldConfigureLabel} // Configure
buttonLabel={strings.FieldConfigureLabel}
onConfigure={() => props.onConfigure()}
hideButton={props.isReadOnly}
disableButton={props.isPropertyPaneOpen}
Expand Down
8 changes: 4 additions & 4 deletions src/WebPart/WebPart.ts
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
import * as React from 'react';
import * as ReactDom from 'react-dom';
import { DisplayMode, Version } from '@microsoft/sp-core-library';
import { BaseClientSideWebPart } from "@microsoft/sp-webpart-base";
import { IPropertyPaneConfiguration, PropertyPaneTextField, PropertyPaneToggle } from "@microsoft/sp-property-pane";
import { BaseClientSideWebPart } from '@microsoft/sp-webpart-base';
import { IPropertyPaneConfiguration, PropertyPaneTextField, PropertyPaneToggle } from '@microsoft/sp-property-pane';
import { sp } from '@pnp/sp';

require('VisioEmbed');
Expand Down Expand Up @@ -57,7 +57,7 @@ export default class WebPart extends BaseClientSideWebPart<IWebPartProps> {
if (viewUrl.startsWith(webUrl))
viewUrl = viewUrl.substring(webUrl.length);

const pos = viewUrl.indexOf("/Forms/");
const pos = viewUrl.indexOf('/Forms/');
if (pos >= 0) {
const docLibPath = viewUrl.substring(0, pos);
return this.defaultFolder = {
Expand Down Expand Up @@ -178,7 +178,7 @@ export default class WebPart extends BaseClientSideWebPart<IWebPartProps> {
]
},
{
groupName: strings.PropertyPaneLabelAppearance, // Appearance
groupName: strings.PropertyPaneLabelAppearance, // Appearance
groupFields: [
PropertyPaneSizeField('width', {
label: strings.FieldWidth,
Expand Down
95 changes: 48 additions & 47 deletions src/loc/de-de.js
Original file line number Diff line number Diff line change
@@ -1,49 +1,50 @@
define([], function () {
define([], function() {
return {
"BasicGroupName": "Grundeinstellungen",
"FieldWidth": "Diagram Breite",
"FieldHeight": "Diagram Höhe",
"FieldZoom": "Standard Zoom (%)",
"View": "Ansicht",
"FieldVisioFile": "Visio Datei",
"FieldVisioFileBrowse": "Öffnen...",
"FieldStartPage": "Initiale Seite",
"PropertyPaneLabelDrawingDisplay": "Zeichnungsansicht",
"PropertyPaneLabelAppearance": "Aussehen",
"PropertyPaneLabelInteractivity": "Interaktivität",
"PropertyPaneLabelAbout": "Über",
"PropertyPaneLabelhideToolbars": "Verstecke Toolbars",
"PropertyPaneLabelhideDiagramBoundary": "Verstecke Diagramm Rand",
"PropertyPaneLabelhideBorders": "Verstecke Rahmen",
"PropertyPaneLabeldisableHyperlinks": "Deaktiviere Hyperlinks",
"PropertyPaneLabeldisablePan": "Deaktiviere Pan",
"PropertyPaneLabeldisableZoom": "Deaktiviere Zoom",
"PropertyPaneLabeldisablePanZoomWindow": "Deaktiviere PanZoom Fenster",
"FieldHeightDescription": "Specify height value and units",
"FieldWidthDescription": "Specify width value and units",
"FieldStartPageDescription": "Gibt die Seite (Name) an, die beim Start geladen wird.",
"FieldZoomDescription": "Gibt die Zoom Stärke (%) beim laden der Grafik an.",
"FieldConfigureLabel": "Konfigurieren",
"Error": "Fehler",
"Edit": "Editieren",
"placeholderIconTextUnableShowVisio": "Kann das Visio Diagramm nicht anzeigen.",
"placeholderIconTextVisioNotSelected": "Noch kein Visio Diagramm ausgewählt.",
"placeholderIconTextPleaseclickBrowse": "Bitte klick auf die 'Öffnen...' Schaltfläche im Konfigurationspanel um das Diagramm auszuwählen.",
"placeholderIconTextPleaseclickSettings": "Bitte klick auf 'Einstellungen' im Tab um dieses Web Part zu konfigurieren.",
"placeholderIconTextPleaseclickEdit": "Bitte klick 'Editieren' und starte das Bearbeiten der Seite um den Web Part zu konfigurieren.",
"placeholderIconTextPleaseclickConfigure": "Klicke auf die 'Konfigurieren' Schaltfläche um dieses Web Part zu konfigurieren.",
"messageWasTheFileDeleted": "Wurde die Datei gelöscht?",
"messageArePermissionsMissing": "Fehlen Berechtigungen zum Öffnen?",
"messageSomethingWentWrongResolveURL": "Irgendetwas ist schief gelaufen beim Auflösen der URL:",
"messageCannotResolveFileURL": "Kann die Datei URL nicht auflösen:",
"messageVisioFileNotFound": "Die mit diesem Web Part verknüpfte Visio Datei wurde nicht gefunden.",
"messageVisioFileCannotAccessed": "Auf die mit diesem Web Part verknüpfte Visio Datei kann nicht zugegriffen werden.",
"percOfScreen": "% vom Bildschirm",
"percOfFrame": "% vom Widgetbereich",
"centimeters": "Zentimeter",
"inches": "Inch",
"millimeters": "Millimeter",
"points": "Punkte",
"pixels": "Pixel"
}
BasicGroupName: "Grundeinstellungen",
centimeters: "Zentimeter",
Edit: "Editieren",
Error: "Fehler",
FieldConfigureLabel: "Konfigurieren",
FieldHeight: "Diagram Höhe",
FieldHeightDescription: "Specify height value and units",
FieldStartPage: "Initiale Seite",
FieldStartPageDescription: "Gibt die Seite (Name) an, die beim Start geladen wird.",
FieldVisioFile: "Visio Datei",
FieldVisioFileBrowse: "Öffnen...",
FieldWidth: "Diagram Breite",
FieldWidthDescription: "Specify width value and units",
FieldZoom: "Standard Zoom (%)",
FieldZoomDescription: "Gibt die Zoom Stärke (%) beim laden der Grafik an.",
inches: "Inch",
messageArePermissionsMissing: "Fehlen Berechtigungen zum Öffnen?",
messageCannotResolveFileURL: "Kann die Datei URL nicht auflösen:",
messageSomethingWentWrongResolveURL: "Irgendetwas ist schief gelaufen beim Auflösen der URL:",
messageVisioFileCannotAccessed: "Auf die mit diesem Web Part verknüpfte Visio Datei kann nicht zugegriffen werden.",
messageVisioFileNotFound: "Die mit diesem Web Part verknüpfte Visio Datei wurde nicht gefunden.",
messageWasTheFileDeleted: "Wurde die Datei gelöscht?",
millimeters: "Millimeter",
percOfFrame: "% vom Widgetbereich",
percOfScreen: "% vom Bildschirm",
pixels: "Pixel",
placeholderIconTextPleaseclickBrowse: "Bitte klick auf die 'Öffnen...' Schaltfläche im Konfigurationspanel um das Diagramm auszuwählen.",
placeholderIconTextPleaseclickConfigure: "Klicke auf die 'Konfigurieren' Schaltfläche um dieses Web Part zu konfigurieren.",
placeholderIconTextPleaseclickEdit: "Bitte klick 'Editieren' und starte das Bearbeiten der Seite um den Web Part zu konfigurieren.",
placeholderIconTextPleaseclickSettings: "Bitte klick auf 'Einstellungen' im Tab um dieses Web Part zu konfigurieren.",
placeholderIconTextUnableShowVisio: "Kann das Visio Diagramm nicht anzeigen.",
placeholderIconTextVisioNotSelected: "Noch kein Visio Diagramm ausgewählt.",
points: "Punkte",
PropertyPaneLabelAbout: "Über",
PropertyPaneLabelAppearance: "Aussehen",
PropertyPaneLabeldisableHyperlinks: "Deaktiviere Hyperlinks",
PropertyPaneLabeldisablePan: "Deaktiviere Pan",
PropertyPaneLabeldisablePanZoomWindow: "Deaktiviere PanZoom Fenster",
PropertyPaneLabeldisableZoom: "Deaktiviere Zoom",
PropertyPaneLabelDrawingDisplay: "Zeichnungsansicht",
PropertyPaneLabelhideBorders: "Verstecke Rahmen",
PropertyPaneLabelhideDiagramBoundary: "Verstecke Diagramm Rand",
PropertyPaneLabelhideToolbars: "Verstecke Toolbars",
PropertyPaneLabelInteractivity: "Interaktivität",
View: "Ansicht",
VisioDocument: "Visio Document"
};
});
Loading

0 comments on commit a8a3faa

Please sign in to comment.