mirror of
https://github.com/tooot-app/app
synced 2025-04-16 19:27:29 +02:00
Added Spanish translation
This commit is contained in:
parent
64762d4670
commit
1b2e651117
@ -11,6 +11,8 @@ Please **do not** create a pull request to update translation. tooot's translati
|
|||||||
|
|
||||||
## Special thanks
|
## Special thanks
|
||||||
|
|
||||||
|
[@amrtf](https://crowdin.com/profile/amrtf) for Spanish translation
|
||||||
|
|
||||||
[@pat](https://piaille.fr/@pat) for French translation
|
[@pat](https://piaille.fr/@pat) for French translation
|
||||||
|
|
||||||
[@forenta](https://github.com/forenta) for German translation
|
[@forenta](https://github.com/forenta) for German translation
|
||||||
|
2
ios/es.lproj/InfoPlist.strings
Normal file
2
ios/es.lproj/InfoPlist.strings
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
"NSPhotoLibraryAddUsageDescription" = "Permita que tooot guarde imágenes en el rollo de su cámara";
|
||||||
|
"NSPhotoLibraryUsageDescription" = "Permita que tooot guarde imágenes en el rollo de su cámara";
|
@ -78,6 +78,7 @@
|
|||||||
E633A431281EB55C000E540F /* ShareExtension-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "ShareExtension-Bridging-Header.h"; sourceTree = "<group>"; };
|
E633A431281EB55C000E540F /* ShareExtension-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "ShareExtension-Bridging-Header.h"; sourceTree = "<group>"; };
|
||||||
E66C0842291F095800DFFF60 /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = fr.lproj/InfoPlist.strings; sourceTree = "<group>"; };
|
E66C0842291F095800DFFF60 /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = fr.lproj/InfoPlist.strings; sourceTree = "<group>"; };
|
||||||
E671BDF8290EAFB800287BD0 /* zh-Hant */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hant"; path = "zh-Hant.lproj/InfoPlist.strings"; sourceTree = "<group>"; };
|
E671BDF8290EAFB800287BD0 /* zh-Hant */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hant"; path = "zh-Hant.lproj/InfoPlist.strings"; sourceTree = "<group>"; };
|
||||||
|
E690AF692926B737002C38A8 /* es */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = es; path = es.lproj/InfoPlist.strings; sourceTree = "<group>"; };
|
||||||
E69EBACA28DF282D0057EDEC /* de */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = de; path = de.lproj/InfoPlist.strings; sourceTree = "<group>"; };
|
E69EBACA28DF282D0057EDEC /* de */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = de; path = de.lproj/InfoPlist.strings; sourceTree = "<group>"; };
|
||||||
E69EBACB28DF283A0057EDEC /* it */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = it; path = it.lproj/InfoPlist.strings; sourceTree = "<group>"; };
|
E69EBACB28DF283A0057EDEC /* it */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = it; path = it.lproj/InfoPlist.strings; sourceTree = "<group>"; };
|
||||||
E69EBACC28DF28420057EDEC /* ko */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ko; path = ko.lproj/InfoPlist.strings; sourceTree = "<group>"; };
|
E69EBACC28DF28420057EDEC /* ko */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ko; path = ko.lproj/InfoPlist.strings; sourceTree = "<group>"; };
|
||||||
@ -293,6 +294,7 @@
|
|||||||
ja,
|
ja,
|
||||||
"zh-Hant",
|
"zh-Hant",
|
||||||
fr,
|
fr,
|
||||||
|
es,
|
||||||
);
|
);
|
||||||
mainGroup = 83CBB9F61A601CBA00E9B192;
|
mainGroup = 83CBB9F61A601CBA00E9B192;
|
||||||
productRefGroup = 83CBBA001A601CBA00E9B192 /* Products */;
|
productRefGroup = 83CBBA001A601CBA00E9B192 /* Products */;
|
||||||
@ -522,6 +524,7 @@
|
|||||||
E6C8B26628F5F9FC0062CF2E /* ja */,
|
E6C8B26628F5F9FC0062CF2E /* ja */,
|
||||||
E671BDF8290EAFB800287BD0 /* zh-Hant */,
|
E671BDF8290EAFB800287BD0 /* zh-Hant */,
|
||||||
E66C0842291F095800DFFF60 /* fr */,
|
E66C0842291F095800DFFF60 /* fr */,
|
||||||
|
E690AF692926B737002C38A8 /* es */,
|
||||||
);
|
);
|
||||||
name = InfoPlist.strings;
|
name = InfoPlist.strings;
|
||||||
sourceTree = "<group>";
|
sourceTree = "<group>";
|
||||||
|
18
src/i18n/es/index.ts
Normal file
18
src/i18n/es/index.ts
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
export default {
|
||||||
|
common: require('./common'),
|
||||||
|
|
||||||
|
screens: require('./screens'),
|
||||||
|
screenActions: require('./screens/actions'),
|
||||||
|
screenAnnouncements: require('./screens/announcements'),
|
||||||
|
screenCompose: require('./screens/compose'),
|
||||||
|
screenImageViewer: require('./screens/imageViewer'),
|
||||||
|
screenTabs: require('./screens/tabs'),
|
||||||
|
|
||||||
|
componentContextMenu: require('./components/contextMenu'),
|
||||||
|
componentEmojis: require('./components/emojis'),
|
||||||
|
componentInstance: require('./components/instance'),
|
||||||
|
componentMediaSelector: require('./components/mediaSelector'),
|
||||||
|
componentParse: require('./components/parse'),
|
||||||
|
componentRelationship: require('./components/relationship'),
|
||||||
|
componentTimeline: require('./components/timeline')
|
||||||
|
}
|
@ -3,6 +3,7 @@ import { initReactI18next } from 'react-i18next'
|
|||||||
|
|
||||||
import de from '@root/i18n/de'
|
import de from '@root/i18n/de'
|
||||||
import en from '@root/i18n/en'
|
import en from '@root/i18n/en'
|
||||||
|
import es from '@root/i18n/es'
|
||||||
import fr from '@root/i18n/fr'
|
import fr from '@root/i18n/fr'
|
||||||
import it from '@root/i18n/it'
|
import it from '@root/i18n/it'
|
||||||
import ja from '@root/i18n/ja'
|
import ja from '@root/i18n/ja'
|
||||||
@ -18,6 +19,7 @@ import '@formatjs/intl-locale/polyfill'
|
|||||||
import '@formatjs/intl-pluralrules/polyfill'
|
import '@formatjs/intl-pluralrules/polyfill'
|
||||||
import '@formatjs/intl-pluralrules/locale-data/de'
|
import '@formatjs/intl-pluralrules/locale-data/de'
|
||||||
import '@formatjs/intl-pluralrules/locale-data/en'
|
import '@formatjs/intl-pluralrules/locale-data/en'
|
||||||
|
import '@formatjs/intl-pluralrules/locale-data/es'
|
||||||
import '@formatjs/intl-pluralrules/locale-data/fr'
|
import '@formatjs/intl-pluralrules/locale-data/fr'
|
||||||
import '@formatjs/intl-pluralrules/locale-data/it'
|
import '@formatjs/intl-pluralrules/locale-data/it'
|
||||||
import '@formatjs/intl-pluralrules/locale-data/ja'
|
import '@formatjs/intl-pluralrules/locale-data/ja'
|
||||||
@ -29,6 +31,7 @@ import '@formatjs/intl-pluralrules/locale-data/zh'
|
|||||||
import '@formatjs/intl-numberformat/polyfill'
|
import '@formatjs/intl-numberformat/polyfill'
|
||||||
import '@formatjs/intl-numberformat/locale-data/de'
|
import '@formatjs/intl-numberformat/locale-data/de'
|
||||||
import '@formatjs/intl-numberformat/locale-data/en'
|
import '@formatjs/intl-numberformat/locale-data/en'
|
||||||
|
import '@formatjs/intl-numberformat/locale-data/es'
|
||||||
import '@formatjs/intl-numberformat/locale-data/fr'
|
import '@formatjs/intl-numberformat/locale-data/fr'
|
||||||
import '@formatjs/intl-numberformat/locale-data/it'
|
import '@formatjs/intl-numberformat/locale-data/it'
|
||||||
import '@formatjs/intl-numberformat/locale-data/ja'
|
import '@formatjs/intl-numberformat/locale-data/ja'
|
||||||
@ -41,6 +44,7 @@ import '@formatjs/intl-numberformat/locale-data/zh-Hant'
|
|||||||
import '@formatjs/intl-datetimeformat/polyfill'
|
import '@formatjs/intl-datetimeformat/polyfill'
|
||||||
import '@formatjs/intl-datetimeformat/locale-data/de'
|
import '@formatjs/intl-datetimeformat/locale-data/de'
|
||||||
import '@formatjs/intl-datetimeformat/locale-data/en'
|
import '@formatjs/intl-datetimeformat/locale-data/en'
|
||||||
|
import '@formatjs/intl-datetimeformat/locale-data/es'
|
||||||
import '@formatjs/intl-datetimeformat/locale-data/fr'
|
import '@formatjs/intl-datetimeformat/locale-data/fr'
|
||||||
import '@formatjs/intl-datetimeformat/locale-data/it'
|
import '@formatjs/intl-datetimeformat/locale-data/it'
|
||||||
import '@formatjs/intl-datetimeformat/locale-data/ja'
|
import '@formatjs/intl-datetimeformat/locale-data/ja'
|
||||||
@ -54,6 +58,7 @@ import '@formatjs/intl-datetimeformat/add-all-tz'
|
|||||||
import '@formatjs/intl-relativetimeformat/polyfill'
|
import '@formatjs/intl-relativetimeformat/polyfill'
|
||||||
import '@formatjs/intl-relativetimeformat/locale-data/de'
|
import '@formatjs/intl-relativetimeformat/locale-data/de'
|
||||||
import '@formatjs/intl-relativetimeformat/locale-data/en'
|
import '@formatjs/intl-relativetimeformat/locale-data/en'
|
||||||
|
import '@formatjs/intl-relativetimeformat/locale-data/es'
|
||||||
import '@formatjs/intl-relativetimeformat/locale-data/fr'
|
import '@formatjs/intl-relativetimeformat/locale-data/fr'
|
||||||
import '@formatjs/intl-relativetimeformat/locale-data/it'
|
import '@formatjs/intl-relativetimeformat/locale-data/it'
|
||||||
import '@formatjs/intl-relativetimeformat/locale-data/ja'
|
import '@formatjs/intl-relativetimeformat/locale-data/ja'
|
||||||
@ -70,7 +75,19 @@ i18n.use(initReactI18next).init({
|
|||||||
ns: ['common'],
|
ns: ['common'],
|
||||||
defaultNS: 'common',
|
defaultNS: 'common',
|
||||||
|
|
||||||
resources: { de, en, fr, it, ja, ko, 'pt-BR': pt_BR, vi, 'zh-Hans': zh_Hans, 'zh-Hant': zh_Hant },
|
resources: {
|
||||||
|
de,
|
||||||
|
en,
|
||||||
|
es,
|
||||||
|
fr,
|
||||||
|
it,
|
||||||
|
ja,
|
||||||
|
ko,
|
||||||
|
'pt-BR': pt_BR,
|
||||||
|
vi,
|
||||||
|
'zh-Hans': zh_Hans,
|
||||||
|
'zh-Hant': zh_Hant
|
||||||
|
},
|
||||||
returnEmptyString: false,
|
returnEmptyString: false,
|
||||||
|
|
||||||
saveMissing: true,
|
saveMissing: true,
|
||||||
|
@ -1,14 +1,15 @@
|
|||||||
const LOCALES = {
|
const LOCALES = {
|
||||||
de: 'Deutsch',
|
de: 'Deutsch',
|
||||||
en: 'English',
|
en: 'English',
|
||||||
|
es: 'Español',
|
||||||
fr: 'Français',
|
fr: 'Français',
|
||||||
it: 'Italiano',
|
it: 'Italiano',
|
||||||
ja: '日本語',
|
ja: '日本語',
|
||||||
ko: '한국어',
|
ko: '한국어',
|
||||||
'pt-BR': 'Português (Brasil)',
|
'pt-br': 'Português (Brasil)',
|
||||||
vi: 'Tiếng Việt',
|
vi: 'Tiếng Việt',
|
||||||
'zh-Hans': '简体中文',
|
'zh-hans': '简体中文',
|
||||||
'zh-Hant': '繁體中文'
|
'zh-hant': '繁體中文'
|
||||||
}
|
}
|
||||||
|
|
||||||
export { LOCALES }
|
export { LOCALES }
|
||||||
|
@ -45,8 +45,12 @@ const SettingsApp: React.FC = () => {
|
|||||||
/>
|
/>
|
||||||
<MenuRow
|
<MenuRow
|
||||||
title={t('me.settings.language.heading')}
|
title={t('me.settings.language.heading')}
|
||||||
// @ts-ignore
|
content={
|
||||||
content={LOCALES[Platform.OS === 'ios' ? Localization.locale : i18n.language]}
|
// @ts-ignore
|
||||||
|
LOCALES[
|
||||||
|
Platform.OS === 'ios' ? Localization.locale.toLowerCase() : i18n.language.toLowerCase()
|
||||||
|
]
|
||||||
|
}
|
||||||
iconBack='ChevronRight'
|
iconBack='ChevronRight'
|
||||||
onPress={() =>
|
onPress={() =>
|
||||||
Platform.OS === 'ios'
|
Platform.OS === 'ios'
|
||||||
|
Loading…
x
Reference in New Issue
Block a user